Guiden kan benyttes dersom du ønsker å blokkere eller tillate trafikk fra enkelte land. Guiden tar i tillegg høyde for å tillate kommunikasjon fra eget LAN. (Ikke LAN Marie Berg Ngyen, altså, men f.eks 192.168.10.0/24).

Sjekk først at du har geoip_module installert:

nginx -V

Installer geoip-database:

sudo apt-get install geoip-database libgeoip1

Endre nginx config i /etc/nginx/nginx.conf og legg til følgende i http()-blokken før include-statement:

geo $localnet {
default 0;
192.168.10.0/24 1;
}
geoip_country /usr/share/GeoIP/GeoIP.dat;

I virtual host, legg til følgende i server-blokken, hvor ($geoip_country_code !~ (NO|US)) modifiseres med tillatte landskoder etter eget ønske, i dette tilfellet Norge og USA:

set $geoblock 0;
if ($geoip_country_code !~ (NO|US)) {
        set $geoblock 1;
        }
if ($localnet = 1) {
        set $geoblock 0;
        }
if ($geoblock = 1){
        return 403;
}

Til slutt – restart nginx:

sudo systemctl reload nginx

Praktisk tips med kommando for å finne unike IP-adresser i access log, dersom du ønsker å sjekke hvilke IP-adresser som allerede aksesserer ditt system:

cat nginx-eksempel.access.log | cut -f1 -d ' ' | sort | uniq -c
Legg igjen en kommentar 0

Your email address will not be published. Required fields are marked *