Deny-country (Bloqueador de paises y bots para Plesk)

Funciones de la extensión

Esta extensión de Plesk te permitirá: bloquedar el acceso al alojamiento web (sitio web) desde aquellas ubicaciones que consideres conveniente.

Fácilmente podrás bloquear:

  • El acceso desde paises enteros.
  • A aquellos bots que rastrean las webs automáticamente.
  • Bloquear el acceso a determinados archivos únicamente.
  • Realizar un backup del archivo .htaccess y restaurarlo automáticamente.

Mediante este bloqueo lograrás mayor seguridad en tu sitio web al tiempo que logras un menor consumo de tráfico.

Evitaras que recibir spam en forma de comentarios a tu blog o a tu formulario desde los píses que bloqueas.

Requisitos

Para hacer la funcionar la extensión en tu panel de control Plesk necesitarás:

  • Que tu servidor corra sobre Linux.
  • Que la versión de Plesk que utilizas sea la 17.8 o superior.
  • LLevar a cabo la instalación como sysadmin de ciertos módulos de linux (mod_geoip y base de datos de maxmind) así como realizar unos cambios en el sistema de logs.

Por supuesto a continuación te facilitamos las instrucciones para que puedas integrarlo fácilmente.

Instalación

A continuación te indicamos los pasos que debes seguir para poder hacer funcionar la extensión correctamente. Es importante que las ejecutes antes de instalar la extensión desde Plesk.

Por supuesto como te comentabamos tienes que tener acceso SSH a tu servidor.

Si utilizas CENTOS 6, 7 u 8

1 – INSTALA MOD_MAXMINBBD

Para ello debes teclear la instrucción:

# yum install -y httpd-devel gcc GeoIP GeoIP-GeoLite-data GeoIP-devel libmaxminddb libmaxminddb-devel GeoIP-data geolite2-city

# cd /tmp

# wget https://github.com/maxmind/mod_maxminddb/releases/download/1.1.0/mod_maxminddb-1.1.0.tar.gz
# tar xvzf mod_maxminddb-1.1.0.tar.gz
# cd mod_maxminddb-1.1.0

# ./configure
# make install
# vi /etc/httpd/conf.d/geoip.conf

<IfModule mod_maxminddb.c>
MaxMindDBEnable On
MaxMindDBFile CITY_DB /usr/share/GeoIP/GeoLite2-City.mmdb
MaxMindDBEnv GEOIP_COUNTRY_CODE CITY_DB/country/iso_code
MaxMindDBEnv MM_COUNTRY_NAME CITY_DB/country/names/en
</IfModule>

guarde el cambio

2- MODIFICA EL FORMATO DEL LOG DE LOS VIRTUALHOST

– Crea un fichero de configuracion adicional de apache que modifique el formato de log general en /etc/httpd/conf.d/zzzz_deny_country_change_log_httpd.conf con la siguiente linea :

LogFormat "%a %v@@%p@@%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\" GEOIP_COUNTRY_CODE=%{GEOIP_COUNTRY_CODE}e" plesklog

# service httpd configtest && service httpd restart

3 – COMPRUEBA QUE FUNCIONA CORRECTAMENTE

# tail -f /var/www/vhosts/system/domain.com/logs/access_log

# 216.xxx.xx.xxx – – [02/Oct/2019:08:39:07 +0200] “GET /index.html HTTP/1.1″ 200 17902 “-” “Mozilla/5.0 (compatible; DotBot/1.1; http://www.opensiteexplorer.org/dotbot, help@moz.com)” GEOIP_COUNTRY_CODE=US

4 – UNA VEZ HECHO ESTO BUSCA LA EXTENSIÓN “DENY-COUNTRY” EN PLESK E INSTÁLALA
Es importante que antes de instalarla hayas ejecutado las instrucciones
indicadas en los puntos 1 a 3, ya que si no podria no funcionarte correctamente.

Si utilizas Debian o UBUNTU

1 – INSTALA MOD_MAXMINBBD

Para ello debes teclear la instrucción:

# apt-get install geoip-bin geoip-database libmaxminddb-dev apache2-dev

  • Registrate en https://www.maxmind.com/en/geolite2/signup
  • Acceda con tus credenciales en https://www.maxmind.com/en/account/login
  • Haz clic en “Download database” > GeoLite2 City > Download GZIP
  • Descomprime el archivo y sube el fichero GeoLite2-City.mmdb a tu servidor en /usr/share/GeoIP (puedes usar winscp para ello)

# cd /tmp

# wget https://github.com/maxmind/mod_maxminddb/releases/download/1.1.0/mod_maxminddb-1.1.0.tar.gz
# tar xvzf mod_maxminddb-1.1.0.tar.gz
# cd mod_maxminddb-1.1.0

# ./configure
# make install
# vi /etc/apache2/mods-enabled/geoip.conf

<IfModule mod_maxminddb.c>
MaxMindDBEnable On
MaxMindDBFile CITY_DB /usr/share/GeoIP/GeoLite2-City.mmdb
MaxMindDBEnv GEOIP_COUNTRY_CODE CITY_DB/country/iso_code
MaxMindDBEnv MM_COUNTRY_NAME CITY_DB/country/names/en
</IfModule>

guarde el cambio

2- MODIFICA EL FORMATO DEL LOG DE LOS VIRTUALHOST

– Crea un fichero de configuracion adicional de apache que modifique el formato de log general :
/etc/apache2/conf-enabled/zzzz_deny_country_change_log_httpd.conf

con la siguiente linea :

LogFormat "%a %v@@%p@@%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\" GEOIP_COUNTRY_CODE=%{GEOIP_COUNTRY_CODE}e" plesklog

# apache2ctl configtest && service apache2 restart

 

3 – COMPRUEBA QUE FUNCIONA CORRECTAMENTE

# tail -f /var/www/vhosts/system/domain.com/logs/access_log

# 216.xxx.xx.xxx – – [02/Oct/2019:08:39:07 +0200] “GET /index.html HTTP/1.1” 200 17902 “-” “Mozilla/5.0 (compatible; DotBot/1.1; http://www.opensiteexplorer.org/dotbot, help@moz.com)” GEOIP_COUNTRY_CODE=US

4 – UNA VEZ HECHO ESTO BUSCA LA EXTENSIÓN “DENY-COUNTRY” EN PLESK E INSTÁLALA
Es importante que antes de instalarla hayas ejecutado las instrucciones
indicadas en los puntos 1 a 3, ya que si no podria no funcionarte correctamente.

Capturas de pantalla

Leave A Comment

Create your account