Todo comenzó cuando de repente en mi log de correo (ubicado en /var/log/mail.log) empecé a detectar un montón de intentos de logueos fallidos en el servidor. Algo mas o menos parecido a esto:
postfix/smtpd[4679]: warning: unknown[ip de conexión]: SASL LOGIN authentication failed: authentication failureEstaba confiado porque tenía instalado el fail2ban en virtualmin, así que pensé que luego de un rato la ip atacante, supongo por fuerza bruta, pararía y entraría en en lista de ips baneadas (ignoradas), para ver las protecciones instaladas con fail2ban teclie:
# fail2ban-client statusEso muestra el estatus actual del fail2ban , asi como las protecciones, como el log me decía que era por medio de SASL el ataque, procedi a dar (de acuerdo a la lista)
#fail2ban-client status postfix-saslNo me aparecía nada! No detectaba ninguna ip con intentos de conexión. Pero en el reporte decía File list: /var/log/mail.warm pero mis warnings no estaban ahi, pues el virtualmin envia los logs de correo a /var/log/mail.log
Para resolver el problema de lectura de logs del fail2ban en virtualmin, editamos el archivo /etc/fail2ban/jail.local
Buscamos el registro para postfix, dovecot y sasl (postfix-sasl) y añadimos la siguiente linea:
logpath = /var/log/mail.log

Reiniciamos el servicio del fail2ban con
#service fail2ban restartY listo.
Si queremos testear el filtro con expresiones regulares dado de alta pasando a través de mail.log podemos poner el siguiente comando:
#fail2ban-regex /var/log/mail.log /etc/fail2ban/filter.d/postfix-sasl.conf
Nos dará el resultado encontrados para la expresión regular marcada para el postfix-sasl.
Si queremos ver si está funcionando, escribimos nuevamente
#fail2ban-client status postfix-saslY verémos si está funcionando.
Este fixed es necesario para virtualmin recien instalado en un ubuntu (o debian u otros) nuevos , en este caso ubuntu 16.04. Si es un virtualmin actualizado de versiones anteriores, no es necesario.
