1 votos

FreeBSD: el sistema es el envío de correo por cualquier usuario a un smtp externo - ¿por qué?

Hay un problema con uno de mis cárceles. Todas las Cárceles de enviar sus correos para la root de la root, a excepción de uno en la cárcel (nginx). Esta cárcel envía correos a root@jailname.domain.tld. Mi Postfix está configurado para aceptar los correos pero no me parece que la razón por la que esta cárcel es el envío a la retransmisión. (Cosa extraña: Si puedo enviar un correo desde la cárcel nginx el correo será firmado con DKIM. Si utilizo ~./forward en otra cárcel de nginx para llegar a mi Postfix, el correo electrónico no será DKIM-firmado.) El uso de ~/.forward en la cárcel nginx será ignorado.

La cárcel es el envío de todos los mensajes para el relé externo (incluso para los usuarios que no existe!)

En todas las Cárceles fijé sendmail_enable=NO y sendmail no se está ejecutando. También pkg info no muestra ninguna lista de 3 ª parte mailer.

Prueba de esta Cárcel (Jailname: nginx):

correo -v root
Asunto: prueba
prueba
.
EOT
root... Conexión a [127.0.0.1] a través de la retransmisión...
220 correo.dominio.tld ESMTP TheTardis
>>> EHLO nginx.dominio.tld
250-mail.dominio.tld
250-PIPELINING
250-TAMAÑO 52428800
250 VRFY
250-ETRN
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
De 250 DSN
250 SMTPUTF8
>>> STARTTLS
220 2.0.0 Listo para iniciar TLS
>>> EHLO nginx.dominio.tld
250-mail.dominio.tld
250-PIPELINING
250-TAMAÑO 52428800
250 VRFY
250-ETRN
250-ENHANCEDSTATUSCODES
250-8BITMIME
De 250 DSN
250 SMTPUTF8
>>> CORREO De: TAMAÑO=29
250 2.1.0 Ok
>>> RCPT To:
>>> De DATOS
250 2.1.5 Ok
354 Final de los datos .
>>> .
250 2.0.0 Ok: en la cola como 52FAC2BDC6E8
root... Enviado (Aceptar: en la cola como 52FAC2BDC6E8)
Cierre de conexión para [127.0.0.1]
>>> DEJAR de fumar
221 2.0.0 Bye

Prueba de cualquier otra Cárcel:

# correo -v root
Asunto: prueba
prueba
.
EOT
root... Conexión a [127.0.0.1] a través de la retransmisión...
220 mysql.dominio.tld ESMTP Sendmail 8.15.2/8.15.2; Martes, 7 de Mayo de 2019 17:05:05 +0200 (CEST)
>>> EHLO mysql.dominio.tld
250-mysql.dominio.tld Hola localhost [127.0.0.1], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-TAMAÑO
De 250 DSN
250-ETRN
250-STARTTLS
250-DELIVERBY
250 AYUDAR
>>> STARTTLS
220 2.0.0 Listo para iniciar TLS
>>> EHLO mysql.dominio.tld
250-mysql.dominio.tld Hola localhost [127.0.0.1], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-TAMAÑO
De 250 DSN
250-ETRN
250-DELIVERBY
250 AYUDAR
>>> CORREO De: TAMAÑO=29
250 2.1.0 ... Sender ok
>>> RCPT To:
>>> De DATOS
250 2.1.5 ... Destinatario ok
354 Escriba el correo, terminar con "." en una línea por sí mismo
>>> .
250 2.0.0 x47F55hU031641 Mensaje aceptado para la entrega
root... Enviado (x47F55hU031641 Mensaje aceptado para la entrega)
Cierre de conexión para [127.0.0.1]
>>> DEJAR de fumar
221 2.0.0 mysql.dominio.tld cierre de la conexión

Así, se ve que la cárcel nginx es la retransmisión de sus correos para el servidor de correo, mientras que otras cárceles no. No sé por qué. Yo probé varias ideas para encontrar la causa de la retransmisión:

# cat ~/.forward cat: /root/.forward: No such file or directory

# cat ~/.mailrc cat: /root/.mailrc: No such file or directory

# mail -d root decir: user = root, homedir = /root Sendmail arguments: "send-mail" "-i" "root"

/etc/mail/ es virgen. Las marcas de tiempo de los puntos a la vez, la cárcel fue construir. También no hay ninguna .mc-archivo excepto la inicialmente existend freebsd.mc y freebsd.submit.mc. Debido a esto también no hay ninguna directiva especial en /etc/mail/aliases.

La directiva del relé de correos al servidor de correo externo debe venir de fuera /etc/mail pero no tengo ninguna pista de donde buscar más...

Alguna idea?

edit1: I did grep -rl 10.23.102.251 / (el servidor de correo-IP) y grep -rl mail.domain.tld / última noche. Cada duró cerca de cuatro horas y no encontré nada.

edit2: sendmail es servida por:

 # cat /etc/mail/mailer.conf

 # $FreeBSD: releng/11.1/etc/mail/mailer.conf 93858 2002-04-05 04:25:14Z gshapiro $
#
 # Ejecutar el "real" programa sendmail, llamado /usr/libexec/sendmail/sendmail
#
 sendmail /usr/libexec/sendmail/sendmail
 enviar correo electrónico /usr/libexec/sendmail/sendmail
 mailq /usr/libexec/sendmail/sendmail
 newaliases /usr/libexec/sendmail/sendmail
 hoststat /usr/libexec/sendmail/sendmail
 purgestat /usr/libexec/sendmail/sendmail

0voto

Vladimir Botka Puntos 41

Echa un vistazo a /etc/mail/mailer.conf qué utilidad es servir de sendmail y averiguar cuál es el paquete que proporciona sendmail. En la instalación por defecto el comando

# pkg_which /usr/libexec/sendmail/sendmail

no muestra nada y será necesario revisar la configuración de Sendmail. Esto es algo que realmente nadie quiere y práctica frecuente es reemplazar Sendmail con Postfix. Ver detalles en la 28.4. Cambiar el Agente de Transferencia de Correo. En este caso en /etc/mail/mailer.conf parece

sendmail        /usr/local/sbin/sendmail
send-mail       /usr/local/sbin/sendmail
mailq           /usr/local/sbin/sendmail
newaliases      /usr/local/sbin/sendmail

y pkg_which informe por ejemplo

# pkg_which /usr/local/sbin/sendmail
postfix-sasl-3.3.1_1,1

Pero, probablemente, la mejor práctica para enviar correo a través de un relé es de correo/ssmtp. En este caso en /etc/mail/mailer.conf parece

sendmail        /usr/local/sbin/ssmtp
send-mail       /usr/local/sbin/ssmtp
mailq           /usr/local/sbin/ssmtp
newaliases      /usr/local/sbin/ssmtp
hoststat        /usr/bin/true
purgestat       /usr/bin/true

y pkg_which informe por ejemplo

# pkg_which /usr/local/sbin/ssmtp
ssmtp-2.64_3

Usted puede tratar de volver a configurar actual de la MTA, pero si se puede cambiar me gustaría recomendar el uso de correo/ssmtp o correo/postfix si una configuración más compleja es necesario.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: