Servidor de correo Qmail con Plesk - Ayuda y Mantenimiento
Recopilacion de Articulos que me han sido utiles para darle mantenimiento y gestion de : Qmail, Deteccion de spam, Mantenimiento de la cola de correo, etc.
Para iniciar, parar o reiniciar el servidor plesk / psa:
/etc/init.d/psa stop o psa start
Para iniciar, parar o reiniciar el servidor de correo por comandos:
/etc/init.d/qmail restart | stop | start
Manejar la Cola de Correo Qmail con Plesk
Para ver las estadísticas de la cola:
/usr/local/psa/admin/bin/mailqueuemng -s
Messages in local queue: 0 Los mensajes en cola local: 0
Messages in remote queue: 0 Los mensajes en cola remota: 0
Messages in todo queue: 0 Los mensajes en cola de hacer: 0
Messages total: 0 Total de mensajes: 0
Messages found: 0 Los mensajes encontrados: 0
Timestamp: 1215870834 Timestamp: 1215870834
– -
De esto se puede ver el estado de qmails local, remoto y hacer la lista.
- Si usted desea hacer una entrega de los mensajes en cola ahora ejecutar el siguiente comando
/usr/local/psa/admin/bin/mailqueuemng -a
- Para una lista de cola de mensajes remotos:
/usr/local/psa/admin/bin/mailqueuemng -R
- lista de cola de mensajes local:
/usr/local/psa/admin/bin/mailqueuemng -L / Usr / local / psa / admin / bin / mailqueuemng L-
- Para borrar los mensajes con un patrón particular en el asunto
/usr/local/psa/admin/bin/mailqueuemng -S”text”
eg: /usr/local/psa/admin/bin/mailqueuemng -S”failure notice”
Se eliminarán todos los mensajes de error en la entrega. Nota: si deseas ver el asunto de los mensajes que estan atascados en la cola de correo, puedes entrar a la carpeta: /var/qmail/queue/mess/ Ahi encontraras varias carpetas con nombres de numeros, y en cada una varios numeros, cada numero es un mensaje/correo solo tienes que darle a mirar/abrir el fichero y listo.
- Para borrar todos los mensajes de la cola (Utilizar con precaución - posible pérdida de datos)
/usr/local/psa/admin/bin/mailqueuemng -D
Como Tratar Problemas de Spam en Plesk - Qmail
Aqui anexo otro articulo que encontre, para ayudarnos a localizar correos en el ervidor de qmail, abrirlos, mirar su contenido, detectar posibles ataques de spam, etc.
- Dependiendo del número de clientes alojados en un servidor, encontrar que cuenta está enviando spam puede resultar difícil.
Mediante consola podemos ver como está la cola de correo:
# /var/qmail/bin/qmail-qstat
messages in queue: 500
messages in queue but not yet preprocessed: 0
Tenemos 500 mensajes en la cola. Examinemos la cola mediante qmail-read. Tanto correo en cola sin enviar tiene pinta de spam.
# /var/qmail/bin/qmail-qread
…
Examinamos el contenido de los mensajes en la cola usando el gestor de cola de correo de Plesk o bien el comando less. Primero deberíamos encontrar el mensaje usando qmail-qread, luego encontrarmos el contenedor del fichero de correo en /var/qmail/queue con el comando find.
# /var/qmail/bin/qmail-read
[...]
20 Jan 2010 02:35:10 GMT #220458745 1552 <>
remoteEsta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.
[...]
#find /var/qmail/queue/ -name 220458745
/var/qmail/queue/mess/12/220458745
/var/qmail/queue/remote/12/220458745
/var/qmail/queue/info/12/220458745
# less /var/qmail/queue/mess/12/220458745
Received: (qmail 10728 invoked from network); 20 Jan 2010 02:35:10 +0100
Received: from unknown (HELO User) (90.91.92.93)
by domain.com with SMTP; 20 Jan 2010 02:35:10 +0100
Reply-To: <Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo. >
From: “PayPal”<Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo. >
Subject: Bank of america
Date: Tue, 20 Jan 2010 02:35:10 +0100
MIME-Version: 1.0
Content-Type: text/html;
charset=”Windows-1251″
Content-Transfer-Encoding: 7bit
X-Priority: 1
X-MSMail-Priority: High
X-Mailer: Microsoft Outlook Express 6.00.2600.0000
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000
[...]
Vaya, parece que tenemos alguien enviando spam desde la dirección ip: 90.91.92.93 (es una ip ficticia de ejemplo como los datos del correo). Ahora deberíamos eliminar dichos mensajes antes de que nos metan la ip del servidor en una lista negra.
Una vez eliminados, comprobamos que seguimos teniendo los mismos mensajes.
Llega la hora de usar tcpdump para analizar el tráfico de dicha ip que nos está dando la lata.
# tcpdump -i eth0 -n src 90.91.92.93 \or dst 90.91.92.93 -w smtp.tcpdump -s 2048
Con esto analizamos todo el tráfico entrante y saliente de dicha ip y lo guardamos en un archivo llamado smtp.tcpdump, el cual luego analizaremos mediante el comando less.
220 server.domain.com ESMTP
helo User
250-server.domain.com
250-AUTH=LOGIN CRAM-MD5 PLAIN
250-AUTH LOGIN CRAM-MD5 PLAIN
250-STARTTLS
250-PIPELINING
250 8BITMIME
AUTH LOGIN
334 VXNlcm5hbWU6
dGVzdA==
334 UGFzc3dvcmQ6
MTIzNDU=
235 go ahead
Quizá esté algo más enrevesado o con caracteres de otra codificación, pero tenemos que buscar lo que hay debajo de los números 334, y encontraremos usuario y contraseña.
Procedemos a decodificar esas cadenas de texto mediante perl:
#perl –MIME::Base64 -e ‘print decode_base64(“dGVzdA==”)’
#perl –MIME::Base64 -e ‘print decode_base64(“MTIzNDU=”)’
Esto nos revelará el usuario y contraseña con los que se ha autentificado dicho spammer y revisaremos el servidor, ya que un cliente ha creado un usuario llamado “test” con contrasela “12345″
# 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=’test’ AND a.password=’12345′;
+———–+————+———-+
| mail_name | name | password |
+———–+————+———-+
| test | example.com | 12345 |
+———–+————+———-+
1 row in set (0.01 sec)
Bien, ahora procedemos a eliminar la cuenta y repetirle al cliente que “NO SE DEBEN USAR CONTRASEÑAS INSEGURAS”
Se recomienda que se active en el servidor lo siguiente:
Ajustes de Servidor > Correo > Verificar las contraseñas para los buzones en el vocabulario.
Truco interesante para buscar cuentas de correo en plesk-qmail con contraseñas faciles:
Podemos incluso realizar comprobaciones mediante esta consulta, la cual nos indicará que usuarios de correo tienen como contraseña “12345″
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 a.password=’12345′;
Fuentes:
http://www.cordobyte.com/blog/2010/02/como-tratar-problemas-de-spam-en-plesk/
http://www.forosdelweb.com/f92/destrabar-cola-correo-no-procesado-625181/
http://youropensource.com/projects/482-How-to-Managethe-mail-queue-in-Plesk