Configure el bloqueo basado en GeoIP usando Apache en Ubuntu o Debian. El módulo GeoIP permite al administrador bloquear o redirigir el tráfico según la ubicación.
En esta guía, aprenderá cómo instalar el módulo GeoIP y configurarlo para bloquear países específicos.
Requisitos
Apache instalado y configurado. Puede consultar esta guía sobre cómo instalar y configurar Apache2.
Instalar Módulo GeoIP
Instale el módulo GeoIP para Apache usando el siguiente comando.
sudo apt install libapache2-mod-geoip
Este comando instalará el módulo requerido para Apache.
Habilitar GeoIP
Hay 2 métodos para habilitar GeoIP. Si desea habilitar todo el servidor GeoIP, puede seguir el método 1. Este método tendrá algunos problemas de rendimiento.
También puede habilitar GeoIP desde la configuración de su host virtual.
Método 1:configuración de todo el servidor
Una vez que el módulo esté instalado, edite la configuración del módulo y realice los cambios que se indican a continuación.
Edite el archivo de configuración del módulo de archivos.
sudo nano /etc/apache2/mods-available/geoip.conf
- Establecer la línea GeoIPEnable desde Desactivado a Encendido .
- Elimine los comentarios del archivo GeoIPDB línea.
Su archivo final debería verse como a continuación.
<IfModule mod_geoip.c> GeoIPEnable On GeoIPDBFile /usr/share/GeoIP/GeoIP.dat </IfModule>
Guarde y salga del archivo.
Habilitar módulo.
sudo a2enmod geoip
Método 2:configuración del host virtual
Como tiene instalado el módulo, debe tener instalada la base de datos GeoIP. Por lo tanto, puede editar la configuración de su host virtual y realizar los siguientes cambios.
Edite la configuración de su host virtual.
sudo nano /etc/apache2/sites-available/virtualhost.conf
Agregue lo siguiente debajo de ServerAlias directiva.
GeoIPEnable On GeoIPDBFile /usr/share/GeoIP/GeoIP.dat GeoIPScanProxyHeaders On
Guarde y salga del archivo.
Reiniciar Apache
Compruebe si la configuración es correcta y reinicie Apache.
sudo apachectl configtest sudo service apache2 restart
Ahora tiene GeoIP habilitado.
Administrar restricciones
Bloquear ciertos países
Cree o abra el archivo .htaccess que se encuentra dentro de su directorio raíz web y agregue el siguiente fragmento para bloquear países.
SetEnvIf GEOIP_COUNTRY_CODE UA BlockCountry SetEnvIf GEOIP_COUNTRY_CODE VN BlockCountry Deny from env=BlockCountry
La configuración anterior bloqueará las solicitudes de los 2 países anteriores. Puede incluir según su deseo.
Permitir determinados países
Cree o abra el archivo .htaccess que se encuentra dentro de su directorio raíz web y agregue el siguiente fragmento para permitir países.
SetEnvIf GEOIP_COUNTRY_CODE US AllowCountry SetEnvIf GEOIP_COUNTRY_CODE CA AllowCountry Deny from all Allow from env=AllowCountry
La configuración anterior permitirá solicitudes solo de los 2 países anteriores. Puede incluir según su deseo.
Puede encontrar la lista de Códigos de países de la base de datos oficial maxmind.
Conclusión
Ahora ha aprendido a configurar restricciones basadas en GeoIP con Apache en sus servidores Ubuntu o Debian.
Gracias por tu tiempo. Si tiene algún problema o comentario, deje un comentario a continuación.