
Règles de sécurité pour ton htaccess
Une partie de la configuration apache se fait via le fichier .htaccess dont voici quelques lignes possibles pour améliorer la sécurité de ton site.
Tu te rappelles le A de la pile LAMP ? Apache ! Oui gagné ! Et bien une partie de sa configuration se fait via le fichier .htaccess
dont voici quelques lignes possibles pour améliorer la sécurité de ton site.
Je le dis tout de suite avant que tu dises “ça marche pas ! on me demande de contacter mon administrateur système !”… Dans les codes ci-dessous je pars du principe que tu as activés les modules qui vont bien !
Redirection vers le https
Allez, la première concerne les sites ayant un certificat SSL (mais si, tu sais, y’a un petit cadenas dans la barre d’adresse de ton navigateur 🔒). Et voilà qu’un visiteur tape http://ton.site.fr sans le “S” !
Allez, on applique ces quelques lignes et c’est réglé :
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteCond %{HTTPS_HOST} !^%{HTTP_HOST}$ [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [L,R=302]
Clickjacking
Tu connais ? C’est comme le carjacking mais avec un click. Non ? Ok…
En bon français, ça donne “détournement de clic”. Pour en savoir plus, je te conseille cette page sur site de l’OWASP mais si t’as la flemme, il y a aussi une page sur Wikipédia.
Bref, ça donne :
# Protect website against clickjacking
Header always set X-Frame-Options SAMEORIGIN
XSS
En mode full-text, ça donne cross-site scripting. Là encore direction l’OWASP pour plus d’info.
Coté implémentation, j’enchaine ci-dessous plusieurs headers visant à protéger ton site :
# Prevent some browsers from MIME-sniffing the response
Header always set X-Content-Type-Options nosniff
# Content Security Policy (CSP)
Header always set Content-Security-Policy "object-src 'self'"
# HTTP Strict Transport Security (HSTS)
Header always set Strict-Transport-Security "max-age=15552001; includeSubdomains; preload"
Informations serveur
Exposer la version de ton PHP, comment dire, bah non tu fais pas ça ! Vas voir cette liste des failles et tu vas comprendre.
# Remove the X-Powered-By response header
Header unset X-Powered-By
Ah j’allais oublier, apache lui aussi peut être super sympa avec les hackers donc il vaut mieux lui demander d’être discret :
# Prevent Apache from adding a trailing footer line
ServerSignature Off
Bref, ces quelques règles de sécurité dans ton .htaccess
ne vont pas te garantir un risque 0, mais au moins tu ne facilites pas la tâche à ceux qui te veulent du mal.
Et toi, t’en vois d’autre ?