Búsqueda de sitios web

Cómo instalar Fail2Ban para proteger SSH en CentOS/RHEL 8


Fail2ban es una herramienta de prevención de intrusiones gratuita, de código abierto y ampliamente utilizada que escanea archivos de registro en busca de direcciones IP que muestren signos maliciosos, como demasiadas contraseñas fallidas y mucho más, y las prohíbe (actualiza el firewall reglas para rechazar las direcciones IP). De forma predeterminada, viene con filtros para varios servicios, incluido sshd.

Lea también: Configuración inicial del servidor con CentOS/RHEL 8

En este artículo, explicaremos cómo instalar y configurar fail2ban para proteger SSH y mejorar la seguridad del servidor SSH contra ataques de fuerza bruta en CentOS/RHEL 8.

Instalación de Fail2ban en CentOS/RHEL 8

El paquete fail2ban no está en los repositorios oficiales pero está disponible en el repositorio EPEL. Después de iniciar sesión en su sistema, acceda a una interfaz de línea de comandos, luego habilite el repositorio EPEL en su sistema como se muestra.

dnf install epel-release
OR
dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

Luego, instale el paquete Fail2ban ejecutando el siguiente comando.

dnf install fail2ban

Configuración de Fail2ban para proteger SSH

Los archivos de configuración fail2ban se encuentran en el directorio /etc/fail2ban/ y los filtros se almacenan en el directorio /etc/fail2ban/filter.d/. directorio (el archivo de filtro para sshd es /etc/fail2ban/filter.d/sshd.conf).

El archivo de configuración global para el servidor fail2ban es /etc/fail2ban/jail.conf, sin embargo, no se recomienda modificar este archivo directamente, ya que probablemente se sobrescribirá o mejorará en caso de un paquete. actualizar en el futuro.

Como alternativa, se recomienda crear y agregar sus configuraciones en un archivo jail.local o archivos .conf separados en /etc/fail2ban/jail. directorio d/. Tenga en cuenta que los parámetros de configuración establecidos en jail.local anularán lo que esté definido en jail.conf.

Para este artículo, crearemos un archivo separado llamado jail.local en el directorio /etc/fail2ban/ como se muestra.

vi /etc/fail2ban/jail.local

Una vez que el archivo esté abierto, copie y pegue la siguiente configuración en él. La sección [DEFAULT] contiene opciones globales y [sshd] contiene parámetros para la cárcel sshd.


[DEFAULT] 
ignoreip = 192.168.56.2/24
bantime  = 21600
findtime  = 300
maxretry = 3
banaction = iptables-multiport
backend = systemd

[sshd] 
enabled = true

Expliquemos brevemente las opciones en la configuración anterior:

  • ignoreip: especifica la lista de direcciones IP o nombres de host que no se prohibirán.
  • bantime: especifica el número de segundos que un host está prohibido (es decir, la duración efectiva de la prohibición).
  • maxretry: especifica el número de errores antes de que se prohíba un host.
  • findtime: fail2ban prohibirá un host si ha generado "maxretry" durante los últimos "findtime" segundos.
  • banaction: acción de prohibición.
  • backend: especifica el backend utilizado para obtener la modificación del archivo de registro.

La configuración anterior, por lo tanto, significa que si una IP ha fallado 3 veces en los últimos 5 minutos, prohibirla durante 6 horas e ignorar el Dirección IP 192.168.56.2.

A continuación, inicie y habilite el servicio fail2ban por ahora y verifique si está funcionando usando el siguiente comando systemctl.

systemctl start fail2ban
systemctl enable fail2ban
systemctl status fail2ban

Monitoreo de direcciones IP fallidas y prohibidas usando fail2ban-client

Después de configurar fail2ban para proteger sshd, puede monitorear las direcciones IP fallidas y prohibidas utilizando el fail2ban-client. Para ver el estado actual del servidor fail2ban, ejecute el siguiente comando.

fail2ban-client status

Para monitorear la cárcel sshd, ejecute.

fail2ban-client status sshd

Para desbloquear una dirección IP en fail2ban (en todas las cárceles y bases de datos), ejecute el siguiente comando.

fail2ban-client unban 192.168.56.1

Para obtener más información sobre fail2ban, lea las siguientes páginas de manual.

man jail.conf
man fail2ban-client

¡Eso resume esta guía! Si tiene alguna pregunta o idea que desee compartir sobre este tema, no dude en comunicarse con nosotros a través del formulario de comentarios a continuación.