WPMarmite

🛡 Point SECU #24 : Comment gérer le fichier .htaccess

Salut à tous et bienvenue dans le Point Sécu avec Julio.

Hey 👋

Aujourd’hui on va parler d’un fichier que vous connaissez certainement, le fichier .htaccess

Allez c’est parti !

Pour la petite histoire, ce fichier .htaccess, on devait en parler un petit peu plus tôt, mais au final ça ne se fait que maintenant, désolé si vous l’attendiez… mais bon.

Mieux vaut tard que jamais, n’est-ce pas ?

Qu’est-ce qu’un fichier .htaccess

Julio : Le fichier .htaccess c’est un fichier de configuration relatif au serveur spécifiquement sur Apache, donc les personnes qui ont un serveur sous Ngnix ou Ligtht Speed ne sont pas concernées par ça.

Néanmoins, les règles qui se mettent dans un .htaccess sont convertibles bien sûr aussi du côté Ngnix.

Il existe même il me semble un petit service online qui convertit des règles .htaccess en règles Ngnix.

Alors pourquoi est-ce que je vais pourtant parler du .htaccess, parce qu’aujourd’hui, Apache est encore le système de serveur le plus utilisé, même si j’avoue que Ngnix est plus rapide parfois. Par contre il est aussi plus technique.

Voyez, si vous voulez modifier un fichier .htaccess, vous l’avez sûrement à la racine de votre site sur tous les ftp vous avec un .htaccess, WordPress a du code dans son coeur pour aller modifier ce fichier .htaccess pour mettre ses règles, or il ne peut pas le faire pour NGnix parce que le fichier ne se trouve pas à la racine du site.

Il se trouve vraiment sur le serveur donc on n’a pas la main dessus. C’est un peu plus gênant, c’est donc un peu plus technique, il faut avoir la main ou alors un support d’hébergeur qui est capable de vous aider à mettre votre propre fichier.

Quelques règles pour modifier votre fichier .htaccess

Donc aujourd’hui on voit .htaccess encore une fois vous avez vu : le petit carnet, ça veut dire que j’ai quelques règles à vous donner.

Encore une fois, les règles se retrouveront dans la description.

Alex : on va pas les balancer à l’oral ça va être compliqué.

Julio : ah non là c’est tout à fait impossible ! Encore, à la limite, sur le wp-config il y a quelques temps, ça passe encore, là c’est totalement impossible de vous les raconter, c’est totalement du chinois.

Ce qu’il faut comprendre c’est l’intérêt de la chose !

1. Le “X-Powered-By”

Par exemple si je prends l’entête qui s’appelle : “X-Powered-By”.

C’est un entête qui se trouve dans chaque page qui indique quelle est la version de PHP qui est utilisée pour générer la page en cours.

Or, divulguer des informations sur des numéros de version, pour un pirate c’est toujours assez sympa parce qu’il se dit “oh, je vois que la personne utilise la version 5.3, mais c’est obsolète, il y a des failles de sécurité dedans”, donc il peut se mettre à attaquer votre site spécialement avec des failles sur la 5.3.

Or, s’il n’a pas l’information, il va devoir tester beaucoup plus de choses, qui vont lui prendre beaucoup plus de temps et vous aurez bien plus de temps de voir arriver la chose.

Alex : et entre temps, il sera peut être passé à autre chose.

Julio : ou alors il se dit : “Moi je ne trouve pas la version, ça va me prendre trop de temps, c’est pas la peine, je passe”.

Donc si on peut éviter de lui montrer cette version PHP, on peut enlever grâce au .htaccess, l’entête du “X-Powered-By”.

Parfois, cette entête est remplacée par autre chose, du moment que ce n’est pas un numéro de version, c’est mieux.

Par exemple, si vous utilisez wp-rocket, le “X-Powered-By” contient juste que c’est généré par wp-rocket, la page de cache est générée par wp-rocket, donc là il n’y a pas de numéro de version donc c’est bien mieux.

Dans la même veine, il y a aussi la version d’Apache qui peut apparaître aussi dans les entêtes.

Donc de nouveau le fichier .htaccess peut cacher cette version d’Apache.

C’est ça le web il y a toujours des nouveautés qui arrivent, des failles qui arrivent, elles sont corrigées, on s’améliore, etc.

Les versions si possible on essaye de les cacher, vous avez sûrement déjà vu des tutoriels, SecuPress le fait aussi, je pense à tous les plugins aussi qui le font, on essaye de cacher la version WordPress.

2. Le “readme.html”

Alex : supprimer le “readme.html”

Julio : alors ça j’en parle juste après, tu fais une très bonne transition…

Je la garde juste pour après. Cacher une version ça ne sécurise pas, on est d’accord hein. C’est juste qu’on cache, on évite que l’on divulgue des informations trop facilement qui pourraient aider un pirate à pirater plus rapidement finalement.

⚠Cacher n’est pas sécuriser ⚠

On met un petit peu des bâtons dans les roues, ce qui n’est pas mauvais non plus.

Et le “readme” comme tu dis, si on peut éviter de montrer le “readme” du core de WordPress qui indique le numéro de version et finalement chaque “readme” de chaque plugin et thème en fait, puisque chaque thème et chaque plugin contient un fichier readme qui contient son numéro de version,

donc il suffirait d’aller voir le changelog de chaque plugin pour se dire “oh je vois qu’il y a une faille de sécurité dans telle version, je vois que la personne n’est pas à jour”.

Si vous n’êtes pas à jour… voilà aussi en fait comment ça se passe au niveau des personnes qui ne se mettent pas à jour, on regarde dans les “changelogs” quand est-ce qu’il y a eu des failles de sécurité corrigées et voilà…

Vous vous faites attaquer parce qu’il y a une faille, le pirate saura très bien retrouver la faille, il suffit de prendre la version avant la correction et la version d’après, il voit où se trouve la faille, il comprend l’attaque et vous vous faites attaquer comme ça.

Alex : il y a des logiciels exprès quoi : WPScan

>>Julio : WPScan exactement, WPScan sert à ça, il scanne un site web pour trouver quels sont les plugins installés dessus, il essaye de trouver les versions, ensuite il connaît quelles versions sont vulnérables à telle faille et il vous lance des attaques.

Donc voyez, il y a clairement des systèmes automatisés, donc il ne faut pas forcément être un gros technicien malheureusement pour réussir à attaquer des sites web.

Allez encore une…

3. Le Directory Listing

Quand on installe un serveur Apache par défaut, il y a une configuration qui n’est pas forcément toujours active, ça s’appelle le Directory Listing, ça permet de faire la liste d’un contenu de dossiers et…

⚠Pour tester d’ailleurs sur votre site : tenez testez en live ⚠

Petit exercice : vous allez sur : votreurldesiteweb/wp-content/uploads

Normalement, vous avez soit une page blanche, soit une page 403 disant Forbidden, si vous avez ça c’est très bien.

Si inversement vous avez la liste des années, avec la liste des mois, etc. votre contenu, votre dossier, là ce n’est pas bien, c’est-à-dire que l’on peut naviguer dans vos dossiers qui ne contiennent pas de pages PHP comme index.php par exemple,

donc il pourrait très bien y avoir des uploads de fichiers zip qui sont censés être vendus par exemple sur votre site et là en fait il suffit de cliquer pour le télécharger, ça c’est pas bien !

Grâce à Apache on peut interdire le Directory Listing, renvoyer toutes les personnes sur : vous n’êtes pas autorisé à visiter cette page.

C’est très très simple à mettre en place, c’est vraiment des petites règles. Je vous dis dans l’article, vous allez voir comment ça se met, si vous faites ça à la main.

Après si vous utilisez SecuPress ou d’autres plugins, il y a fortes chances que ça soit fait en un clic, ça se règle tout seul, pas besoin d’aller mettre la main dans le cambouis, c’est à cela que sert justement tous ces plugins qui font le travail à votre place.

Alex : OK super

Formez-vous à WordPress en 3 mois

Apprenez à concevoir des sites WordPress sécurisés, rapides et conformes aux obligations légales avec la formation à distance la plus généreuse du marché (éligible au CPF).

Conclusion

Julio : j’en ai d’autres, mais je vous les garde pour le reste en bas… vous pouvez lire…

>>Alex : Vous les trouverez en dessous et je vous mettrai aussi l’article du .htaccess de la Marmite en complément,

comme ça je pense que vous serez parés pour pouvoir optimiser ce fichier .htaccess et surtout mettre en place des choses pour optimiser la sécurité de votre site.

Donc voilà… je suis sûr que vous savez ce qu’il faut dire maintenant, c’est le pouce ! L’abonnement à la chaîne YouTube de WPMarmite et allez voir SecuPress.me

Et sur ce on se dit à très vite pour une nouvelle vidéo.

Ciao… 👋Salut

C’est la dernière… Enfin il en reste deux petites à découvrir bientôt pour notre petite conclusion ! En espérant que la sécurité n’a plus de secrets pour vous 🙂

Quitter la version mobile