sécuriser htaccess
5/5 - (2 votes)

Tu cherches à booster la sécurité de ton site ? Les fichiers .htaccess peuvent améliorer considérablement la sécurité de ton site si on ajoute  les bons petits bouts de code. Voyons ensemble cinq codes qui vont te permettre de barrer la route aux hackers. Ces astuces, elles sont pas seulement efficaces, elles sont aussi peu connues. Alors, accroche-toi, on plonge dans le vif du sujet !

 

Protège ton dossier admin

Order Deny,Allow
Deny from all
Allow from 192.168.1.1

Ce bout de code, c’est la base. Tu définis l’accès à ton dossier admin pour que seules certaines IPs puissent y entrer. Remplace 192.168.1.1 par ton IP, et les hackers pourront frapper à la porte, mais ils rentreront pas !

 

Bloque les mauvaises requêtes

RewriteEngine on
RewriteCond %{THE_REQUEST} !^[A-Z]{3,9}\ /.*\ HTTP/ [NC]
RewriteRule .* - [F]

Ici, tu joues le cerbère. Ce code va bloquer toutes les requêtes qui ne respectent pas le format standard HTTP. C’est super efficace pour éliminer plein de tentatives de hacking.

Pourquoi c’est efficace ? Parce qu’il s’attaque directement à la structure des requêtes HTTP.

Quand un hacker tente une attaque, souvent, il joue avec la forme des requêtes HTTP pour trouver une faille. Ce code va bloquer toute requête qui ne respecte pas le format standard HTTP, celui que tu vois dans les requêtes légitimes.

 

Décryptage du code :

  • RewriteEngine on : Cette ligne permet d’activer la réécriture d’url.
  • RewriteCond %{THE_REQUEST} !^[A-Z]{3,9}\ /.*\ HTTP/ [NC] : Ici, on pose les conditions. %{THE_REQUEST} c’est la requête HTTP complète envoyée au serveur. La partie !^[A-Z]{3,9} veut dire “n’importe quelle suite de 3 à 9 lettres majuscules au début de la requête”, c’est la méthode HTTP (comme GET, POST). Si la requête ne commence pas par ça, c’est louche. Le [NC] à la fin, c’est pour dire “Non-Case sensitive”, pas sensible à la casse.
  • RewriteRule .* - [F] : Si la condition précédente est vraie (donc si la requête est bizarre), cette règle s’active. Le .* veut dire “n’importe quelle URL”. Le - [F] c’est la conséquence : F pour “Forbidden”, interdit. La requête est bloquée net.

En gros, ce que tu fais avec ce code, c’est mettre une barrière invisible qui filtre toutes les requêtes douteuses. Les requêtes normales passent comme une lettre à la poste, mais les trucs louches, terminé, elles se prennent une porte fermée dans le nez.

C’est un outil super puissant pour bloquer une tonne de tentatives d’intrusion et de manipulations malveillantes, surtout celles qui tentent de déguiser ou de modifier la structure de leurs requêtes pour passer inaperçues.

 

Interdit l’affichage de tes dossiers

Options -Indexes

Ce petit code, c’est un grand pas pour la sécurité. Il empêche les curieux de lister le contenu de tes dossiers si tu n’as pas mis de fichier index.html ou index.php. Adieu les yeux indiscrets !

Pour comprendre, tapes sur google : inurl:/wp-includes

Cette commande permet de filtrer les résultats de recherche pour ne ressortir que les sites qui ont dans l’url “wp-includes” qui est un répertoire WordPress qui ne devrait pas être indexé.

Le fait que ce genre de répertoire s’indexe, ça peut donner des infos importantes sur l’architecture de ton site, le cms utilisé. Donc si tu veux pas finir avec la fameuse attaque par mots clés Japonais et ses millions de pages indexées, ajoute ce petit bout de code.

 

répertoire site indexé sur google

 

 

Bloque les scripts malveillants

RewriteCond %{REQUEST_URI} \.(php|pl|py|jsp|asp|htm|shtml|sh|cgi)$ [NC]
RewriteRule .* - [F,L]

Ce petit bout de code, c’est ton bouclier anti-troll. Sur le net, y a des types qui se baladent avec des scripts pourris sous le bras, essayant de les fourrer dans tous les coins de ton site. Ce code, c’est ton “Non, merci, pas intéressé”.

 

Pourquoi ça envoie du lourd ?

  • RewriteCond %{REQUEST_URI} \.(php|pl|py|jsp|asp|htm|shtml|sh|cgi)$ [NC] : Là, t’es en mode sniper. Tu vises spécifiquement les extensions de fichiers qui sentent le soufre. Les .php, .jsp et compagnie, c’est souvent par là que les embrouilles commencent. Le truc en fin, [NC], ça veut dire que t’es cool, tu ne discrimines pas entre majuscules et minuscules.
  • RewriteRule .* - [F,L] : Si un malin tente d’accéder à un de ces fichiers, bam ! Porte au nez. F pour “Forbidden” (interdit), comme l’entrée d’une boîte de nuit pour les baskets. Et L, c’est pour dire “c’est ma dernière parole”.

 

Sécurise les en-têtes http

Header set X-Content-Type-Options nosniff

Quand les navigateurs reçoivent un fichier, c’est la séance “Devinette du jour”. Ils zieutent le fichier et se lancent : “Ce truc, ça sent le JPEG… ou peut-être un HTML ? Allez, je mise sur HTML”. Ils se lancent dans un petit jeu de hasard, sans être sûrs à 100%.

Par contre, quand ils se gourrent, c’est pas juste un “oups”. Non, c’est l’alerte rouge. Si le navigateur se plante et prend un script malveillant pour une image tranquille, c’est là que ça devient le festival des hackers. Imagine qu’un hacker t’envoie un fichier déguisé.

Le navigateur, naïf, croit que c’est une photo de vacances, alors que c’est un script prêt à propager le chaos. Si le navigateur le traite comme une image, nickel. Mais s’il se met à exécuter le script, là, c’est la cata.

Et c’est là que le code .htaccess entre en jeu comme un boss. Ce petit code, il pose les règles claires : “Vilain petit navigateur, tu joues pas aux devinettes avec mes fichiers. Si je dis que c’est une image, tu le traites comme une image, et basta.

Pas de surprise, pas de coup fourré.” C’est comme un parent qui dit à son môme : “Pas touche aux sucreries avant le dîner”. Ça évite les ennuis et ça garde ton site en mode forteresse imprenable.

En une phrase : C’est indispensable pour éviter les attaques de type MIME sniffing.