Comment avoir la peau des erreurs 404 ?
Depuis 3 mois, je suis entré en guerre vis à vis des erreurs 404. Ne nous y méprenons pas. Ces erreurs viennent majoritairement de tentatives d’intrusion, généralement assez grossières, mais aussi de liens externes. Autrement dit, pour faire court, nous n’y sommes pas pour grand chose !
Le fichier .htaccess
L’une des solutions – surtout si vous êtes hébergé sur du mutualisé chez OVH par exemple – est de passer par le fichier .htaccess. Les deux exemples que je vais vous présenter ci-dessous sont des réponses aux tentatives de recherche dans les thèmes WordPress des fichiers thumb.php ou timthumb.php par des automates. Ajoutez-y toutes celles relatives aux tentatives de connexion à l’interface phpMyAdmin, logiciel qui, chez nous, n’a jamais été et ne sera JAMAIS employé pour des raisons de sécurité, évidemment. Nous utilisons, pour notre part, des tunnels SSH sur un port exotique avec jeu de clés et MySQL Workbench !
Dans l’extrait du fichier .htaccess, vous remarquerez que je fais ici le choix d’une redirection permanente sur une page qui ne risque pas d’effondrer le site en cas de tentative d’attaque par déni de service. Vous pouvez aussi utiliser le statut 410.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule [tT]humb\.php$ https://www.dsfc.net [QSA,R=301,L]
RewriteRule php[mM]y[aA]dmin https://www.dsfc.net [QSA,R=301,L]
</IfModule>
Par rapport au mois de novembre où nous avions 2.04% de hits en erreur 404 sur le trafic vu et non vu (11527/564102), nous en sommes aujourd’hui à 0.53% (3348/630600) au cours de ce mois. C’est encore beaucoup évidemment. Mais en trois mois, nous les avons divisés presque par 4 ! Le nombre de redirections est passé dans la même période de 1.5% à 2% du trafic. Autrement dit, les redirections 301 semblent avoir un fort pouvoir de dissuasion. Alors, continuons le combat !