Proteger el servidor de posibles ataques es una tarea básica de cualquier administrador de sistemas. Esto no es tan fácil como parece pero es posible si aprendes a instalar y configurar Fail2ban en CentOS 8. La siguiente guía te será muy útil para este propósito.
Prohibición fallida
Fail2ban es una herramienta de Python que escanea archivos de registro como /var/log/auth.log
y prohíbe las direcciones IP que realizan demasiados intentos fallidos de inicio de sesión. Lo hace actualizando las reglas del cortafuegos del sistema para rechazar nuevas conexiones desde esas direcciones IP, durante un período de tiempo configurable.
De forma predeterminada, Fail2ban se considera listo para usar, ya que incluye algunas configuraciones que le permiten leer muchos archivos de registro y aplicar reglas de protección.
Ampliamente utilizado por muchos administradores de sistemas, Fail2ban puede reducir el riesgo de ataques SSH aunque los desarrolladores advierten que se requieren otras medidas de seguridad para estar realmente protegido. Sin embargo, con Fail2ban podemos tener otra capa de seguridad y hacer que el servidor sea un poco más seguro.
Un detalle que no se puede pasar por alto es que Fail2ban es de código abierto, por lo que puede estar seguro de que su código fuente no contiene puertas traseras ni código malicioso.
Instalar Fail2ban en CentOS 8
A pesar de su popularidad, Fail2ban no está incluido en los repositorios oficiales de CentOS 8. Sin embargo, esto no es un problema para instalarlo.
Entonces, en un entorno de terminal, intente actualizar el sistema operativo
sudo dnf update
Fail2ban está presente en el repositorio de EPEL. Este repositorio aunque externo a CentOS 8 es considerado por muchos como un repositorio fundamental por la gran cantidad de paquetes que posee. Además, se considera bastante seguro y nos ayudará con este proceso.
Entonces, agréguelo al sistema en ejecución.
sudo dnf install epel-release
Una vez instalado el paquete y agregado el repositorio al sistema, podemos instalar Fail2ban:
sudo dnf install fail2ban
Fail2ban se maneja como un servicio del sistema, por lo que debemos iniciarlo con el comando systemctl
sudo systemctl start fail2ban
Es una buena idea iniciarlo con el sistema como un servicio más.
sudo systemctl enable fail2ban
Y puedes comprobar el estado del servicio para ver si se ha iniciado correctamente.
sudo systemctl status fail2ban
Ahora con Fail2ban instalado, podemos configurarlo según nuestras necesidades.
Configurar Fail2ban en CentOS 8
Antes de realizar algunas configuraciones es conveniente conocer algunas cosas sobre cómo gestiona Fail2ban sus archivos de configuración.
De forma predeterminada, el directorio donde residen los archivos de configuración de Fail2ban es /etc/fail2ban/
y habrá dos archivos que no tenemos que modificar, /etc/fail2ban/jail.conf
y /etc/fail2ban/jail.d/00-firewalld.conf
.
Por lo tanto, la forma recomendada de realizar configuraciones es copiar todo el contenido de jail.conf
en un archivo llamado jail.local
en el mismo directorio. Esto se debe a que .local
los archivos sobrescribirán el .conf
archivos También es posible crear el archivo desde cero.
Si copia el contenido de jail.conf
o empezar desde cero, puede agregar su propia configuración.
Por ejemplo, algunas configuraciones básicas para hacer con Fail2ban pueden ser:
- Bantime:Tiempo en segundos que la IP será baneada.
- Maxretry:número de reintentos permitidos antes de ser baneado.
- Findtime:si el host realiza el
maxretry
en la cantidad de tiempo expresada enfindtime
, entonces será prohibido. - Banaction:Acción que realizará el sistema al banear al host.
- Backend:de donde se toman los registros de fail2ban.
También con el ignoreip
valor puede definir una dirección IP o un rango que Fail2ban ignorará.
Protección de SSH con Fail2ban
Uno de los servicios más importantes para proteger es SSH. Para hacerlo, puede agregar al archivo de configuración jail.local
el valor jail.local
.
[ssh] enabled = true port = ssh filter = sshd logpath = /var/log/auth.log
De esta manera, puede proteger SSH rápida y fácilmente.
Para aplicar todos los cambios, reinicie el servicio Fail2ban.
sudo systemctl restart fail2ban
Conclusión
En esta publicación, aprendió cómo configurar Fail2ban para proteger aún más su servidor de los ataques contra los servicios del sistema. Puedes consultar la documentación oficial de Fail2ban donde puedes encontrar muchas configuraciones diferentes.