GNU/Linux >> Linux Esercitazione >  >> Linux

Come impostare il blocco GeoIP utilizzando Apache

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.


Linux
  1. Come abilitare mod_rewrite su Apache su CentOS

  2. Come impostare l'autenticazione di base in Apache utilizzando .htaccess

  3. Come installare phpMyAdmin in Linux usando il codice sorgente

  4. Come configurare il server di registrazione centralizzato utilizzando Rsyslog

  5. Come ricompilare Apache usando EasyApache da WHM?

Come installare Nginx con il modulo GeoIP

Come configurare WebDAV utilizzando Apache su CentOS 7

Come aggiornare Apache utilizzando EasyApache?

Come configurare un sottodominio utilizzando cPanel

Come configurare la cache Nginx su un server LAMP

Come bloccare un indirizzo IP usando .htaccess?