¿Cómo podemos ver cuántos intentos de acceso fallidos hay a nuestro servidor de correo?
Básicamente lo que hacemos es buscar en el maillog (Registro) los errores smtp y pop, los ordenamos, juntamos y nos lo mandamos por email.
A parte de este código, hay que añadir que, podemos crearlo como accesos.sh, otorgándole los permisos apropiados (yo tengo 655), y añadimos un cron a ultima hora del día.
Esto ha sido probado en varios servidores con Debian 8.9 y 5
# DATOS
FECHA=$(date +»%d-%m-%Y»)
SERVIDOR=$(hostname -f)
EMAIL=tu@email.com
TEMP=/home/temp.txt
touch $TEMP
echo -e»Servidor: $SERVIDOR\n» >> $TEMP
echo -e»Fecha: $FECHA\n» >> $TEMP
echo «Intentos de acceso ilegales por SMTP: » >> $TEMP
cat /usr/local/psa/var/log/maillog | grep -o ‘smtp_auth: FAILED’ | sed ‘s/smtp_auth: FAILED//’ | sort | uniq -c | sort -rn | head >> $TEMP
echo -e «\nIntentos de acceso ilegales por POP3: » >> $TEMP
cat /usr/local/psa/var/log/maillog | grep -o ‘pop3d: LOGIN FAILED’ | sed ‘s/pop3d: LOGIN FAILED//’ | sort | uniq -c | sort -rn | head >> $TEMP
mail -s «Intentos de acceso en $SERVIDOR a $FECHA» $EMAIL < $TEMP
rm -f $TEMP