Comment protéger mon fichier .htaccess ?
Introduction
La sécurisation d'un site web est un défi, il existe de nombreux aspects différents de la sécurité d'un site web et d'innombrables failles de sécurité qui doivent être comblées. Nous avons rassemblé quelques conseils de sécurité htaccess, tweaks et snippets de code utiles pour corriger les problèmes de sécurité de site web courants. Ces corrections fonctionnent toutes parfaitement sur notre plate-forme d'hébergement web. Les scanners de sécurité détectent souvent ces problèmes. Nous vous expliquons ici comment les corriger afin d'améliorer la sécurité générale de votre site web. Vous pouvez utiliser ces conseils de sécurité htaccess et ces extraits de code pour WordPress et tout autre site web.
Qu'est-ce qu'un fichier .htaccess ?
.htaccess est un fichier utilisé par le serveur web Apache pour définir les variables d'environnement du serveur et les paramètres de configuration uniquement pour le répertoire spécifié. Il se trouve généralement dans le répertoire racine de votre site web, par exemple /home/username/public_html/.htaccess
Activer HTTP Strict Transport Security (HSTS) dans .htaccess
La prise en charge de HTTP Strict Transport Security (HSTS) est souvent indiquée par les scanners SEO et de sécurité. Qu'est-ce que cela fait ? Il indique simplement aux navigateurs web que vous souhaitez que votre site web ne soit accessible que via une connexion https valide. Pour l'activer, il suffit d'ajouter cette ligne à votre htaccess :
Header set Strict-Transport-Security "max-age=31536000" env=HTTPS
Bloquer l'exécution de code PHP dans certains répertoires dans .htaccess
Il s'agit d'une optimisation rapide de la sécurité des sites web .htaccess qui fonctionne pour WordPress ou tout autre site web personnalisé avec des répertoires que vous souhaitez protéger contre l'exécution de code PHP. Grâce à cette astuce .htaccess, vous pouvez facilement bloquer l'exécution de PHP dans vos répertoires WordPress centraux afin de stopper les attaques courantes. Vérifiez toutefois soigneusement votre site pour vous assurer que la fonctionnalité des thèmes ou plug-ins existants n'est pas affectée. Pour ce faire, il vous suffit de créer un fichier .htaccess dans chaque répertoire que vous souhaitez protéger et d'y insérer ce code :
Order allow,deny
Deny from all
Require all denied
Limiter l'accès par adresse IP dans .htaccess
Si vous avez une adresse IP statique, vous pouvez l'utiliser pour contrôler l'accès à certains fichiers ou répertoires de votre site web, par exemple votre page de connexion ou votre zone d'administration. Cela est souvent utilisé pour sécuriser les sites WordPress en limitant l'accès aux répertoires wp-login.php et /wp-admin/, mais fonctionne également pour d'autres systèmes de gestion de contenu et des sites et applications personnalisés.
Pour limiter l'accès à un fichier spécifique, procédez comme suit
<Files .php>
Order deny,allow
Deny from all
Allow from
Pour restreindre l'accès à un répertoire entier, créez un fichier .htaccess dans le répertoire que vous souhaitez protéger et insérez ce code :
Order Deny,Allow
Deny from all
Autoriser à partir de <YOUR IP ADDRESS
Empêcher la navigation dans les répertoires dans .htaccess
Celui-ci est souvent défini par défaut par votre hébergeur, mais si ce n'est pas le cas, vous pouvez ajouter la ligne suivante à votre fichier .htaccess afin d'empêcher la navigation dans vos répertoires via un navigateur web.
Options All -Indexes
Interdire le hotlinking des images dans .htaccess
Cela permet d'éviter que d'autres sites web n'affichent des images hébergées sur votre site. Ce n'est pas un gros problème, mais si le site a beaucoup de trafic, cela peut rapidement consommer votre bande passante et entraîner le blocage de votre site ou des frais supplémentaires de bande passante. Vous pouvez également remplacer l'image par une image montrant le nom et l'adresse de votre site web pour vous faire un peu de publicité, ou la remplacer par quelque chose d'impertinent si vous le jugez bon. Il vous suffit d'insérer ce code dans votre fichier .htaccess et de modifier en conséquence votre domaine et l'URL de votre image sans lien chaud :
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?yourdomain.com/.*$ [NC]
RewriteRule .(jpeg|JPEG|jpe|JPE|jpg|JPG|gif|GIF|png|PNG)$ https://www.yourdomain.com/no-hotlinking.png [R,L]
En-tête pour le partage des ressources d'origine croisée (CORS)
En principe, cet en-tête limite l'accès aux ressources telles que les feuilles de style CSS, les images et les scripts au domaine indiqué. Nous vous recommandons d'en savoir plus sur CORS à l'adresse Site web des développeurs Mozilla à lire. Si vous souhaitez activer CORS, il vous suffit d'ajouter la ligne suivante à votre .htaccess :
En-tête set Access-Control-Allow-Origin https://www.yourdomain.com
Désactiver HTTP Track & Trace
Une autre méthode souvent indiquée par les scans de sécurité consiste à désactiver les méthodes HTTP TRACE et HTTP TRACK. Cela peut être fait dans Apache soit en ajoutant TraceEnable Off à votre fichier httpd.conf, soit en ajoutant le code suivant à votre fichier .htaccess :
RewriteEngine on
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* - [F]