Imposta il blocco basato su GeoIP usando Apache su Ubuntu o Debian. Il modulo GeoIP consente all'amministratore di bloccare o reindirizzare il traffico in base alla posizione.
In questa guida imparerai come installare il modulo GeoIP e configurarlo per bloccare paesi specifici.
Prerequisiti
Apache installato e configurato. Puoi consultare questa guida su come installare e configurare Apache2.
Installa il modulo GeoIP
Installa il modulo GeoIP per Apache usando il seguente comando.
sudo apt install libapache2-mod-geoip
Questo comando installerà il modulo richiesto per Apache.
Abilita GeoIP
Esistono 2 metodi per abilitare GeoIP. Se desideri abilitare GeoIP a livello di server, puoi seguire il metodo 1. Questo metodo avrà alcuni problemi di prestazioni.
Puoi anche abilitare GeoIP dalla configurazione del tuo host virtuale.
Metodo 1:configurazione a livello di server
Una volta installato il modulo, modifica la configurazione del modulo e apporta le modifiche elencate di seguito.
Modifica il file di configurazione del modulo file.
sudo nano /etc/apache2/mods-available/geoip.conf
- Imposta la linea GeoIPEnable da Off su Attivo .
- Decommenta il GeoIPDBFile linea.
Il tuo file finale dovrebbe apparire come di seguito.
<IfModule mod_geoip.c> GeoIPEnable On GeoIPDBFile /usr/share/GeoIP/GeoIP.dat </IfModule>
Salva ed esci dal file.
Abilita modulo.
sudo a2enmod geoip
Metodo 2 – Configurazione dell'host virtuale
Poiché hai installato il modulo, dovresti avere installato il database GeoIP. Quindi puoi semplicemente modificare la configurazione del tuo host virtuale e apportare le seguenti modifiche.
Modifica la configurazione dell'host virtuale.
sudo nano /etc/apache2/sites-available/virtualhost.conf
Aggiungi quanto segue sotto ServerAlias direttiva.
GeoIPEnable On GeoIPDBFile /usr/share/GeoIP/GeoIP.dat GeoIPScanProxyHeaders On
Salva ed esci dal file.
Riavvia Apache
Verifica se la configurazione è corretta e riavvia Apache.
sudo apachectl configtest sudo service apache2 restart
Ora hai GeoIP abilitato.
Gestisci le restrizioni
Blocca determinati paesi
Crea o apri il file .htaccess che si trova all'interno della tua directory principale web e aggiungi il seguente snippet per bloccare i paesi.
SetEnvIf GEOIP_COUNTRY_CODE UA BlockCountry SetEnvIf GEOIP_COUNTRY_CODE VN BlockCountry Deny from env=BlockCountry
La configurazione sopra bloccherà le richieste dai 2 paesi sopra indicati. Puoi includere secondo il tuo desiderio.
Consenti determinati paesi
Crea o apri il file .htaccess che si trova all'interno della tua directory principale web e aggiungi il seguente snippet per consentire i paesi.
SetEnvIf GEOIP_COUNTRY_CODE US AllowCountry SetEnvIf GEOIP_COUNTRY_CODE CA AllowCountry Deny from all Allow from env=AllowCountry
La configurazione di cui sopra consentirà richieste solo dai 2 paesi sopra indicati. Puoi includere secondo il tuo desiderio.
Puoi trovare l'elenco dei Codici Paese dal database ufficiale maxmind.
Conclusione
Ora hai imparato come configurare le restrizioni basate su GeoIP con Apache sui tuoi server Ubuntu o Debian.
Grazie per il tuo tempo. In caso di problemi o feedback, si prega di lasciare un commento qui sotto.