====== Analizar logs básicos de correo entrante y saliente en servidores Postfix ====== Se analizará de forma breve los logs básicos de correo entrante y saliente en servidores Postfix para facilitar su interpretación. **Enlaces de interés.** * [[http://www.escomposlinux.org/lfs-es/blfs-es-SVN/server/postfix.html]] * [[http://www.redinskala.com/2012/10/29/interpretacion-de-maillog-en-postfix/]] ===== Análisis del registro de correo entrante en Postfix ===== Ejemplo de log de correo entrante en Postfix. Jun 30 08:06:23 zenaida postfix/smtpd[7062]: connect from gateway.startcom.org[212.117.158.94] Jun 30 08:06:24 zenaida postfix/smtpd[7062]: 56B621E1234: client=gateway.startcom.org[212.117.158.94] Jun 30 08:06:24 zenaida postfix/smtpd[7062]: lost connection after RCPT from gateway.startcom.org[212.117.158.94] Jun 30 08:06:24 zenaida postfix/smtpd[7062]: disconnect from gateway.startcom.org[212.117.158.94] Jun 30 08:06:36 zenaida postfix/smtpd[7062]: connect from mta1.startcom.org[192.116.242.7] Jun 30 08:06:37 zenaida postfix/smtpd[7062]: BA5141E1234: client=mta1.startcom.org[192.116.242.7] Jun 30 08:06:38 zenaida postfix/cleanup[7067]: BA5141E1234: message-id= Jun 30 08:06:38 zenaida postfix/qmgr[7052]: BA5141E1234: from=, size=1463, nrcpt=1 (queue active) Jun 30 08:06:38 zenaida postfix/local[7068]: BA5141E1234: to=, relay=local, delay=0.52, delays=0.52/0/0/0, dsn=2.0.0, status=sent (delivered to mailbox) Jun 30 08:06:38 zenaida postfix/qmgr[7052]: BA5141E1234: removed Jun 30 08:06:38 zenaida postfix/smtpd[7062]: disconnect from mta1.startcom.org[192.116.242.7] Dominio y dirección IP del servidor que conecta con el servidor de correo. Jun 30 08:06:23 zenaida postfix/smtpd[7062]: connect from gateway.startcom.org[212.117.158.94] Postfix recibe el primer comando RCPT TO exitosamente por parte del servidor y desconecta. Jun 30 08:06:24 zenaida postfix/smtpd[7062]: 56B621E1234: client=gateway.startcom.org[212.117.158.94] Jun 30 08:06:24 zenaida postfix/smtpd[7062]: lost connection after RCPT from gateway.startcom.org[212.117.158.94] Jun 30 08:06:24 zenaida postfix/smtpd[7062]: disconnect from gateway.startcom.org[212.117.158.94] Vuelve a conectar, esta vez desde otra IP, encargada de dejarnos el correo electrónico. Jun 30 08:06:36 zenaida postfix/smtpd[7062]: connect from mta1.startcom.org[192.116.242.7] Jun 30 08:06:37 zenaida postfix/smtpd[7062]: BA5141E1234: client=mta1.startcom.org[192.116.242.7] El correo ha sido recibido con éxito por el demonio "//smtpd//", el cual lo entrega a al demonio "//cleanup//" para corregir la sintaxis (RFC 822). Jun 30 08:06:38 zenaida postfix/cleanup[7067]: BA5141E1234: message-id= Se asume que la corrección fue terminada y se pasa la responsabilidad del demonio "//qmgr//", los campos que contiene el log son estos. * Remitente. * Número de destinatarios. * Tamaño del correo. * Cola a la que se ha desplazado (active). Jun 30 08:06:38 zenaida postfix/qmgr[7052]: BA5141E1234: from=, size=1463, nrcpt=1 (queue active) NOTA: Cualquier correo en la cola "active" se considera como listo para ser entregado a su destino final, ya sea entrante o saliente. Cuando Postfix encuentra en algún buzón el dominio que tiene configurado como propio en la variable //$mydestination// se le otorga al demonio "//local//". * Buzón real que recibe el correo, el buzón que se utilizó en el sobre del correo. * Tipo de relay utilizado (local). * El delay indica los tiempos que cada demonio tardó en procesar el correo (smtpd, cleanup, qmgr, local). * El campo status muestra cuál fue el resultado de la operación. Jun 30 08:06:38 zenaida postfix/local[7068]: BA5141E1234: to=, relay=local, delay=0.52, delays=0.52/0/0/0, dsn=2.0.0, status=sent (delivered to mailbox) El demonio "//qmgr//" elimina el correo de la cola active ya que fue enviado satisfactoriamente y ya no es necesario conservarlo. Jun 30 08:06:38 zenaida postfix/qmgr[7052]: BA5141E1234: removed ===== Análisis del registro de correo saliente en Postfix ===== Ejemplo de log de correo saliente en Postfix. Oct 14 16:23:35 debian postfix/pickup[9757]: 2CBE420A2F: uid=0 from= Oct 14 16:23:35 debian postfix/cleanup[10284]: 2CBE420A2F: message-id=<20141014142335.2CBE420A2F@debian> Oct 14 16:23:35 debian postfix/qmgr[8572]: 2CBE420A2F: from=, size=331, nrcpt=1 (queue active) Oct 14 16:23:35 debian postfix/smtp[10287]: 2CBE420A2F: to=, relay=mail.dominio.com[211.63.85.21]:25, delay=0.11, delays=0.04/0/0/0.07, dsn=2.0.0, status=sent (250 OK id=1Xe30h-0000lo-0f) Oct 14 16:23:35 debian postfix/qmgr[8572]: 2CBE420A2F: removed Pickup es un demonio que espera señales para saber si el correo nuevo ha sido eliminado del directorio "//maildrop//" y se lo entrega al demonio "//cleanup//", este procesa el correo entrante, lo inserta en la cola de correo entrante e informa al administrador de colas de su llegada. Oct 14 16:23:35 debian postfix/pickup[9757]: 2CBE420A2F: uid=0 from= Oct 14 16:23:35 debian postfix/cleanup[10284]: 2CBE420A2F: message-id=<20141014142335.2CBE420A2F@debian> Al igual que con el correo entrante, se corrige la sintaxis (RFC 822), se le continuidad con el demonio "//qmgr//". * Remitente. * Número de destinatarios. * Tamaño del correo. * La cola en la que es colocado (active). Oct 14 16:23:35 debian postfix/qmgr[8572]: 2CBE420A2F: from=, size=331, nrcpt=1 (queue active) El demonio "//smtp//" es el encargado de la entrega de correo. * Buzones de los destinatarios. * El campo "//relay//" indica los datos del servidor y puerto a través del cuál se entregó el correo * El "//delay//" indica el tiempo que tardó el correo desde que entró a Postfix y fue entregado a su destino. * El campo "//dsn//" indica el código extendido con que respondió el SMTP Server ante el envío del correo. * El campo "//status//" muestra la descripción y respuesta completa del servidor SMTP al recibir nuestro correo. Una respuesta "250 OK" dada por el receptor suele incluir un ID (250 OK id=1Xe30h-0000lo-0f) que es utilizado por el receptor para trabajar con el correo. Gmail por ejemplo ofrece además del ID otro tipo de información: (250 2.0.0 OK 1485284631 v129si19330627wma.58 - gsmtp) Oct 14 16:23:35 debian postfix/smtp[10287]: 2CBE420A2F: to=, relay=mail.dominio.com[211.63.85.21]:25, delay=0.11, delays=0.04/0/0/0.07, dsn=2.0.0, status=sent (250 OK id=1Xe30h-0000lo-0f) Al igual que en la entrega de correo, esta linea indica que el correo fue enviado satisfactoriamente y Postfix ya no necesita almacenar el correo. El demonio "//qmgr//" se encarga de eliminar la copia del correo original de la cola de "//active//". Jun 30 08:06:38 zenaida postfix/qmgr[7052]: BA5141E1234: removed **Ejemplo de salida cuando no se pudo entregar el correo** (Queued mail for delivery). postfix/smtp[56296]: 612972209C5: to=, relay=112.61.81.26[112.61.81.26]:25, delay=0.18, delays=0.01/0/0/0.17, dsn=2.6.0, status=sent (250 2.6.0 <20121216162340.612971209C5@otrodominio.com> Queued mail for delivery) A continuación se muestra una lista de códigos de error temporales SMTP de respuesta y lo que significan. * 421 - Service not available, closing transmission channel. * 450 - Requested mail action not taken: Mailbox unavailable. * 451 - Requested action aborted: Local error in processing. * 452 - Requested action not taken: Insufficient system storage. Si el servidor de correo de recepción devuelve cualquiera de los códigos anteriores, los logs de postfix mostrarán el texto "Queued mail for delivery / En cola para la entrega".