Lista blanca de Postfix: un servidor mal configurado no funciona: comando Helo rechazado: host no encontrado;

Lista blanca de Postfix: un servidor mal configurado no funciona: comando Helo rechazado: host no encontrado;

La configuración de mi servidor de correo es bastante estricta y algunas veces los correos entrantes de servidores legítimos son rechazados porque el extremo remoto tiene un problema de configuración, uno común es el nombre de host HELO.

Tengo un ejemplo específico que es de la compañía eléctrica más importante de Italia, ENEL, que aparentemente envía correos electrónicos transaccionales con un nombre de host HELO que no resuelve:

Feb 20 18:31:10 MYHOST postfix/smtpd[1748649]: NOQUEUE: reject: RCPT from mxrelay6.enel.com[146.133.127.102]: 450 4.7.1 <smtprelay.enel.com>: Helo command rejected: Host not found; from=<[email protected]> to=<MY CLIENT EMAIL> proto=ESMTP helo=<smtprelay.enel.com>

Estoy tratando de incluir esto en la lista blanca, las IP o los nombres de host del servidor SMTP parecen el paso lógico (he observado dos, pero podría usar una expresión regular). De todos modos, actualmente no puedo, todo lo que intento no funciona y esos correos electrónicos siempre son rechazados. (Tengo otros casos similares).

##
# Helo restrictions
smtpd_delay_reject = yes
smtpd_helo_required = yes
smtpd_helo_restrictions =
  permit_mynetworks,
  warn_if_reject check_helo_access hash:/etc/postfix/helo_whitelist,
  warn_if_reject reject_invalid_hostname,
  warn_if_reject reject_unknown_hostname,
  warn_if_reject reject_non_fqdn_helo_hostname,
  warn_if_reject reject_unknown_helo_hostname,
  warn_if_reject reject_invalid_helo_hostname,
  permit

##
# Sender restrictions
smtpd_sender_restrictions =
  permit_mynetworks,
  check_client_access hash:/etc/postfix/sender_whitelist,
  reject_non_fqdn_sender,
  reject_unknown_sender_domain,
  reject_unknown_address,
  reject_unknown_reverse_client_hostname,
  reject_unknown_client_hostname,
  permit

##
# Recipient restrictions
smtpd_recipient_restrictions =
   permit_mynetworks,
   reject_unauth_pipelining,
   reject_unauth_destination,
   reject_invalid_hostname,
   reject_unknown_hostname,
   reject_unknown_reverse_client_hostname,
   reject_unknown_sender_domain,
   reject_unknown_recipient_domain,
   reject_non_fqdn_hostname,
   reject_non_fqdn_sender,
   reject_non_fqdn_recipient,
   check_sender_access hash:/etc/postfix/sender_access,
   #check_client_access hash:/etc/postfix/rbl_whitelist,
   check_policy_service unix:private/policyd-spf,
   #check_client_access hash:/etc/postfix/rbl_override
   reject_rhsbl_helo dbl.spamhaus.org,
   reject_rhsbl_reverse_client dbl.spamhaus.org,
   reject_rhsbl_sender dbl.spamhaus.org,
   reject_rbl_client zen.spamhaus.org,
   #reject_rbl_client cbl.abuseat.org
   #reject_rbl_client b.barracudacentral.org,
   #reject_rbl_client bl.spamcop.net,
   #reject_rbl_client zen.spamhaus.org=127.0.0.[2..11],
   #reject_rbl_client b.barracudacentral.org=127.0.0.[2..11],
   #check_policy_service unix:/var/spool/postfix/postgrey/socket,
   permit

smtpd_relay_restrictions =
   permit_mynetworks, 
   permit_sasl_authenticated,
   reject_unauth_destination

##
# Data restrictions
smtpd_data_restrictions =
  reject_unauth_pipelining,
  permit

helo_lista blanca

mxrelay7.enel.com OK
mxrelay6.enel.com OK

Intenté poner en helo_whitelist el nombre de host HELO real smtprelay.enel.comy no funciona. También he visto en los documentos el uso de PERMIT en lugar de Aceptar, pero al revisar los mensajes de depuración (usé debug_peer_list), parece que no es correcto.

Sin embargo, al revisar la depuración puedo ver que el rechazo ocurre en las restricciones de la dirección del destinatario:

Feb 20 18:41:12 alice postfix/smtpd[1749156]: reject_invalid_hostname: smtprelay.enel.com
Feb 20 18:41:12 alice postfix/smtpd[1749156]: generic_checks: name=reject_invalid_hostname status=0
Feb 20 18:41:12 alice postfix/smtpd[1749156]: generic_checks: name=reject_unknown_hostname
Feb 20 18:41:12 alice postfix/smtpd[1749156]: reject_unknown_hostname: smtprelay.enel.com
Feb 20 18:41:12 alice postfix/smtpd[1749156]: lookup smtprelay.enel.com type A flags
Feb 20 18:41:12 alice postfix/smtpd[1749156]: dns_query: smtprelay.enel.com (A): Host not found
Feb 20 18:41:12 alice postfix/smtpd[1749156]: lookup smtprelay.enel.com type AAAA flags
Feb 20 18:41:12 alice postfix/smtpd[1749156]: dns_query: smtprelay.enel.com (AAAA): Host not found
Feb 20 18:41:12 alice postfix/smtpd[1749156]: lookup smtprelay.enel.com type MX flags
Feb 20 18:41:12 alice postfix/smtpd[1749156]: dns_query: smtprelay.enel.com (MX): Host not found
Feb 20 18:41:12 MYHOST postfix/smtpd[1749156]: NOQUEUE: reject: RCPT from mxrelay6.enel.com[146.133.127.102]: 450 4.7.1 <smtprelay.enel.com>: Helo command rejected: Host not found; from=<[email protected]> to=<MY CLIENT EMAIL> proto=ESMTP helo=<smtprelay.enel.com>
Feb 20 18:41:12 alice postfix/smtpd[1749156]: generic_checks: name=reject_unknown_hostname status=2
Feb 20 18:41:12 alice postfix/smtpd[1749156]: >>> END Recipient address RESTRICTIONS <<<

La pregunta es ¿por qué la sección smtpd_recipient_restrictions debería verificar el nombre de host de helo? ¿O es simplemente una verificación retrasada debido a smtpd_delay_reject?

Básicamente, ¿dónde y cómo debo colocar los mensajes de helicópteros incluidos en la lista blanca?

¡Gracias!

Respuesta1

Podrías simplemente eliminar los duplicados reject_unknown_hostname/ reject_unknown_hostnamechecks, ya que tus restricciones de helo/ehlo se aplican de todos modos, siempre y cuando mantengas smtpd_helo_required=yes.

Luego vuelva a cambiar su lista, lo que esté configurado con check_hola_access debe contener elholavalores: está diseñado deliberadamente para no permitir la inclusión en listas blancas con nombres de host (no verificados).


Por cierto, estos son alias obsoletos, utilice siempre los actuales que explican más claramente lo que se está verificando:

reject_unknown_hostname => reject_unknown_helo_hostname
reject_invalid_hostname => reject_invalid_helo_hostname

información relacionada