Tengo un servidor de correo Postfix/Courier (autenticado con SASL/MySQL) todo de acuerdo coneste tutorial. Actualmente estoy ejecutando mi servidor en Debian 6, es un VPS. Por lo que puedo ver, funciona bien, pero parece que no puedo requerir autenticación para el envío de correo electrónico entrante. Si me envío un correo electrónico desde Outlook con la autenticación SMTP deshabilitada, todo sucede y no soy rechazado, el registro en el servidor me dice esto:
Dec 19 09:39:33 new postfix/smtpd[20439]: connect from unknown[****]
Dec 19 09:39:33 new postfix/smtpd[20439]: 7FF1E469840: client=unknown[****]
Dec 19 09:39:33 new postfix/cleanup[20444]: 7FF1E469840: message-id=<000c01cefc31$41319a90$c394cfb0$@email@mydomain>
Dec 19 09:39:33 new postfix/qmgr[20429]: 7FF1E469840: from=<email@mydomain>, size=2730, nrcpt=1 (queue active)
Dec 19 09:39:33 new postfix/virtual[20445]: 7FF1E469840: to=<email@mydomain>, relay=virtual, delay=0.49, delays=0.4/0.08/0/0.01, dsn=2.0.0, status=sent (delivered to maildir)
Dec 19 09:39:33 new postfix/qmgr[20429]: 7FF1E469840: removed
Dec 19 09:39:36 new postfix/smtpd[20439]: disconnect from unknown[****]
****
indica la dirección IP del cliente de correo electrónico
Pero si intento enviar un correo electrónico a un dominio externo, por ejemplo una dirección de Gmail, el correo electrónico, como se esperaba, es rechazado y rebota:
Your message did not reach some or all of the intended recipients.
Subject:
Sent: 19/12/2013 9:49 a.m.
The following recipient(s) cannot be reached:
'[email protected]' on 19/12/2013 9:49 a.m.
Server error: '554 5.7.1 <[email protected]>: Relay access denied'
El registro también arroja algunas cosas sobre la autenticación rechazada (lo cual es de esperarse)
Dec 19 09:48:34 new postfix/smtpd[20449]: connect from unknown[****]
Dec 19 09:48:34 new postfix/smtpd[20449]: NOQUEUE: reject: RCPT from unknown[****]: 554 5.7.1 <[email protected]>: Relay access denied; from=<email@mydomain> to=<[email protected]> proto=ESMTP helo=<MyPC>
Dec 19 09:48:36 new postfix/smtpd[20449]: disconnect from unknown[****]
Si habilito la autenticación SMTP en mi cliente de correo electrónico (Outlook), todo funciona como se esperaba. ¿Existe realmente alguna autenticación que no veo o actúa como un relé abierto para los correos electrónicos internos? ¿Cómo fuerzo la autenticación para todos los correos electrónicos si este es el caso?
Mi main.cf es:
relayhost =
mynetworks = 127.0.0.0/8
mailbox_size_limit = 0
recipient_delimiter = +
inet_protocols = all
broken_sasl_auth_clients = yes
virtual_alias_domains =
virtual_alias_maps = proxy:mysql:/etc/postfix/mysql-virtual_forwardings.cf, mysql:/etc/postfix/mysql-virtual_email2email.cf
virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql-virtual_domains.cf
virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailboxes.cf
virtual_mailbox_base = /home/vmail
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
smtpd_sasl_auth_enable = yes
smtpd_sasl_authenticated_header = yes
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_use_tls = yes
smtpd_tls_cert_file = /etc/postfix/smtpd.cert
smtpd_tls_key_file = /etc/postfix/smtpd.key
transport_maps = proxy:mysql:/etc/postfix/mysql-virtual_transports.cf
virtual_create_maildirsize = yes
virtual_maildir_extended = yes
virtual_mailbox_limit_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailbox_limit_maps.cf
virtual_mailbox_limit_override = yes
virtual_maildir_limit_message = "The user you are trying to reach is over quota."
virtual_overquota_bounce = yes
proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $virtual_mailbox_limit_maps
Respuesta1
Su servidor no es un relé abierto. Está configurado para permitir tres tipos diferentes de correo:
- Correo de cualquier persona en Internet.adirecciones dentro de su propio dominio
- Correo que se origina en su propio servidor de correo (por ejemplo, avisos de trabajos cron y similares) para cualquier persona en Internet.
- Correo que proviene de una conexión autenticada a cualquier persona en Internet.
Si el correo no coincide con uno de los anteriores, entonces el servidor de correo lo rechazará, incluso si el spammer coloca alguna dirección falsa en su dominio como dirección del remitente.
Respuesta2
¿Existe realmente alguna autenticación que no veo?
Sí
¿O esto actúa como un retransmisor abierto para correos electrónicos internos?
No, ya que estás viendo acceso denegado.
¿Cómo fuerzo la autenticación para todos los correos electrónicos si este es el caso?
Lo estás forzando ahora
Telnet a tu servidor de correo electrónico.
telnet ipaddress 25