Nginx – Interdire les IP d’un pays
décembre 7, 2016 11:23 Laissez vos commentairesBonjour à tous,
Dans ce tutoriel, nous allons apprendre à bloquer toutes les IP associées à un pays et référencées dans une base GeoIP.
Dans notre exemple, nginx est installé en tant que reverse proxy. Nous allons vérifier que la base GeoIP est présente, sinon il faudra l’installer :
apt-get install geoip-database libgeoip1
Télécharger une version récente de cette base :
cd /usr/share/GeoIP/ wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz gunzip GeoIP.dat.gz
Dans le fichier nginx.conf, juste après la balise http : :
nano /etc/nginx/nginx.conf geoip_country /usr/share/GeoIP/GeoIP.dat; map $geoip_country_code $allowed_country default yes; RU no; CN no;
Nous considérons ici que toutes les ip sont autorisées sauf les ip russes et chinoises ( exemple choisi au hasard bien entendu 😉
Il faut ensuite renvoyer une page, 444 ou 403 en cas d’IP non autorisée. Cette configuration s’effectue au niveau des paramètres du site sous la balise server :
nano /etc/nginx/sites-enabled/monsite.conf if ($allowed_country = no) return 444;
Terminé!
A+
Classés dans :Linux
Cet article a été écrit par admin