Fabrice Planchette

Règles de sécurité pour ton htaccess

Jun 27, 2020

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 ?