resumen: La prohibición de direcciones IP (o Fail2Ban) es una herramienta que protege su servidor y los sitios web alojados contra ataques de fuerza bruta.

En este tema, aprenderá lo siguiente:

  • Activar y configurar Fail2Ban para garantizar una protección óptima con el mínimo esfuerzo.
  • Bloquear manualmente las conexiones desde determinadas direcciones IP y desbloquear manualmente las conexiones desde direcciones IP prohibidas.
  • Asegurarse de que Fail2Ban nunca bloquee las conexiones desde determinadas direcciones IP.
  • Crear, configurar, eliminar, activar y desactivar jails de Fail2Ban, y añadir filtros que usan los jails de Fail2Ban.

Información general

Fail2Ban protege su servidor analizando los archivos de registro de varios servicios de Plesk. Busca entradas que indiquen errores de autenticación, ataques conocidos y otras entradas sospechosas que provengan de direcciones IP específicas. Cuando el número de dichas entradas de registro asociadas a una dirección IP específica alcanza un valor predefinido, Fail2Ban envía un email de notificación o «prohíbe» esa dirección IP (bloquea los accesos desde esa dirección IP añadiendo una regla correspondiente a la configuración del firewall del servidor) durante un período de tiempo predefinido («periodo de prohibición»).

Por ejemplo, con la configuración predeterminada de Fail2Ban activa, una vez que se registra el quinto intento fallido de iniciar sesión en Plesk desde la dirección IP 198.51.100.1 en un periodo de diez minutos, se añade la siguiente regla a la configuración del firewall:

Chain f2b-plesk-login (1 references)
target     prot opt source               destination
REJECT     all  --  198.51.100.1         anywhere             reject-with icmp-port-unreachable

Cuando finaliza el período de prohibición de diez minutos, la dirección IP puede usarse de nuevo y se elimina la regla de firewall correspondiente.

La lógica de Fail2Ban se rige por el uso de «jails». Un jail es una combinación de un «filtro» (un conjunto de una o más expresiones regulares que se usa para detectar infracciones) y una «acción» (una directiva que determina lo que se debe hacer una vez que se ha detectado una cantidad suficiente de infracciones desde una dirección IP específica).

Un único jail suele corresponder a un único servicio que se ejecuta en el servidor, como el servidor web o el servidor SSH. Plesk incluye una serie de jails preconfigurados listos para usar que cubren la mayoría de los servicios de Plesk. También puede añadir jails personalizados manualmente.

Advertencias y limitaciones

Al utilizar Fail2Ban en Plesk, debe tener en cuenta las siguientes limitaciones:

  • Fail2Ban se basa únicamente en direcciones IP y no realiza búsquedas de nombres de host a menos que esté configurado para hacerlo.
  • Fail2Ban debe utilizar su configuración más estricta para brindar protección contra ataques distribuidos por fuerza bruta, dado que identifica a los intrusos por su dirección IP. Dicha configuración puede causar problemas a los usuarios legítimos en caso de falsos positivos.

Activación de Fail2Ban

En los servidores Plesk instalados con el preajuste «Recommended» (Recomendado), Fail2Ban está activado de forma predeterminada y todos los jails predeterminados están activados. Si Fail2Ban no está activado en su servidor (por ejemplo, porque no está instalado), debe instalarlo y activarlo, así como activar los jails predeterminados antes de poder aprovechar la protección que ofrece.

Para instalar y activar Fail2Ban:

  1. Acceso a Plesk.
  2. Vaya a Herramientas y configuración > Prohibición de direcciones IP (Fail2Ban) (en «Seguridad»). Si no se muestra Prohibición de direcciones IP (Fail2Ban), primero debe instalar el componente «Fail2Ban».
  3. Seleccione la casilla «Activar detección de intrusiones» y haga clic en Aplicar.
  4. Vaya a la pestaña «Jails», seleccione todos los jails marcados como «Inactivo» y luego haga clic en Activar.

Fail2Ban funciona ahora con la configuración predeterminada. Para desactivar Fail2Ban, deseleccione la casilla «Activar detección de intrusiones» que se encuentra en la pestaña «Configuración» y haga clic en ACEPTAR.

Configuración de Fail2Ban

La configuración predeterminada de Fail2Ban es óptima en la mayoría de los casos. Sin embargo, es posible que desee cambiarla para que Fail2Ban sea más estricto o indulgente, según sus necesidades.

Para modificar la configuración de Fail2Ban:

  1. Acceso a Plesk.

  2. Vaya a Herramientas y configuración > Prohibición de direcciones IP (Fail2Ban) (en «Seguridad»).

  3. Vaya a la pestaña «Configuración».

  4. (Opcional) Cambie el valor de «Periodo de prohibición de la dirección IP» para que el periodo de prohibición de una dirección IP sea más largo o más corto. Si lo configura en «-1», todas las prohibiciones serán permanentes.

    Un periodo de prohibición más largo mantendrá a un atacante fuera durante más tiempo, pero también mantendrá a un usuario legítimo fuera por más tiempo en caso de un falso positivo. Una prohibición permanente detendrá todos los ataques desde una dirección IP, pero también bloqueará permanentemente a un usuario legítimo en caso de un falso positivo. Puede cancelar manualmente la prohibición de cualquier dirección IP en cualquier momento.

  5. (Opcional) Cambie el valor «Intervalo de tiempo para la detección de ataques subsiguientes» para hacer más largo o corto el periodo en el que permanezca «activa» cualquier entrada de registro individual que indique un error de autenticación o un ataque potencial.

    Cuanto más largo sea el periodo, mayor será la posibilidad de detectar y bloquear ataques que se produzcan a intervalos, así como la posibilidad de falsos positivos, ya que también se realiza el seguimiento de los errores de autenticación de usuarios legítimos durante más tiempo.

  6. (Opcional) Cambie el valor de «Número de errores antes de proceder con la prohibición de la dirección IP» para establecer el número de errores de autenticación o ataques potenciales procedentes de una sola dirección IP que se necesitan para que se prohíba.

    Cuanto menor sea el valor, menos errores de autenticación o ataques potenciales se deben detectar para que se produzca una prohibición. Esto aumenta la seguridad a costa de aumentar también la probabilidad de falsos positivos. Si se establece el valor de este parámetro en «1», se producirá una prohibición cada vez que se detecte un error de autenticación o un ataque potencial, lo que proporciona la máxima protección, pero también maximiza la posibilidad de falsos positivos.

  7. Haga clic en ACEPTAR.

Ahora se aplicará la configuración establecida. Tenga en cuenta que esta configuración también se puede cambiar para jails individuales y que la configuración de un jail individual tiene prioridad sobre la establecida en la pestaña «Configuración».

Proceso manual de prohibición y cancelación de prohibiciones de direcciones IP

Puede ver qué direcciones IP están actualmente prohibidas por Fail2Ban. También puede prohibir manualmente una dirección IP o cancelar manualmente la prohibición de una dirección IP que haya sido prohibida.

Para ver la lista de direcciones IP prohibidas actualmente:

  1. Acceso a Plesk.
  2. Vaya a Herramientas y configuración > Prohibición de direcciones IP (Fail2Ban) (en «Seguridad»).
  3. Vaya a la pestaña «Direcciones IP prohibidas».

image banned ip

En esta pestaña, puede ver todas las direcciones IP que actualmente están prohibidas por Fail2Ban, junto con los nombres de los jails responsables de la prohibición.

Si desea prohibir manualmente una o más direcciones IP:

  1. Acceso a Plesk.
  2. Vaya a Herramientas y configuración > Prohibición de direcciones IP (Fail2Ban) (en «Seguridad»).
  3. Vaya a la pestaña «Direcciones IP prohibidas» y haga clic en Prohibir IP.
  4. Especifique la dirección IP o la máscara de subred CIDR que desea prohibir en «Dirección IP».
  5. Seleccione la duración deseada de la prohibición en «Prohibir la dirección IP» y haga clic en ACEPTAR.

Las direcciones IP especificadas están ahora prohibidas. Puedes verlas en la pestaña «Direcciones IP prohibidas».

Puede cancelar manualmente la prohibición de una dirección IP en cualquier momento, tanto si se prohibió de forma automática o manual.

Si desea cancelar manualmente la prohibición de una o más direcciones IP:

  1. Acceso a Plesk.
  2. Vaya a Herramientas y configuración > Prohibición de direcciones IP (Fail2Ban) (en «Seguridad»).
  3. Vaya a la pestaña «Direcciones IP prohibidas».
  4. Seleccione las direcciones cuya prohibición desee cancelar en la lista de direcciones IP prohibidas actualmente y haga clic en Cancelar la prohibición.

Las direcciones IP seleccionadas ya no están prohibidas.

Cómo impedir que se prohíban direcciones IP o nombres de host específicos

Puede impedir que Fail2Ban prohíba direcciones IP, subredes o nombres de host específicos. Esto se puede utilizar, por ejemplo, para garantizar que Fail2Ban nunca le bloquee el acceso al servidor.

Cómo impedir que se prohíba una dirección IP, una subred o un nombre de host:

  1. Acceso a Plesk.
  2. Vaya a Herramientas y configuración > Prohibición de direcciones IP (Fail2Ban) (en «Seguridad»).
  3. Vaya a la pestaña «Direcciones IP de confianza» y haga clic en Añadir IP de confianza.
  4. Especifique la dirección IP, la máscara de subred CIDR o el nombre de host que desea que no se prohíba nunca en «Dirección IP».
  5. (Opcional) Añada un mensaje que indique la razón por la que se añade la dirección IP, la máscara de subred CIDR o el nombre de host a la lista en «Descripción». Este mensaje se mostrará en la pestaña «Direcciones IP de confianza».
  6. Haga clic en ACEPTAR.

Fail2Ban no prohibirá la dirección IP, máscara de subred CIDR ni nombre de host especificados, aunque desencadenen uno o más jails activos. Puede ver la lista de direcciones IP, máscaras de subred CIDR y nombres de host que Fail2Ban no puede prohibir en la pestaña «Direcciones IP de confianza».

Visualización y descarga del archivo de registro de Fail2Ban

Fail2Ban escribe la información sobre las direcciones IP prohibidas y no prohibidas, así como otra información (como los jails creados o activados) en un archivo de registro. Puede ver los registros de Fail2Ban desde la interfaz gráfica de Plesk y también descargarlos en su ordenador.

Para ver o descargar el archivo de registro de Fail2Ban:

  1. Acceso a Plesk.
  2. Vaya a Herramientas y configuración > Prohibición de direcciones IP (Fail2Ban) (en «Seguridad»).
  3. Vaya a la pestaña «Registros» y haga clic en un archivo de registro para verlo.
  4. (Opcional) Haga clic en el ícono image download icon junto a un archivo de registro para descargarlo en su ordenador.

image fail2ban logs

Activación y desactivación de jails

Para que Fail2Ban proteja un servicio específico de Plesk, el jail correspondiente debe existir y estar activado. Plesk incluye varios jails listos para usar que cubren la mayoría de los servicios de Plesk. Además, se pueden añadir manualmente jails personalizados adicionales.

Para activar un jail:

  1. Acceso a Plesk.
  2. Vaya a Herramientas y configuración > Prohibición de direcciones IP (Fail2Ban) (en «Seguridad») y, a continuación, diríjase a la pestaña «Jails».
  3. Seleccione uno o varios jails y haga clic en el botón Activar. Este botón solo está disponible cuando el servicio Fail2Ban está en ejecución (la casilla «Activar detección de intrusiones» está seleccionada en la pestaña «Configuración»).

Ahora los jails seleccionados están activos. Fail2Ban prohibirá las direcciones IP que desencadenen los jails activados.

Nota: En el caso de que tengan que activarse varios jails simultáneamente, si uno de ellos no se activa, no se activará ninguno de los seleccionados. En este caso, active los jails de uno en uno.

Para desactivar un jail:

  1. Acceso a Plesk.
  2. Vaya a Herramientas y configuración > Prohibición de direcciones IP (Fail2Ban) (en «Seguridad») y, a continuación, diríjase a la pestaña «Jails».
  3. Seleccione uno o varios jails y haga clic en el botón Desactivar.

Ahora los jails seleccionados están inactivos. Fail2Ban ya no prohibirá las direcciones IP que desencadenarían los jails desactivados. También se ha cancelado la prohibición de todas las IP que fueron prohibidas por los jails desactivados.

Nota: Los jails plesk-una-semana-ban y plesk-permanente-ban no se pueden desactivar.

Adición y eliminación de jails personalizados

Si ninguno de los jails predeterminados de Plesk cubre un servicio específico o protege contra un ataque específico, puede corregir ese problema añadiendo un jail personalizado.

Nota: Cuando añada un jail personalizado, probablemente tendrá que añadir un nuevo filtro primero.

Para añadir un jail personalizado:

  1. Acceso a Plesk.

  2. Vaya a Herramientas y configuración > Prohibición de direcciones IP (Fail2Ban) (en «Seguridad») y, a continuación, diríjase a la pestaña «Jails».

  3. Haga clic en Añadir jail.

  4. Dé un nombre al jail en el campo «Nombre».

  5. Seleccione el filtro que utilizará el jail en el menú «Filtrar». Puede utilizar uno de los filtros predeterminados o uno que haya añadido manualmente.

  6. Añada las acciones de jail que se ejecutarán cada vez que se desencade el jail indicándolas de forma libre o seleccionando una de las cuatro acciones preconfiguradas en el menú «Acción» y haciendo clic en Añadir. Están disponibles las siguientes acciones preconfiguradas:

    • iptables prohíbe la dirección IP que ha desencadenado el jail en un único puerto. Especifique los parámetros de la regla de firewall que desea añadir, por ejemplo:

      iptables[chain="INPUT", name="ssh", port="22", protocol="tcp"]

    • iptables-multiport prohíbe la dirección IP que ha desencadenado el jail en varios puertos. Especifique los parámetros de la regla de firewall que desea añadir, por ejemplo:

      iptables-multiport[chain="INPUT", name="apache", port="80,443", protocol="tcp"]

    • iptables-allports prohíbe un atacante en todos los puertos. No es necesario especificar más parámetros que el nombre, por ejemplo:

      iptables-allports[name=recidive]

    • sendmail envía una notificación por email a la dirección de email especificada. Especifique la dirección de email de destino, por ejemplo:

      sendmail[mailcmd='/usr/sbin/sendmail -f "fail2ban@example.com" "mail@example.com"', dest="root", sender="fail2ban", sendername="Fail2Ban", name="default"]

      En este ejemplo, se enviará un email de «fail2ban@example.com» a «mail@example.com».

  7. Especifique uno o más archivos de registro que Fail2ban analizará utilizando el filtro seleccionado en «Ruta del registro».

  8. Especifique la duración de la prohibición en segundos en «Periodo de prohibición de la dirección IP».

  9. Especifique el número de intentos fallidos de inicio de sesión necesarios para que se emita una prohibición «El número máximo de intentos fallidos de inicio de sesión».

  10. Haga clic en ACEPTAR.

Ahora el jail existe y está activo. Puede encontrarlo en la pestaña «Jails».

Para eliminar uno o varios jails personalizados:

  1. Acceso a Plesk.
  2. Vaya a Herramientas y configuración > Prohibición de direcciones IP (Fail2Ban) (en «Seguridad») y, a continuación, diríjase a la pestaña «Jails».
  3. Seleccione uno o varios jails personalizados, haga clic en Eliminar y, a continuación, en Sí, eliminar.

Se eliminan los jails seleccionados y ya no se muestran en la pestaña «Jails». Además, todas las direcciones IP que estaban prohibidas por los jails eliminados pueden utilizarse de nuevo.

Nota: Los jails predeterminados de Plesk no pueden ser eliminados.

Edición de jails

Puede editar las propiedades tanto de los jails predeterminados como personalizados.

Nota: Si se cambian los valores de «Período de prohibición de la dirección IP» o «El número máximo de intentos fallidos de inicio de sesión» de un jail, dichos valores anularán los valores predeterminados especificados en la pestaña «Configuración».

Si desea modificar la configuración de un jail existente:

  1. Acceso a Plesk.
  2. Vaya a Herramientas y configuración > Prohibición de direcciones IP (Fail2Ban) (en «Seguridad») y, a continuación, diríjase a la pestaña «Jails».
  3. Haga clic en el nombre del jail y, a continuación, en Cambiar configuración.
  4. Edite la configuración del jail y haga clic en ACEPTAR.

Se ha aplicado la nueva configuración del jail.

Adición y eliminación de filtros

Un filtro es una combinación de expresiones regulares que se utiliza para analizar archivos de registro en busca de entradas que coincidan con patrones específicos asociados a ataques o errores de autenticación. Por lo general, se necesita al menos un filtro para cada servicio que se desea proteger con Fail2Ban, ya que un filtro destinado a encontrar irregularidades en los archivos de registro de Apache no es adecuado para su uso con Postfix, y viceversa.

Nota: Un filtro debe tener la sintaxis correcta para funcionar correctamente. Aprenda a desarrollar filtros de Fail2Ban.

Para añadir un filtro:

  1. Acceso a Plesk.
  2. Vaya a Herramientas y configuración > Prohibición de direcciones IP (Fail2Ban) (en «Seguridad») y, a continuación, diríjase a la pestaña «Jails».
  3. Haga clic en Administrar filtros y, a continuación, en Añadir filtro.
  4. Especifique el nombre del filtro y la expresión regular utilizada para que coincida con las líneas de los archivos de registro.

Jails de Fail2Ban de Plesk predeterminados

Plesk incluye una serie de jails preconfigurados listos para usar. Estos cubren todos los servicios de hosting (servidor web, servidor de correo, servidor FTP, etc.). Los siguientes jails preconfigurados están disponibles:

Nombre Función
plesk-apache Busca errores de autenticación de Apache.
plesk-apache-badbot Analiza los registros de acceso de Apache en busca de extractores de direcciones de email y escáneres de vulnerabilidad.
plesk-dovecot Busca errores de autenticación de Dovecot IMAP, POP3 y Sieve.
plesk-modsecurity Prohíbe direcciones IP identificadas como peligrosas por el firewall para aplicaciones web de ModSecurity. El jail únicamente puede activarse si se está ejecutando ModSecurity y será efectivo incluso si ModSecurity se está ejecutando en modo «Solo detección».
plesk-one-week-ban Se utiliza para bloquear direcciones IP que han sido prohibidas manualmente durante una semana. Este jail no se puede desactivar ni editar.
plesk-panel Busca errores de autenticación de Plesk.
plesk-permanent-ban Se utiliza para bloquear direcciones IP que han sido prohibidas manualmente de forma permanente. Este jail no se puede desactivar ni editar.
plesk-postfix Busca errores de autenticación de Postfix SMTP y SASL.
plesk-proftpd Busca errores de autenticación de ProFTPD.
plesk-roundcube Busca errores de autenticación de webmail Roundcube.
plesk-wordpress Busca errores de autenticación de WordPress.
recidive Analiza el registro de Fail2Ban en busca de prohibiciones emitidas por otros jails. Bloquea durante una semana el acceso a Plesk o a cualquiera de los servicios de Plesk de aquellas direcciones IP que hayan sido prohibidas reiteradamente por otros jails en un corto periodo de tiempo.
ssh Busca errores de autenticación de SSH.

Filtros de Fail2Ban de Plesk predeterminados

Plesk incluye una serie de filtros preconfigurados listos para usar. Estos cubren todos los servicios de hosting (servidor web, servidor de correo, servidor FTP, etc.). Estos filtros se utilizan en los jails predeterminados de Plesk y también se pueden utilizar con jails personalizados. Están disponibles los siguientes filtros preconfigurados:

Nombre Función
apache-auth Busca errores de autenticación de Apache.
apache-badbots Busca spam bots y bad web crawlers.
plesk-courierlogin Busca errores de autenticación de Courier IMAP y POP3.
plesk-dovecot Busca errores de autenticación de Dovecot IMAP, POP3 y Sieve.
plesk-modsecurity Busca ataques contra aplicaciones web detectados por el firewall para aplicaciones web ModSecurity.
plesk-panel Busca errores de autenticación de Plesk.
plesk-qmail Busca errores de autenticación de Qmail SMTP.
plesk-roundcube Busca errores de autenticación de webmail Roundcube.
plesk-wordpress Busca errores de autenticación de WordPress.
postfix Busca errores de autenticación de Postfix SMTP y SASL.
proftpd Busca errores de autenticación de ProFTPD.
recidive Busca direcciones IP prohibidas reiteradamente por Fail2Ban.
sshd Busca errores de autenticación de SSH.