Bloquer une adresse IP

Il peut arriver que vous ayez besoin de bloquer une adresse IP (ou des adresses) pour empêcher des comportements malveillants de la part de robots, de spammeurs ou d’autres personnes. Tous les plans Kinsta incluent un outil gratuit de refus d’IP, qui vous permet de bloquer des adresses IP spécifiques et des plages d’adresses pour qu’elles n’accèdent pas à votre site.

Identifier les adresses IP à bloquer dans MyKinsta

Un exemple d’adresse IP à bloquer est une adresse qui fait beaucoup de requêtes non mises en cache sur votre site dans un court laps de temps. Les requêtes non mises en cache peuvent entrainer une utilisation excessive des ressources et causer des problèmes pour votre site.

Pour voir les principales adresses IP qui visitent votre site, vous pouvez utiliser le tableau de bord des statistiques de MyKinsta. Connectez-vous à MyKinsta et allez dans Sites WordPress > Nom du site > Statistiques > Geo & IP. Dans la section Top des IP client, recherchez les adresses IP qui font plus de requêtes que les autres IP par un facteur de 5-10x ou plus. Il s’agit généralement des adresses IP que vous souhaitez examiner plus en détail.

Vous pouvez utiliser un vérificateur de réputation comme CleanTalk ou Spamhaus pour voir si l’adresse IP a été identifiée comme un robot, un spammeur ou une autre adresse IP malveillante. Même si l’adresse IP n’est pas répertoriée, cela ne garantit pas qu’elle soit légitime. Il se peut que l’adresse IP n’ait pas encore été identifiée et répertoriée dans la base de données comme étant malveillante. Si l’adresse IP émet une requête qui provoque une erreur ou une panne sur votre site, il vaut la peine d’essayer de bloquer l’adresse IP en guise de dépannage.

Bloquer une adresse IP dans MyKinsta

Pour bloquer une adresse IP ou une série d’adresses IP dans MyKinsta, vous pouvez utiliser l’outil IP Deny.

L’outil IP Deny est une fonction puissante qui, si elle est utilisée de manière incorrecte, peut bloquer un service ou une personne légitime. Si vous avez des questions sur une certaine adresse IP, veuillez ouvrir une discussion avec notre équipe de support.

Dans MyKinsta, allez dans Sites WordPress > Votre site > IP Deny et cliquez sur le bouton Ajouter des adresses IP.

Commencez à ajouter des adresses IP à l'outil IP Deny dans MyKinsta.
Commencez à ajouter des adresses IP à l’outil IP Deny dans MyKinsta.

Dans la fenêtre modale Ajouter des adresses IP à refuser qui apparait, vous pouvez ajouter des adresses IPV4, des adresses IPV6, et des plages d’adresses IP CIDR (Classless Inter-Domain Routing) à la liste de blocage. Avec les plages CIDR, vous pouvez bloquer une plage séquentielle d’adresses IP (par exemple, 127.0.0.1 à 127.0.0.255). Pour générer une plage CIDR valide, nous vous recommandons d’utiliser un outil tel que IPAddressGuide.com.

Voici quelques exemples d’adresses IP que vous pouvez bloquer :

  • Adresse IPV4 – 103.5.140.141
  • Adresse IPV6 – 2001:0db8:0a0b:12f0:0000:0000:0000:0001
  • Plage CIDR – 128.0.0.1/32

Une fois que vous avez ajouté les adresses IP à bloquer, cliquez sur le bouton Ajouter des adresses IP.

Ajoutez une adresse IP à bloquer dans MyKinsta.
Ajoutez une adresse IP à bloquer dans MyKinsta.

L’adresse IP et toutes les autres que vous avez ajoutées seront maintenant affichées dans la liste des adresses IP à bloquer. Sur cette même page, vous pouvez modifier (icône d’édition/crayon) ou supprimer (icône de suppression/corbeille) n’importe quelle adresse IP ou plage d’adresses IP.

Bloquer des adresses IP dans Cloudflare

Si vous êtes un utilisateur de Cloudflare, vous pouvez utiliser l’outil Règles d’accès IP dans le tableau de bord de Cloudflare pour bloquer des adresses IP et des plages d’adresses IP.

Dans le tableau de bord Cloudflare, accédez à Pare-feu > Outils.

Tableau de bord des outils Cloudflare.
Tableau de bord des outils Cloudflare.

Pour créer une nouvelle règle d’accès IP, ajoutez une adresse IP, sélectionnez l’action Bloquer, sélectionnez Ce site web (ou Tous les sites web du compte si vous souhaitez que la règle s’applique à tous vos domaines Cloudflare), puis cliquez sur Ajouter.

Ajouter une règle d'accès par IP.
Ajouter une règle d’accès par IP.

Une fois la règle d’accès ajoutée, elle apparait dans la liste Règles d’accès IP. Ici, vous pouvez apporter des modifications à la règle d’accès, telles que changer l’action, ajouter des notes et supprimer la règle.

Règle d'accès IP dans le tableau de bord Cloudflare.
Règle d’accès IP dans le tableau de bord Cloudflare.

Outre l’action Block, Cloudflare prend en charge les actions Challenge, Allow et JavaScript Challenge. En fonction de votre objectif, vous pouvez utiliser l’une de ces actions à la place de Block.

Bloquer une plage d’adresses IP, un pays et un ASN dans Cloudflare

Outre les adresses IP individuelles, les règles d’accès IP de Cloudflare prennent également en charge les plages d’adresses IP, les noms de pays et les ASN (numéros de systèmes autonomes).

  • Pour bloquer une plage d’adresses IP, indiquez une plage CIDR pour la valeur de la règle d’accès IP.
  • Pour bloquer un pays, indiquez son code Alpha-2.
  • Pour bloquer un ASN (une liste d’adresses IP contrôlées par un seul opérateur de réseau), indiquez un ASN valide commençant par « AS ».

Bloquer des adresses IP dans Nginx

Si votre site est auto-hébergé avec le serveur web Nginx, vous pouvez bloquer des adresses IP directement dans la configuration du serveur web. Bien que cette méthode ne soit pas aussi conviviale que le blocage d’adresses IP avec l’outil IP Deny de MyKinsta ou le pare-feu de Cloudflare, elle peut être la seule option dans certaines situations.

Pour bloquer une adresse IP dans Nginx, connectez-vous en SSH à votre serveur et ouvrez votre fichier de configuration Nginx avec l’éditeur de texte nano comme suit :

nano /etc/nginx/nginx.conf

Bloquer une seule adresse IP avec Nginx

Pour bloquer une seule adresse IP (IPV4 ou IPV6) dans Nginx, utilisez la directive deny comme suit :

deny 190.60.78.31;
deny 4b73:8cd3:6f7b:8ddc:d2f9:31ca:b6b1:834e;

Bloquer une plage d’adresses IP CIDR avec Nginx

Pour bloquer une plage d’adresses IP CIDR dans Nginx, utilisez la directive suivante :

deny 192.168.0.0/24;

Techniques avancées de blocage d’IP par Nginx

Si vous souhaitez bloquer l’accès à un répertoire spécifique (par exemple domain.com/secret-directory/), vous pouvez utiliser la directive Nginx ci-dessous :

location /secret-directory/ {
        deny 192.168.0.0/24;
}

La directive deny accepte all comme valeur. Cette directive est utile pour bloquer toutes les adresses IP vers votre site. La directive deny all; est souvent utilisée conjointement avec la directive allow, ce qui vous permet d’autoriser des adresses IP spécifiques tout en bloquant toutes les autres.

location /secret-directory/ {
        allow 192.168.0.0/16;
        deny all;
}

Sauvegarder la configuration de Nginx et recharger Nginx

Lorsque vous avez terminé de modifier la configuration avec nano, enregistrez vos modifications en appuyant sur Ctrl + O. Après avoir enregistré le fichier, appuyez sur Ctrl + X pour quitter nano.

Pour activer les nouvelles règles de blocage d’IP, vous devrez recharger la configuration de Nginx à l’aide de la commande ci-dessous :

sudo systemctl reload nginx

Bloquer les adresses IP dans Apache

Si votre site est auto-hébergé avec le serveur web Apache, vous pouvez bloquer des adresses IP directement dans la configuration du serveur web. Pour bloquer une adresse IP dans Apache, vous devez utiliser un fichier .htaccess, qui vous permet d’appliquer des règles uniques à des répertoires spécifiques. Pour appliquer des règles à l’ensemble de votre site, le fichier .htaccess doit être placé dans le répertoire racine de votre site.

Pour commencer, connectez-vous en SSH à votre serveur, accédez au répertoire racine de votre site et créez le fichier .htaccess à l’aide de la commande ci-dessous :

touch .htaccess

Ensuite, ouvrez le fichier .htaccess avec l’éditeur de texte nano comme suit :

nano .htaccess

Les règles exactes pour bloquer les IP dépendent du fait que vous utilisez Apache 2.2 ou 2.4, c’est pourquoi nous inclurons des règles pour les deux versions. Lorsque vous modifiez votre fichier .htaccess, utilisez les règles correspondant à votre version d’Apache.

Bloquer une seule adresse IP avec Apache

Pour bloquer une seule adresse IP (IPV4 ou IPV6) dans Apache, utilisez les règles ci-dessous :

# Apache 2.2
order allow, deny
allow 192.168.0.0
deny from all

#Apache 2.4
Require all granted
Require not ip 192.168.0.0

Bloquer une plage d’adresses IP CIDR avec Apache

# Apache 2.2
order allow, deny
allow 192.168.0.0/16
deny from all

#Apache 2.4
Require all granted
Require not ip 192.168.0.0/16

Résumé

En fonction de la configuration de votre site, il y a différentes façons de bloquer les adresses IP pour qu’elles n’atteignent pas votre site. Si vous êtes un utilisateur de Kinsta, nous vous recommandons d’utiliser l’outil IP Deny intégré à MyKinsta.

Si votre site n’est pas hébergé sur Kinsta, nous vous recommandons de le sécuriser avec Cloudflare, qui vous permet de créer des règles d’accès IP uniques pour bloquer des adresses IP, des plages, etc. Enfin, si vous n’êtes pas en mesure de configurer Cloudflare pour votre site, vous pouvez mettre en place des règles de blocage d’IP directement dans le fichier de configuration de votre serveur web.

Cet article vous a été utile ?