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.

  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

    Existe 2 opciones que deben funcionar :

    Opcion 1 :
    - Crea un fichero de configuracion adicional de apache que modifique el formato de log general :
    /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

    Opcion 2 :
    # cp /usr/local/psa/admin/conf/templates/default/server.php /usr/local/psa/admin/conf/templates/custom/server.php #service httpd configtest && service httpd restart

    # replace '"" plesklog' '" GEOIP_COUNTRY_CODE=%{GEOIP_COUNTRY_CODE}e" plesklog' --/usr/local/psa/admin/conf/templates/custom/server.php

    # plesk sbin httpdmng --reconfigure-server


    #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.

Capturas de pantalla

Leave A Comment

Create your account