2016-09-07 9 views
1

postfix 설정에 인증되지 않은 사용자와 존재하지 않는 사용자가 메일을 보낼 수있는 문제가 있습니다. Postfix는 가상 메일 함을 사용하도록 구성됩니다. 이 발생하는 것입니다 :인증 설정이있는 Postfix 가상 메일함에 인증되지 않은 사용자가 메일을 보낼 수 있습니다.

telnet hostname.com 25 
Connected to hostname.com. 
Escape character is '^]'. 
220 hostname.com ESMTP Postfix (Debian/GNU) 
ehlo server 
250-hostname.com 
250-PIPELINING 
250-SIZE 52428800 
250-VRFY 
250-ETRN 
250-STARTTLS 
250-AUTH PLAIN CRAM-MD5 LOGIN 
250-AUTH=PLAIN CRAM-MD5 LOGIN 
250-ENHANCEDSTATUSCODES 
250-8BITMIME 
250 DSN 

telnet hostname.com 25 
Connected to hostname.com. 
Escape character is '^]'. 
220 hostname.com ESMTP Postfix (Debian/GNU) 
mail from: [email protected] 
250 2.1.0 Ok 
rcpt to: [email protected] 
250 2.1.5 Ok 
data 
354 End data with <CR><LF>.<CR><LF> 
hi this is a mail from fake account 
. 
250 2.0.0 Ok: queued as BE73115761D 
quit 
221 2.0.0 Bye 
Connection closed by foreign host. 
메일

보내기

후위 설정 :

smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU) 
biff = no 

append_dot_mydomain = no 

readme_directory = no 

smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem 
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key 
smtpd_use_tls=yes 
smtpd_tls_auth_only=no 
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache 
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache 

myhostname = hostname.com 
mydomain = hostname.com 
myorigin=$mydomain 

alias_maps = hash:/etc/aliases 
alias_database = hash:/etc/aliases 
myorigin = /etc/mailname 
mydestination = 
relayhost = 
mynetworks = 127.0.0.0/8 
mailbox_size_limit = 0 
recipient_delimiter = + 
inet_interfaces = all 

home_mailbox = Maildir/ 
smtpd_sasl_auth_enable = yes 
smtpd_sasl_security_options = noanonymous 
smtpd_sasl_local_domain = $myhostname 
broken_sasl_auth_clients = yes 

smtpd_sender_restrictions = permit_sasl_authenticated, 
    reject_unauthenticated_sender_login_mismatch 

smtpd_recipient_restrictions = permit_sasl_authenticated, 
    reject_unauth_destination, 
    reject_unknown_sender_domain 
smtpd_sasl_type = dovecot 
smtpd_sasl_path = private/auth-client 

virtual_mailbox_domains = /etc/postfix/vhosts 
virtual_mailbox_base = /home/vmail 
virtual_mailbox_maps = hash:/etc/postfix/vmaps 
virtual_minimum_uid = 1000 
virtual_uid_maps = static:5000 
virtual_gid_maps = static:5000 
message_size_limit = 52428800 
virtual_mailbox_limit = 0 

질문입니다 : 어떻게 내가 인증없이 메일을 보낼 수 있다는 것입니다?

답변

1

Postfix는 로컬 도메인으로 보낸 메시지를 수락합니다. 그들은 mydestination 매개 변수가 main.cf에있는 방법의 수로 지정 될 수 있습니다.

mydestination 매개 변수는이 컴퓨터가 다른 컴퓨터로 전달하는 대신 로컬로 배달 할 도메인을 지정합니다. 텔넷을 사용하여 로컬이 아닌 도메인에 보내려고하면

당신은 rcpt to 명령을 issueing 후 Relay access denied을 받게됩니다.

+0

내가 무엇입니까는/usr/sbin에/postconf : 경고 : /etc/postfix/main.cf : 사용되지 않는 매개 변수 : smtpd_relay_restrictions = permit_sasl_authenticated defer_unauth_destination 후위 버전 : 2.9.6 – Stuka

+0

그게 전부 때문에 smtpd_recipient_restrictions, 어쨌든 당신이에서 보내려고 localhost? –

+0

나는 로컬 호스트와 원격 호스트 모두에서 전송을 시도했다. 어느 쪽도 송신자 인증을 필요로하지 않는다 – Stuka