GNU/Linux >> Tutoriels Linux >  >> Linux

Comment configurer le bloc GeoIP à l'aide d'Apache

Configurez le blocage basé sur GeoIP à l'aide d'Apache sur Ubuntu ou Debian. Le module GeoIP permet à l'administrateur de bloquer ou de rediriger le trafic en fonction de l'emplacement.

Dans ce guide, vous allez apprendre à installer le module GeoIP et à le configurer pour bloquer des pays spécifiques.

Prérequis

Apache installé et configuré. Vous pouvez consulter ce guide pour savoir comment installer et configurer Apache2.

Installer le module GeoIP

Installez le module GeoIP pour Apache à l'aide de la commande suivante.

sudo apt install libapache2-mod-geoip

Cette commande installera le module requis pour Apache.

Activer GeoIP

Il existe 2 méthodes pour activer GeoIP. Si vous souhaitez activer l'ensemble du serveur GeoIP, vous pouvez suivre la méthode 1. Cette méthode aura des problèmes de performances.

Vous pouvez également activer GeoIP à partir de la configuration de votre hôte virtuel.

Méthode 1 - Configuration à l'échelle du serveur

Une fois le module installé, modifiez la configuration du module et apportez les modifications indiquées ci-dessous.

Modifiez le fichier de configuration du module de fichiers.

sudo nano /etc/apache2/mods-available/geoip.conf
  • Définir la ligne GeoIPEnable de Désactivé sur Activé .
  • Décommentez le GeoIPDBFile ligne.

Votre fichier final devrait ressembler à ci-dessous.

<IfModule mod_geoip.c>
  GeoIPEnable On
  GeoIPDBFile /usr/share/GeoIP/GeoIP.dat
</IfModule>

Enregistrez et quittez le fichier.

Activer le module.

sudo a2enmod geoip

Méthode 2 - Configuration de l'hôte virtuel

Comme vous avez installé le module, vous devriez avoir installé la base de données GeoIP. Vous pouvez donc simplement modifier la configuration de votre hôte virtuel et apporter les modifications suivantes.

Modifiez la configuration de votre hôte virtuel.

sudo nano /etc/apache2/sites-available/virtualhost.conf

Ajoutez ce qui suit sous ServerAlias directives.

GeoIPEnable On
GeoIPDBFile /usr/share/GeoIP/GeoIP.dat
GeoIPScanProxyHeaders On

Enregistrez et quittez le fichier.

Redémarrer Apache

Vérifiez si la configuration est correcte et redémarrez Apache.

sudo apachectl configtest
sudo service apache2 restart

Vous avez maintenant GeoIP activé.

Gérer les restrictions

Bloquer certains pays

Créez ou ouvrez le fichier .htaccess qui se trouve dans votre répertoire racine Web et ajoutez l'extrait suivant pour bloquer les pays.

SetEnvIf GEOIP_COUNTRY_CODE UA BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE VN BlockCountry
Deny from env=BlockCountry

La configuration ci-dessus bloquera les demandes des 2 pays ci-dessus. Vous pouvez inclure selon votre souhait.

Autoriser certains pays

Créez ou ouvrez le fichier .htaccess qui se trouve dans votre répertoire racine Web et ajoutez l'extrait suivant pour autoriser les pays.

SetEnvIf GEOIP_COUNTRY_CODE US AllowCountry
SetEnvIf GEOIP_COUNTRY_CODE CA AllowCountry
Deny from all

Allow from env=AllowCountry

La configuration ci-dessus n'autorisera que les demandes provenant des 2 pays ci-dessus. Vous pouvez inclure selon votre souhait.

Vous pouvez trouver la liste des codes pays de la base de données officielle maxmind.

Conclusion

Vous avez maintenant appris à configurer les restrictions basées sur GeoIP avec Apache sur vos serveurs Ubuntu ou Debian.

Merci pour votre temps. Si vous rencontrez un problème ou si vous avez des commentaires, veuillez laisser un commentaire ci-dessous.


Linux
  1. Comment activer mod_rewrite sur Apache sur CentOS

  2. Comment configurer l'authentification de base dans Apache à l'aide de .htaccess

  3. Comment installer phpMyAdmin sous Linux en utilisant le code source

  4. Comment configurer un serveur de journalisation centralisé à l'aide de Rsyslog

  5. Comment configurer le module CWP pour WHMCS

Comment installer Nginx avec le module GeoIP

Comment configurer WebDAV à l'aide d'Apache sur CentOS 7

Comment mettre à niveau Apache avec EasyApache ?

Comment configurer un sous-domaine à l'aide de cPanel

Comment configurer le cache Nginx sur un serveur LAMP

Comment bloquer une adresse IP en utilisant .htaccess ?