Configurar Proteção de GEO IP no Apache2 (Proxy Reverso ou Publicação de Websites).

Apache Reverse Proxy with GeoIP


O Apache pode usar os módulos mod_geoip ou mod_maxminddb para restringir o acesso com base no país de origem da requisição ao serviço.

Abaixo explicamos como implementar esta modalidade de proteção.

a. Instalar Modulo GeoIP Module

  • Para instalar o GeoIP executar o comando sudo apt-get install libapache2-mod-geoip geoip-database
  • Para instalar o GeoLite2: Você precisa instalar os modulo mod_maxminddb sudo apt-get install libmaxminddb-dev mmdb-bin

b. Configurar o Apache com GeoIP

Após instalar os módulos GeoIP or GeoLite2, necessário configurar o apache:

  1. Habilitar os módulos sudo a2enmod geoip
  2. Configurar o virtual host que está sendo exposto no proxyreverso utilizando como referencia o EXEMPLO abaixo:
<VirtualHost *:80>
ServerName yourdomain.com

ProxyPass / http://backend_server/
ProxyPassReverse / http://backend_server/

GeoIPEnable On
GeoIPDBFile /usr/share/GeoIP/GeoIP.dat

SetEnvIf GEOIP_COUNTRY_CODE BR AllowCountry
SetEnvIf GEOIP_COUNTRY_CODE IT AllowCountry
SetEnvIf GEOIP_COUNTRY_CODE AR AllowCountry
SetEnvIf GEOIP_COUNTRY_CODE MA AllowCountry
SetEnvIf GEOIP_COUNTRY_CODE MX AllowCountry


<Location />
Order deny,allow
Deny from all
Allow from env=AllowCountry
</Location>
</VirtualHost>
  • A variavel SetEnvIf GEOIP_COUNTRY_CODE permite o acesso a partir destes paises.
  • As diretivas Order deny,allow e Deny from all bloqueiam todo o acesso, exceto para os países definidos em AllowCountry.

Testado no Ubuntu 20.04.6.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *