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.

Enregistrement d'un fichier htaccess
Création d'un fichier .htaccess

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
Exemple de bannissement htaccess
Un exemple de fichier .htaccess avec de multiples IP ou plages d'adresses IP bannies
Les lignes commençant par # (signe dièse) ne sont pas interprétées par Apache, ce sont de simples commentaires.

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.

Vous avez aimé cet article intitulé Bloquer l'accès à une adresse IP ? Partagez-le !
Vulgarisation-informatique.com
Cours en informatique & tutoriels