2009-12-23

Revisar Listas Negras de Spam desde Consola

Como en esta época el trabajo "disminuye" tengo mas tiempo para leer y estudiar, uno de los blog que leo es blog.segu-info.com.ar, donde me encontré una entrada super interesante y que para mi trabajo es ideal y nos permite revisar mas de 90 listas negras de spam desde consola con un script realizado en perl que esta muy bien echo, este script lo puedes descargar de aquí, la idea original es de What Is My IP Address? y ese es el entrono web de la aplicación.

bueno una vez descargado el archivo los descomprimes y colocas el ejecutable en /usr/sbin para guardar el orden así

root@locahost:~#mv amISpammer.pl /usr/sbin

Bueno el tiene un modulo para enviarte automáticamente un correo que se llama Mailer::Sender, al verdad no se bien como se compila ni configura por defecto no viene instalado por lo que para que me funcionara simplemente le modifique la linea 104 del script (si ven por que es genial poder manejar el código fuente de las cosas y no que nos oculten todo), esa linea quedo así

if ($from && $to) #Just in case of optional mailing needed
{
#use Mail::Sender;
$sender = new Mail::Sender{smtp => $smtp, from => $from};
$sender->MailMsg({to => $to, subject => $subjemail, msg => $messemail});

Listo después debes identificar cual es el registro MX de tu dominio de correo, ya que no siempre es la misma IP por la que navegas, eso lo haces así

root@locahost:~# dig mx dominio.com
; <<>> DiG 9.6.1-P2 <<>> mx pruebas.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 64262
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 1

;; QUESTION SECTION:
;pruebas.com. IN MX

;; ANSWER SECTION:
pruebas.com. 3600 IN MX 10 brown.cow.com.au.

;; AUTHORITY SECTION:
pruebas.com. 3600 IN NS ns1.telstra.net.
pruebas.com. 3600 IN NS ns0.telstra.net.

;; ADDITIONAL SECTION:
brown.cow.com.au. 172799 IN A 39.174.420.5

;; Query time: 692 msec
;; SERVER: 192.168.5.1#53(192.168.5.1)
;; WHEN: Wed Dec 23 11:36:54 2009
;; MSG SIZE rcvd: 124



Los datos importantes son los que están en resaltados, ya tenemos la IP, ahora si podemos ejecutar el script, le cual lo hacemos así

root@locahost:~#amISpamer.pl -i 39.174.420.5

con esto nos dice si estamos o no reportados en alguna de las lista de las que revisa, marcando con la palabra red si estamos reportados en dicha lista, si queremos ver el resultado de cada una ejecutamos así

root@locahost:~#amISpamer.pl -i 39.174.420.5 -v2


Acá te muestra el resultado con todas las listas entonces hay 4 opciones que son:

red : Estas reportado en esa lista
green : No estas reportado en esa lista
blue : La lista emitió un error o se demoro mucho para contestar
gray : La lista no esta disponible


Ahora la intensión es colocarlo automático, entonces lo colocamos en el crontab la siguiente linea para que se ejecute todos los días a las 4 am y nos envié un correo así

0 4 * * * /usr/sbin/amISpamer.pl -i 39.174.420.5 -v2 | mail -s "reporte spamer" tu.cuenta@dominio.com


espero les sirva.