Назад | Перейти на главную страницу

Postfix не требует аутентификации для локальной электронной почты?

У меня есть почтовый сервер Postfix / Courier (аутентифицирован с помощью SASL / MySQL), все в соответствии с этот учебник. В настоящее время я использую свой сервер на Debian 6, это VPS. Насколько я могу судить, он работает хорошо, но я не могу требовать аутентификации для отправки входящей электронной почты. Если я отправляю электронное письмо из Outlook с отключенной аутентификацией SMTP, все происходит, и я не отклоняюсь, журнал на сервере сообщает мне следующее:

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[****]

**** указывает IP-адрес почтового клиента

Но если я попытаюсь отправить электронное письмо на внешний домен, например на адрес Gmail, электронное письмо, как и ожидалось, будет отклонено и вернется обратно:

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@external.domain' on 19/12/2013 9:49 a.m.
        Server error: '554 5.7.1 <email@external.domain>: Relay access denied'

В журнале также содержится информация об отклоненной аутентификации (чего и следовало ожидать).

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@external.domain>: Relay access denied; from=<email@mydomain> to=<email@external.domain> proto=ESMTP helo=<MyPC>
Dec 19 09:48:36 new postfix/smtpd[20449]: disconnect from unknown[****]

Если я включу SMTP-аутентификацию в своем почтовом клиенте (Outlook), все будет работать должным образом. Действительно ли происходит какая-то аутентификация, которую я не вижу, или это действует как открытый ретранслятор для внутренней электронной почты? Как принудительно выполнить аутентификацию для всей электронной почты, если это так?

Мой main.cf:

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

Ваш сервер не является открытым ретранслятором. Он настроен так, чтобы разрешать три разных типа почты:

  1. Почта от кого угодно в Интернете к адреса в вашем собственном домене
  2. Почта, исходящая от вашего собственного почтового сервера (например, уведомления от заданий cron и т. Д.), Для всех в Интернете.
  3. Почта, отправляемая через аутентифицированное соединение кому-либо в Интернете.

Если письмо не соответствует одному из вышеперечисленных, почтовый сервер отклонит его, даже если спамер поместит какой-то поддельный адрес в ваш домен в качестве адреса отправителя.

Происходит ли какая-то аутентификация, которую я не вижу?

да

или это действует как открытый ретранслятор для внутренней электронной почты?

нет, так как вы видите отказано в доступе

Как принудительно выполнить аутентификацию для всей электронной почты, если это так?

Вы заставляете это сейчас

telnet ваш почтовый сервер

telnet ipaddress 25