Cómo configurar Fail2Ban en CentOS

Introducción a Fail2Ban

Por defecto, un cliente se conecta a SSH usando el puerto 22. Debido a que este es un puerto bien conocido, la configuración predeterminada es vulnerable a muchos ataques de fuerza bruta. Fail2Ban es una solución para proteger automáticamente un servidor de estos ataques. El programa se ejecuta en segundo plano, escanea los archivos de registro para detectar qué IP están atacando y les prohíbe automáticamente el acceso a SSH.

Instalar Fail2Ban

En este tutorial, instalaremos Fail2Ban en CentOS 6 a través del repositorio EPEL. Ejecute los siguientes comandos.

yum install epel-release
yum install fail2ban

Explicación

  • yum install epel-release: Instala el repositorio EPEL (Paquetes adicionales para Enterprise Linux).
  • yum install fail2ban: Instala Fail2Ban desde el repositorio EPEL.

Configurar la configuración de Fail2Ban

Abra el archivo de configuración Fail2Ban.

nano /etc/fail2ban/jail.conf

En el archivo, verá algunos parámetros como se muestra a continuación. Ajuste cualquiera de los valores a sus necesidades.

[DEFAULT]

# "ignoreip" can be an IP address, a CIDR mask or a DNS host. Fail2ban will not
# ban a host which matches an address in this list. Several addresses can be
# defined using space separator.
ignoreip = 127.0.0.1

# "bantime" is the number of seconds that a host is banned.
bantime = 600

# A host is banned if it has generated "maxretry" during the last "findtime"
# seconds.
findtime = 600

# "maxretry" is the number of failures before a host get banned.
maxretry = 3

Explicación

  • ignoreip: No prohíba los hosts que coincidan con una dirección en esta lista. Se pueden definir varias direcciones usando un separador de espacio. Escriba su IP personal en esta línea.
  • bantime: La cantidad de segundos que un host está prohibido.
  • findtime: Un host está prohibido si se ha generado maxretrydurante el último findtime.
  • maxretry: El número de fallas antes de que un host sea prohibido.

Configuración de Fail2Ban para proteger SSH

Primero, necesitamos crear un archivo de configuración.

nano /etc/fail2ban/jail.local

Copie las líneas a continuación y péguelas en el archivo.

[ssh-iptables]

enabled  = true
filter   = sshd
action   = iptables[name=SSH, port=ssh, protocol=tcp]
#           sendmail-whois[name=SSH, dest=root, sender=fail2ban@example.com]
logpath  = /var/log/secure
maxretry = 5
  • enabled: Activa la protección. Si desea desactivarlo, cambie el valor a falso.
  • filter: De forma predeterminada, se establece en sshd que se refiere al archivo /etc/fail2ban/filter.d/sshd.conf.
  • action: Fail2Ban prohibirá la IP que coincida con el filtro /etc/fail2ban/action.d/iptables.conf. Si había cambiado el puerto SSH anteriormente, cambie port=sshal nuevo puerto, por ejemplo port=2222. Si está utilizando el puerto 22, no necesitará cambiar el valor.
  • logpath: La ruta del archivo de registro utilizado por Fail2Ban.
  • maxretry: El número máximo de intentos fallidos de inicio de sesión.

Iniciando el servicio Fail2Ban

Ejecute estos dos comandos a continuación para iniciar el servicio Fail2Ban:

chkconfig --level 23 fail2ban on
service fail2ban start

Finalmente, verifique iptablessi tiene las reglas agregadas por Fail2Ban.

iptables -L

El resultado será similar a esta salida.

Chain INPUT (policy ACCEPT)
target prot opt source destination
f2b-SSH tcp -- anywhere anywhere tcp dpt:EtherNet/IP-1

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

Chain f2b-SSH (1 references)
target prot opt source destination
RETURN all -- anywhere anywhere

Cómo rastrear intentos fallidos de inicio de sesión

Puede usar este comando para verificar si su servidor ha tenido intentos fallidos de inicio de sesión (posibles ataques).

cat /var/log/secure | grep 'Failed password'

El resultado será similar a estas líneas.

Dec  6 22:47:12 vultr sshd[7942]: Failed password for root from 43.229.53.67 port 23021 ssh2
Dec  6 22:47:15 vultr sshd[7944]: Failed password for root from 43.229.53.67 port 40996 ssh2
Dec  6 22:47:16 vultr sshd[7944]: Failed password for root from 43.229.53.67 port 40996 ssh2
Dec  6 22:47:18 vultr sshd[7944]: Failed password for root from 43.229.53.67 port 40996 ssh2
Dec  6 22:47:31 vultr sshd[7948]: Failed password for root from 43.229.53.67 port 29907 ssh2
Dec  6 22:47:34 vultr sshd[7948]: Failed password for root from 43.229.53.67 port 29907 ssh2
Dec  6 22:47:36 vultr sshd[7948]: Failed password for root from 43.229.53.67 port 29907 ssh2
Dec  6 22:47:39 vultr sshd[7950]: Failed password for root from 43.229.53.67 port 48386 ssh2
Dec  6 22:47:41 vultr sshd[7950]: Failed password for root from 43.229.53.67 port 48386 ssh2
Dec  6 22:47:43 vultr sshd[7950]: Failed password for root from 43.229.53.67 port 48386 ssh2
Dec  6 22:47:47 vultr sshd[7952]: Failed password for root from 43.229.53.67 port 62846 ssh2
Dec  6 22:47:49 vultr sshd[7952]: Failed password for root from 43.229.53.67 port 62846 ssh2

Para ver qué IP se han prohibido, use el siguiente comando.

iptables -L -n

Para eliminar una dirección IP de la lista de prohibidos, ejecute el siguiente comando. Cambie banned_ipa la IP que desea deshacer.

iptables -D f2b-SSH -s banned_ip -j DROP

Dejar un comentario

ZPanel y Sentora en CentOS 6 x64

ZPanel y Sentora en CentOS 6 x64

ZPanel, un panel de control de alojamiento web popular, se bifurcó en 2014 a un nuevo proyecto llamado Sentora. Aprende a instalar Sentora en tu servidor con este tutorial.

Cómo instalar Vtiger CRM Open Source Edition en CentOS 7

Cómo instalar Vtiger CRM Open Source Edition en CentOS 7

Aprende cómo instalar Vtiger CRM, una aplicación de gestión de relaciones con el cliente, en CentOS 7 para aumentar tus ventas y mejorar el servicio al cliente.

Cómo instalar el servidor Counter-Strike 1.6 en Linux

Cómo instalar el servidor Counter-Strike 1.6 en Linux

Esta guía completa le mostrará cómo configurar un servidor Counter-Strike 1.6 en Linux, optimizando el rendimiento y la seguridad para el mejor juego. Aprende los pasos más recientes aquí.

¿Puede la IA luchar con un número cada vez mayor de ataques de ransomware?

¿Puede la IA luchar con un número cada vez mayor de ataques de ransomware?

Los ataques de ransomware van en aumento, pero ¿puede la IA ayudar a lidiar con el último virus informático? ¿Es la IA la respuesta? Lea aquí, sepa que la IA es una bendición o una perdición

ReactOS: ¿Es este el futuro de Windows?

ReactOS: ¿Es este el futuro de Windows?

ReactOS, un sistema operativo de código abierto y gratuito, está aquí con la última versión. ¿Puede satisfacer las necesidades de los usuarios de Windows de hoy en día y acabar con Microsoft? Averigüemos más sobre este estilo antiguo, pero una experiencia de sistema operativo más nueva.

Manténgase conectado a través de la aplicación de escritorio WhatsApp 24 * 7

Manténgase conectado a través de la aplicación de escritorio WhatsApp 24 * 7

Whatsapp finalmente lanzó la aplicación de escritorio para usuarios de Mac y Windows. Ahora puede acceder a Whatsapp desde Windows o Mac fácilmente. Disponible para Windows 8+ y Mac OS 10.9+

¿Cómo puede la IA llevar la automatización de procesos al siguiente nivel?

¿Cómo puede la IA llevar la automatización de procesos al siguiente nivel?

Lea esto para saber cómo la Inteligencia Artificial se está volviendo popular entre las empresas de pequeña escala y cómo está aumentando las probabilidades de hacerlas crecer y dar ventaja a sus competidores.

La actualización complementaria de macOS Catalina 10.15.4 está causando más problemas que resolver

La actualización complementaria de macOS Catalina 10.15.4 está causando más problemas que resolver

Recientemente, Apple lanzó macOS Catalina 10.15.4, una actualización complementaria para solucionar problemas, pero parece que la actualización está causando más problemas que conducen al bloqueo de las máquinas Mac. Lee este artículo para obtener más información

13 Herramientas comerciales de extracción de datos de Big Data

13 Herramientas comerciales de extracción de datos de Big Data

13 Herramientas comerciales de extracción de datos de Big Data

¿Qué es un sistema de archivos de diario y cómo funciona?

¿Qué es un sistema de archivos de diario y cómo funciona?

Nuestra computadora almacena todos los datos de una manera organizada conocida como sistema de archivos de diario. Es un método eficiente que permite a la computadora buscar y mostrar archivos tan pronto como presiona buscar.