Postfix는 로컬 이메일에 대한 인증을 요구하지 않습니까?

Postfix는 로컬 이메일에 대한 인증을 요구하지 않습니까?

나는 Postfix/Courier 메일 서버(SASL/MySQL로 인증됨)를 모두 가지고 있습니다.이 튜토리얼. 현재 Debian 6에서 내 서버를 실행하고 있는데 VPS입니다. 내가 볼 수 있는 한 잘 작동하지만 인바운드 이메일 전송에 대한 인증을 요구할 수는 없는 것 같습니다. SMTP 인증이 비활성화된 상태에서 Outlook에서 나 자신에게 이메일을 보내면 모든 일이 발생하고 거부되지 않습니다. 서버 로그에 다음과 같은 내용이 표시됩니다.

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 protected]' on 19/12/2013 9:49 a.m.
        Server error: '554 5.7.1 <[email protected]>: 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 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[****]

이메일 클라이언트(Outlook)에서 SMTP 인증을 활성화하면 모든 것이 예상대로 작동합니다. 실제로 내가 볼 수 없는 일부 인증이 진행되고 있습니까? 아니면 이것이 내부 이메일에 대한 공개 릴레이 역할을 하고 있습니까? 이 경우 모든 이메일에 대해 인증을 강제하려면 어떻게 해야 합니까?

내 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

귀하의 서버는 오픈 릴레이가 아닙니다. 세 가지 유형의 메일을 허용하도록 설정되었습니다.

  1. 인터넷상의 누구에게서든 메일에게자신의 도메인 내의 주소
  2. 자신의 메일 서버에서 발송된 메일(예: 크론 작업 등의 알림)을 인터넷상의 누구에게나 보내는 메일입니다.
  3. 인증된 연결을 통해 인터넷상의 누구에게나 전송되는 메일

메일이 위의 항목 중 하나와 일치하지 않으면 스패머가 도메인에 보낸 사람 주소로 가짜 주소를 입력하더라도 메일 서버는 메일을 거부합니다.

답변2

실제로 내가 볼 수 없는 인증이 진행되고 있나요?

아니면 내부 이메일에 대한 공개 릴레이 역할을 하고 있나요?

아니요, 액세스가 거부되었다고 표시되기 때문에

이 경우 모든 이메일에 대해 인증을 강제하려면 어떻게 해야 합니까?

너 지금 강요하는구나

이메일 서버에 텔넷을 연결하세요

telnet ipaddress 25

관련 정보