Fail2ban es una aplicación escrita en Python para la prevención de intrusos en un sistema, que se basa en la penalización de conexión (bloquear conexión) a los orígenes que intentan accesos por fuerza bruta.
Se distribuye bajo la licencia GNU y típicamente funciona en todos los sistemas POSIX que tengan interfaz con un sistema de control de paquetes o un firewall local.
Instalación.
apt-get install fail2ban
Configuración.
Para configurar fail2ban tenemos que acceder a los archivos ubicados en en/etc/fail2ban/.
El archivo principal y el que vamos a configurar en este post en jail.conf
Les dejo un pequeño listado con las palabras y definiciones mas comunes que vamos a encontar en este archivo:
ignoreip : IP que deseamos que ignore fail2ban
bantime : Tiempo que tendra que esperar el usuario que supero la cantidad maxima de logueos (segundos)
maxretry : Numero de intentos de logeo.
destemail: Dirección de correo donde nos enviará las nuevas alertas (se debe tener configurado un SMTP)
action : Simboliza la manera en que iptables aplicara las reglas
enable : Activa o desactiva la verificación del servicio para Fail2ban (TRUE , FALSE)
port : Nombre del servicio que está relacionado con el puerto por ejemplo "ssh"
logpath : Ruta donde se ubicaran los ficheros Logs para ver toda la información según cual sea el servicio.
Ahora empecemos a modificar el archivo jail.conf
Ahora modificaremos la siguiente linea para agregar el correo de destino para las notificaciones de fail2ban, en caso de no estar presente en el archivo la podemos agregar.
destemail = piruo7@debian.com
Es recomendable que agreguemos en la linea “ignoreip” nuestra ip local, o la de algun servidor con el que podamos conectar en caso de que por error nos bloqueemos nosotros mismos:
ignoreip = 127.0.0.1
Buscar la siguiente linea y establecer el tiempo de prohibicion:
bantime = 600
Proteger el servidor SSH contra intentos de accesos fallidos:
[ssh]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 6
Habilitar proteccion para Apache:
[apache]
enabled = true
port = http,https
filter = apache-auth
logpath = /var/log/apache*/*error.log
maxretry = 6
Habilitar proteccion para vsftpd:
[vsftpd]
enabled = true
port = ftp,ftp-data,ftps,ftps-data
filter = vsftpd
logpath = /var/log/vsftpd.log
maxretry = 4
Tambien podemos habilitar y configurar la proteccion otros servicios como, Nginx, qmail, proftpd, sasl, asterisk, postfix, courier, Bind, etc.
Reiniciareamos Fail2ban
/etc/init.d/fail2ban restart
Probar la configuracion
fail2ban-client -d
El comando anterior vertera la configuracion y mostrara los errores de la misma
Monitorear el registro de Fail2ban:
tail -f /var/log/fail2ban.log
Si quieren monitorear el servicio SSH lo que tiene que hacer es lo siguiente:
tail -f var/log/auth.log
La ruta del archivo cambia dependiendo a la configuracion que ustedes pusieron.
Si te ha gustado el artículo inscribete al feed clicando en la imagen más abajo para tenerte siempre actualizado sobre los nuevos contenidos del blog:
0 comments:
No insertes enlaces clicables, de lo contrario se eliminará el comentario. Si quieres ser advertido via email de los nuevos comentarios marca la casilla "Notificarme". Si te ayudé con la publicación o con las respuestas a los comentarios, compártelo en Facebook, Twitter, Tumblr, Google +, Pinterest o Instagram. Gracias.