Sin duda el tema de spam es un cuento de nunca acabar, algo con lo que tenemos que luchar casi a diario, en lo personal a mi me costo mucho aprender a detectar cuando un usuario esta generando spam, pero poco a poco he logrado controlar esta situación y voy a compartir mi experiencia con ustedes si utilizan un servidor con qmail.
- Primero debemos determinar la cantidad de mensajes que están en cola.
-
# /var/qmail/bin/qmail-qstat
messages in queue: 4250
messages in queue but not yet preprocessed: 0Como vemos tenemos 4250 mensajes en cola lo cual es demaciado es eviente que hay spam, con 200 o 300 ya es para preocuparse, así que vamos a verificar la cola de mensajes con qmail-qread.
# /var/qmail/bin/qmail-qread
- Al ejecutar ese comando veras muchos correos quiza saliendo desde el mismo dominio entonces vamos a ver el contenido del correo o correos
- Vamos a encontrar el contenedor del fichero del correo
# /var/qmail/bin/qmail-qread
19 Nov 2012 01:30:59 GMT #6128879 457
remote mahemi@enet.cu
#find /var/qmail/queue/ -name 6129845
/var/qmail/queue/mess/0/6129845
/var/qmail/queue/info/0/6129845
/var/qmail/queue/remote/0/6129845
less /var/qmail/queue/mess/0/6129845
Received: (qmail 21482 invoked by uid 0); 26 Nov 2012 16:22:24 -0000
Received: from usuario (130.255.180.235)
by server with (DHE-RSA-AES256-SHA encrypted) SMTP; 26 Nov 2012 16:22:23 -0000
Received: from localhost (mg-1.iunait.es [46.105.126.200])
by correo (8.13.8/8.13.8) with ESMTP id qAQGJ2Zw017731
for; Mon, 26 Nov 2012 17:22:36 +0100
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=facilisimo.com;
s=mail; t=1353946956;
bh=TpUeLqVxELmRzgCdhgsSi9LYkEjzYSPYVpjwSu70784=;
h=To:From:Date:List-Unsubscribe:Reply-To:Subject:MIME-Version:
Content-Type;
b=cg0F59NmUSCYqVZIwdJ6C8UBRU2u2hv62RJUcDTsGgzBVp2D1uqDF3XBEX8kiYP6B
SPQeNWPn/cVwsJNq7Bljn6CCVdQX7Ni70ceSUoI7J42QC4Q1O0eG6WA0vMIsgCuY3q
eZuHfatoO9fNr1z/TQ0P8UFZO5pf9VebqL0d4xug=
Message-Id: <201211261622.qAQGJ2Zw017731@correo>
To: contabilidad@ccorreo
From: «ofertas facilisimo.com»
Date: Mon, 26 Nov 2012 16:28:42 +0000
x-job: facilisimocom–2012-11-26
x-job-id: facilisimocom–2012-11-26….
Como vez te muestra la IP desde donde se genera el spam, rapidamente debemos borrar el mensaje antes de caer en lista negra, Luego vamos a comprobar si tenemos los mismos mensajes, para eso vamo a analizar el trafico generado desde esa IP
# tcpdump -i eth0 -n src 130.255.180.235 \or dst 130.255.180.235 -w smtp.tcpdump -s 2048
Con lo anterior analizamos el trafico entrante y saliente desde dicha IP y lo guardamos en un archivo que lo nombramos tcpdump para luego analizarlo.
Cuando analices el archivo busca algo como lo siguiente
334 WGTsem56TR52F
hQNsAd==
334 TPAzc3dvdfY9
VBIzGHI=
Ojo que dije algo parecido a eso puede ser que aparezca diferente, quizá maś complejo lo importante es saber identificar que ahí está el usuario y contraseña del spamer o cuenta con problemas.
Ahora vamso a decodificar esos datos para ver el usuario y clave
#perl –MIME::Base64 -e ‘print decode_base64(“dGVzdA==”)’
#perl –MIME::Base64 -e ‘print decode_base64(“MTIzNDU=”)’
Ahora que ya tenemos el usuario y clave del spamer podemos borrar la cuenta o cambiarle la clave y notificar al usuario que no se deben usar claves simples.
Es posible que el spamer haya creados varias cuentas en diferentes dominios con el mismo nombre, peudes buscarlo del siguiente modo.
# mysql -uadmin -p`cat /etc/psa/.psa.shadow` psa
[…]
mysql> SELECT m.mail_name, d.name, a.password FROM mail AS m LEFT JOIN (domains AS d, accounts AS a) ON (m.dom_id = d.id AND m.account_id = a.id) WHERE m.mail_name=’usuario’ AND a.password=’clave′;
+———–+————+———-+
| mail_name | name | password |
+———–+————+———-+
| usuario | dominio.com | clave |
+———–+————+———-+
1 row in set (0.01 sec)
Como vez la segunda línea te muestra el usuario, dominio y clave, luego puedes ir y borrar la cuenta.
Notas Importantes:
Cuando ejecutas /var/qmail/bin/qmail-qread y el resultado del encabezado es algo como esto:
Received: (qmail 25604 invoked from network); 25 feb 2012 18:20:25
Significa que el spam viene de una direccion externa entonces puedes bloquear a dicha IP, pero si el resultado es el siguiente:
Received: (qmail 25604 invoked by uid 1072); 25 feb 2012 18:20:25
Entonces el spam esta siendo generado por un script dentro del servidor en ese caso hay que identificar al uid y eliminarlo o cambiar la contraseña del mismo.
MFCP!!!