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.