Cómo instalar y configurar Fail2ban en Ubuntu Server 22.04

Fail2ban es una de las primeras cosas que debes instalar en tus nuevas implementaciones de servidores Linux. Una vez implementado, Fail2ban funciona para prevenir ataques maliciosos y de fuerza bruta en los intentos de inicio de sesión y se puede utilizar para monitorear protocolos como HTTP, SSH y FTP.

Si Fail2ban detecta un intento de inicio de sesión malicioso, bloqueará automáticamente la dirección IP ofensiva, por lo que quien esté intentando el ataque no podrá acceder.

A continuación, te guiaré a través del proceso de instalación de Fail2ban en la última versión de Ubuntu Server (22.04, también conocida como Jammy Jellyfish).

Índice de Contenido
  1. Lo que necesitarás
  2. Cómo instalar Fail2ban
  3. Cómo configurar Fail2ban
  4. Cómo probar Fail2ban
  5. Cómo desbloquear una dirección IP

Lo que necesitarás

Lo único que necesitarás para instalar y ejecutar Fail2ban es una instancia de Ubuntu Server 22.04 y un usuario con privilegios de sudo.

Eso es todo. Aseguremos ese servidor.

Cómo instalar Fail2ban

La instalación de Fail2ban es increíblemente sencilla. Inicia sesión en tu instancia de Ubuntu Server e ingresa el siguiente comando:

Descubre cómo construir aplicaciones sin experiencia previa con DevDojo Pro

sudo apt-get install fail2ban -y

Inicia y habilita el servicio de Fail2ban con:

sudo systemctl enable --now fail2ban

Si estás utilizando el firewall UFW, y deberías hacerlo, es posible que necesites permitir el tráfico SSH hacia el servidor con el siguiente comando:

sudo ufw allow ssh

Cómo configurar Fail2ban

Fail2ban depende de algunos archivos y directorios diferentes, que son:

Python vs R: Cuál es mejor para la ciencia de datos
  • fail2ban.conf: el archivo de configuración principal
  • jail.conf: una configuración de cárcel de ejemplo
  • action.d: contiene varias configuraciones de acciones de Fail2ban para correos electrónicos y firewall, entre otros
  • jail.d: contiene configuraciones adicionales de cárcel de Fail2ban

Vamos a crear un nuevo archivo, jail.local, y configuraremos Fail2ban para prevenir inicios de sesión SSH maliciosos.

Crea el nuevo archivo con:

sudo nano /etc/fail2ban/jail.local

En ese archivo, pega el siguiente contenido:

[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
findtime = 300
bantime = 28800
ignoreip = 127.0.0.1

Aquí tienes la descripción de lo anterior:

  • enabled: habilita la cárcel
  • port: el puerto en el que escuchará Fail2ban
  • filter: el filtro incorporado que usará Fail2ban
  • logpath: el directorio que alberga el registro de Fail2ban
  • maxretry: el número de intentos fallidos permitidos antes de bloquear una dirección IP
  • findtime: el tiempo entre intentos de inicio de sesión fallidos
  • bantime: el número de segundos durante los cuales se bloqueará una dirección IP
  • ignoreip: una dirección IP que será ignorada por Fail2ban

Guarda y cierra el archivo.

¡Descubre las sorpresas de WordPress 6.0!

Reinicia Fail2ban con:

sudo systemctl restart fail2ban

Cómo probar Fail2ban

Inicia sesión en otra máquina y realiza un intento de inicio de sesión SSH en el servidor donde se encuentra Fail2ban. Asegúrate de escribir incorrectamente la contraseña 3 veces.

Después del tercer intento, SSH quedará bloqueado y deberás usar la combinación de teclas CTRL + C para volver al símbolo del sistema. Si intentas iniciar sesión SSH nuevamente, recibirás un error de conexión rechazada.

Cómo desbloquear una dirección IP

Después de las pruebas, es posible que desees desbloquear la dirección IP que utilizaste. Asegúrate de tener una dirección IP bloqueada con el comando:

sudo fail2ban-client status sshd

Cómo crear y usar plantillas personalizadas en Portainer para despliegue de aplicaciones

Deberías ver algo como esto:

Status for the jail: sshd
|- Filter
|  |- Currently failed:     0
|  |- Total failed:         3
|  `- File list:        /var/log/auth.log
`- Actions
|- Currently banned:       1
|- Total banned:           1
`- Banned IP list:    192.168.1.40

Para desbloquear la dirección IP 192.168.1.40, debes ingresar el siguiente comando:

sudo fail2ban-client set sshd unbanip 192.168.1.40

Deberías ver impreso el número uno, porque es la cantidad de direcciones IP que acabas de desbloquear.

También puedes bloquear manualmente una dirección IP con el siguiente comando:

sudo fail2ban-client set sshd banip 192.168.1.40

Los 4 mejores plugins de gestión de proyectos para WordPress

Felicidades, has instalado y configurado correctamente Fail2ban para bloquear inicios de sesión SSH no deseados en tu instancia de Ubuntu Server.

En Newsmatic nos especializamos en tecnología de vanguardia, contamos con los artículos mas novedosos sobre Desarrollo, allí encontraras muchos artículos similares a Cómo instalar y configurar Fail2ban en Ubuntu Server 22.04 , tenemos lo ultimo en tecnología 2023.

Artículos Relacionados

Subir

Utilizamos cookies para mejorar su experiencia de navegación, mostrarle anuncios o contenidos personalizados y analizar nuestro tráfico. Al hacer clic en “Aceptar todo” usted da su consentimiento a nuestro uso de las cookies.