En configurant un fichier HTACCESS dans votre espace Web, vous contribuer déjà à limiter les premières attaques de tous les jours sur votre site. Dans cet article nous vous présentons quelques configurations qui vont certainement rendre votre site différent des autres de par sa protection.
Interdire l’accès au fichier .htaccess depuis un navigateur web
<Files .htaccess>
order allow,deny
deny from all
</Files>
Interdire l'affichage de certains fichiers ou dossiers
Par exemple:
config, option, login, setup, install, admin, home, default, xmlrpc
NB: Ceci est à adapter si cela vous pose un problàme, notamment retirez wp-(login|admin|config)| si vous utilisez wordpress
<Files ~ "^(wp-(login|admin|config)|config(\.inc)?|install?|admin|login|configure|configuration|options?\.inc|option|settings?(\.inc)?|functions?(\.inc)?|setup(\.inc)?|default|home|xmlrpc|bigdump|uploadTester|errors?|test|data|members?|hacke?r?d?|[-_a-z0-9.]*mafia[-_a-z0-9.]*|[-_a-z0-9.]*power[-_a-z0-9.]*|[-_a-z0-9.]*jihad[-_a-z0-9.]*|php|shell|ssh|root|cmd|[0-9]{1,6})\.(p?s?x?htm?l?|txt|aspx?|cfml?|cgi|pl|php[3-9]{0,1}|jsp?|sql|xml)$">
order allow,deny
deny from all
</Files>
Interdire l'affichage de certains formats de fichiers
Ces fichiers peuvent bien entendu être exécutés par le serveur mais interdit d'affichage par le navigateur web.
<Files ~ "\.(inc|class|sql|ini|conf|exe|dll|bin|tpl|bkp|dat|c|h|py|spd|theme|module|mdb|rar|bash|git|hg|log|svn|swp|cvs)$">
deny from all
</Files>
Définissez le fichier par défaut
Seul le fichier INDEX.PHP est servi comme premier fichier par defaut. les autres sont interdits
DirectoryIndex index.php
Desactivez les methodes de requetes indésirables
Dans cet exemple, nous avons désactivé les metodes TRACE, DELETE,TRACK et PUT. Vous pouvez en ajouter d'autres ou alors en suprimmer en fonction de vos besoins
RewriteCond %{REQUEST_METHOD} ^(TRACE|DELETE|TRACK|PUT) [NC]
RewriteRule (.*) - [F]
Neutralisation de faux liens ou de systèmes obsolètes
RedirectMatch 403 (\.\./|base64|boot\.ini|eval\(|\(null\)|^[-_a-z0-9/\.]*//.*|/etc/passwd|^/_vti.*|^/MSOffice.*|/fckeditor/|/elfinder/|zoho/|/jquery-file-upload/server/|/assetmanager/|wwwroot|e107\_)
Protection contre le vol d'images, feuille de style, vidéos, etc.
Obliger les utilisateur ainsi à passer directement par votre site.
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http[s]?://[-a-z0-9.]*votresite\.com$ [NC]
RewriteCond %{HTTP_REFERER} !^http[s]?://[-a-z0-9.]*votresite\.com/.*$ [NC]
# Ces domaines peuvent afficher les éléments du site
RewriteCond %{HTTP_REFERER} !^https?://.*(translate|paypal|google|bing|yahoo|yandex|baidu|facebook|qwant|duck|ixquick|pinterest|twitter).*$ [NC]
RewriteCond %{HTTP_REFERER} !^mobile?://.*$ [NC]
RewriteRule .*\.(gif|jpe?g?|jp2|png|svgz?|css|pdf|zip|gz|js|mp3|m4a|mp4|mov|divx|avi|wma?v?|wmp|swf|flv|docx?|xlsx?|pptx?|vbs|rtf|asf?x?|odt|ods|odp|odg|odb)$ - [NC,F]
Fitre contre XSS, TEST DE faille PHP, Injection SQL simple, etc..
RewriteCond %{REQUEST_METHOD} (GET|POST) [NC]
RewriteCond %{QUERY_STRING} ^(.*)(%3C|<)/?script(.*)$ [NC,OR]
RewriteCond %{QUERY_STRING} ^(.*)(%3D|=)?javascript(%3A|:)(.*)$ [NC,OR]
RewriteCond %{QUERY_STRING} ^(.*)document\.location\.href(.*)$ [OR]
RewriteCond %{QUERY_STRING} ^.*(%24&x).* [NC,OR]
RewriteCond %{QUERY_STRING} ^.*(127\.0).* [NC,OR]
RewriteCond %{QUERY_STRING} ^.*(_encode|localhost|loopback).* [NC,OR]
RewriteCond %{QUERY_STRING} ^(.*)GLOBALS(=|[|%[0-9A-Z]{0,2})(.*)$ [OR]
RewriteCond %{QUERY_STRING} ^(.*)_REQUEST(=|[|%[0-9A-Z]{0,2})(.*)$ [OR]
RewriteCond %{QUERY_STRING} ^(.*)(SELECT(%20|\+)|UNION(%20|\+)ALL|INSERT(%20|\+)|DELETE(%20|\+)|CHAR\(|UPDATE(%20|\+)|REPLACE(%20|\+)|LIMIT(%20|\+)|CONCAT(%20|\+)|DECLARE(%20|\+))(.*)$ [NC]
Commentaires
0 commentaire
Vous devez vous connecter pour laisser un commentaire.