jueves, 3 de abril de 2014

Identificar posible SPAM con postfix y BASH (script)

Este script lo que hace es mostrar cuantas veces se repite un correo como remitente  tanto en los correos enviados, como en las colas de correo (que están por enviarse)

Con esto podemos identificar algún spammer y actuar ante ello.

Les dejo el script:

#!/bin/bash
tail -8000 /var/log/postfix-in.log |grep from= | grep [a-z]@[a-z] | awk '{print $7}' |grep -v reject > correos.txt

fentrada="correos.txt"
cat $fentrada | while read line; do
  veces=`cat $fentrada | grep $line | wc -w`
         echo -e "   $veces\t$line" >> uno.txt
  done

echo -e ""
echo -e "---------------------------------------------"
echo -e "CORREOS ENVIADOS"
echo -e ""
cat uno.txt | sort | uniq
echo -e "---------------------------------------------"
echo -e "CORREOS EN COLA :"
echo -e ""
postqueue -p | grep [a-z]@[a-z] |awk '{print $7}' > cola.txt

entrada="cola.txt"
cat $entrada | while read linea; do
 veces=$(cat $entrada | grep -o "$linea" | wc -w)
 echo -e  "   $veces\t$linea" >> dos.txt
done
cat dos.txt | sort | uniq


rm correos.txt
rm uno.txt
rm cola.txt
rm dos.txt

El resultado de la ejecución de este script se ve de esta manera:


No hay comentarios: