| | | | |

Bloquer un pays sur mon WordPress ou VPS

Quand on a un site WordPress depuis quelque mois, on fini par avoir des SPAM et des mail envoyer par le formulaire de contacte. Dans la plus part des cas, c’est des site Russe, Chinois ou Africain vers les quels on est rediriger quand on clique sur les liens. Afin de réduire ce type de mail, on peut configurer des blocage d’adresse IP voir de pays. On va se concentrer sur le blocage complet des pays.

Si vous n’avez pas encore de VPS, il y a un service assez intéressant qui ne coûte pas trop cher comparé à la concurrence et avec des performances intéressantes. SSDNodes, allez voir les performances et les tarifs. Seul défaut (si on veut), il faut savoir faire la configuration d’IPv6.
Voici un lien d’affiliation si vous souhaitez nous aider à maintenir ce site :
www.ssdnodes.com

On part du principe que notre VPS tourne sous Ubuntu Server, on s’y connecte avec le terminal, Putty, Kitty ou PowerShell.

On met à jour la base de données des paquet Ubuntu avec les commandes suivante:
sudo apt-get update; sudo apt-get upgrade -y

On Install le paquet libapache2-mod-geoip avec la commande suivante:
sudo apt install libapache2-mod-geoip

On édite le fichier geoip.conf avec la commande nano:
sudo nano /etc/apache2/mods-available/geoip.conf

Le contenu du fichier devrait ressembler à ce qui suit mise à par que le GeoIPEnable est sur off dans le fichier original et qu’on doit remplacer off par on.

<IfModule mod_geoip.c>
  # For performance reasons, it's not recommended to turn GeoIP on serverwide,
  # but rather only in <Location> or <Directory> blocks where it's actually
  # needed.
  GeoIPEnable on
  #GeoIPDBFile /usr/share/GeoIP/GeoIP.dat
</IfModule>

On enregistre avec “Ctrl” + “x” , “y” , “Entrer”.

On vérifie si la configuration est correcte et on redémarre Apache avec les commande suivante:
sudo apachectl configtest
sudo service apache2 restart

On va dans le dossier ou se trouve le site internet pour le quel on veut bloqué certain pays, comme par exemple: cd /var/www/html/MonSiteWeb

On édite le fichier .htaccess avec la commande:
sudo nano .htaccess

On ajoute à la fin du fichier:

<IfModule mod_geoip.c>
  GeoIPEnable On
#</IfModule>

#<Location />
SetEnvIf GEOIP_COUNTRY_CODE CN BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE RU BlockCountry

Deny from env=BlockCountry

</IfModule>

Dans cette exemple, on bloque la Russie et la chine. Quand une personne ou un robot voudra se connecter à notre site avec une adresse reconnu des ces deux pays, il aura une erreur 403.

On enregistre avec “Ctrl” + “x” , “y” , “Entrer”.

Les initiales des pays sont lister sur ce site: http://www.geonames.org/countries/
Elle sont classer et nommer sous la norme ISO-3166.

ATTENTION ! Il ne faut jamais mettre l’adresse IP du pays dans le quel on est. Si non on sera automatiquement bannie de la page internet à la quel on veut se connecter.

Pour faire les testes de cette configuration, on se connecte à notre site web à l’aide d’un VPN tel que TunnelBear, à partir d’un des pays configurer dans notre fichier .htacces. Si tout est correctement configurer, l’erreur 403 devrait s’afficher.

mes sources: https://www.cloudbooklet.com/how-to-setup-geoip-block-using-apache/
http://www.geonames.org/countries/

Laisser un commentaire