2017-10-07 3 views
-1

나는 온라인에서 여러 안내서를 따라 후위 (dovecot)와 dovecot을 설정하고 내가 보낸 전자 메일은 암호화되지 않을 것입니다. Google 서버가 TLS 암호화를 지원하고 Gmail 웹 메일의 전자 메일에 빨간색 십자 기호가 암호화되어 있지 않음을 보여주기 때문에 @ gmail.com 계정으로 이메일을 보내 설정을 테스트했습니다. .보내는 전자 메일을 암호화하는 방법

내가

smtpd_tls_security_level = encrypt 
smtp_tls_security_level = encrypt 

을 설정하면이 오류를

TLS is required, but was not offered by host gmail-smtp-in.l.google.com[64.233.167.27] 

을 얻을 그리고 그것을 설정하면 그것을 암호화하지 않고, 이메일을 수도를 전송 할 수 있습니다.

alias_database = hash:/etc/aliases 
alias_maps = hash:/etc/aliases 
append_dot_mydomain = no 
biff = no 
home_mailbox = Maildir/ 
inet_interfaces = all 
inet_protocols = all 
mailbox_command = 
mailbox_size_limit = 0 
mydestination = $myhostname, localdomain, localhost, localhost.localdomain, localhost, mail.example.com, example.com 
myhostname = mail.example.com 
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 
mynetworks_style = subnet 
myorigin = /etc/mailname 
readme_directory = no 
recipient_delimiter = + 
smtp_tls_CAfile = /routeto/my.ca-bundle 
smtp_tls_cert_file = /routeto/my.crt 
smtp_tls_key_file = /routeto/my.key 
smtp_tls_loglevel = 1 
smtp_tls_note_starttls_offer = yes 
smtp_tls_security_level = may 
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache 
smtp_use_tls = yes 
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu) 
smtpd_client_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unknown_client_hostname 
smtpd_recipient_restrictions = permit_mynetworks permit_sasl_authenticated reject_unauth_destination 
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination 
smtpd_sasl_auth_enable = yes 
smtpd_sasl_local_domain = example.com 
smtpd_sasl_path = private/auth 
smtpd_sasl_type = dovecot 
smtpd_tls_CAfile = /routeto/my.ca-bundle 
smtpd_tls_cert_file = /routeto/my.crt 
smtpd_tls_key_file = /routeto/my.key 
smtpd_tls_loglevel = 1 
smtpd_tls_received_header = yes 
smtpd_tls_security_level = may 
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache 
smtpd_use_tls = yes 

-n postconf의 출력이며,이 EHLO 시험

250-mail.example.com 
250-PIPELINING 
250-SIZE 10240000 
250-VRFY 
250-ETRN 
250-STARTTLS 
250-AUTH PLAIN LOGIN 
250-ENHANCEDSTATUSCODES 
250-8BITMIME 
250 DSN 

포트 587

을에 똑같은이어서 포트 25 텔넷의 출력 인
250-mail.example.com 
250-PIPELINING 
250-SIZE 10240000 
250-VRFY 
250-ETRN 
250-STARTTLS 
250-ENHANCEDSTATUSCODES 
250-8BITMIME 
250 DSN 

답변

0

TLS는 필요하지만 제공되지 않았습니다. 호스트 gmail-smtp-in.l.google.com [64.233.167.27]

이렇게하면 호스트가 서버에 STARTTLS를 제공하지 않는다는 것을 분명히 알 수 있습니다. 그러나 gmail이 STARTTLS를 제공하고 telnet으로 테스트 한 결과이를 확인하는 것으로 알려져 있습니다. 내 생각 엔 다른 시스템에서 telnet을 실행했고 메일 서버가 트래픽을 가로 채 분석하는 일부 (투명) 방화벽 뒤에 있다는 것입니다. 암호화 된 SMTP 트래픽을 처리하지 않으려면 메일 서버가 TLS가 지원되지 않는다고 가정하기 위해 EHLO에 대한 서버 응답에서 STARTTLS 명령을 제거하기 만하면됩니다.

What happens if STARTTLS dropped in SMTP?도 참조하십시오.

+0

서버는 우분투 16.04의 새로 설치를 실행하는 VPS이며, 방화벽에서 실행되는 방화벽이 없으므로 다음에 무엇을해야할지 모르겠습니다. –

+0

제가 게시 한 텔넷 출력은 실제로 제 자신의 서버였습니다.하지만 이제는 네가 gmail 서버를 내 자신의 것으로 테스트하는 것이 더 합리적이라고 말했습니다. 내 서버의 Google 서버 테스트입니다. '250-mx.google.com, 250-SIZE 157286400 250-8BITMIME 250-ENHANCEDSTATUSCODES 250 SMTPUTF8' 이것은 내 노트북과 같은 것입니다. '250-SIZE 157286400 250-8BITMIME 250-STARTTLS 250- ENHANCEDSTATUSCODES 250-PIPELINING 250-CHUNKING 250 SMTPUTF8' STARTTLS가 내 서버에 제공되지 않습니다 ... –

+0

@DuncanConnolly : 차단 방화벽은 일반적으로 로컬 시스템에 있지 않습니다. 즉, 방화벽은 네트워크의 다른 곳에 있지만 실제 서버 경로. –

관련 문제