Bloquer l'accès à une adresse IP
Noter ce cours :
N'importe quel webmaster qui administre un site web a déjà été confronté au moins une fois au problème de certains internautes qui abusent des ressources serveur, ou qui sont de vulgaires spammeurs. La question qui revient souvent est la suivante : Comment les empêcher de revenir ?
La solution la plus simple à mettre en oeuvre, si vous utilisez le serveur web Apache est celle du fichier .htaccess que nous utiliserons pour bannir une adresse IP ou une plage d'adresses IP. Lisez le cours sur VIC concernant les adresses IP si vous ne savez pas ce que c'est ;)
Qu'est-ce que le fichier .htaccess ?
Le fichier .htaccess est un fichier un peu spécial puisqu'il permet de donner des directives de configuration, de redirection d'URL, d'authentification, etc., à Apache. Ce fichier ne porte pas de nom et porte l'extension htaccess. Ce fichier donne des directives à tous les répertoires (et leurs sous-répertoires) dans lesquels il est situé.
Créer un fichier .htaccess
Windows n'autorisant pas les fichiers sans nom, il va falloir ruser. Ouvrez le bloc-notes de Windows puis appuyez sur les touches CTRL + S pour accéder à la boîte de dialogue d'enregistrement de fichier. Nommez le fichier ".htaccess" (laissez les guillemets sinon cela ne fonctionnera pas) puis validez.
Bloquer une adresse IP
Pour bannir une adresse IP avec le fichier .htaccess, la commande s'appelle Deny From suivie de l'adresse IP à bloquer.
Imaginions que nous souhaitions interdire l'accès à l'adresse IP 94.242.255.202 par exemple, la ligne à inscrire dans le fichier .htaccess est la suivante :
Deny From 94.242.255
Bloquer une plage d'adresses IP
Les plus observateurs auront remarqué que, dans l'image précédente, certaines lignes ne sont pas des adresses IP mais commencent de la même façon.
La condition Deny From se comporte presque comme un masque. Si vous souhaitez bannir toutes les adresses IP commençant par 94.242.255, vous pouvez écrire ceci dans le .htaccess :
Deny From 94.242.255
Mettre un point à la fin de la ligne ne change rien, mais est un peu plus parlant visuellement :
Deny From 94.242.255.
Autres moyens de blocage
La documentation d'Apache est riche à ce sujet. Vous y trouverez notamment comment bloquer l'accès en fonction de plusieurs critères, qui dépassent le cadre de cet article.