Saya pikir saya berhasil mengamankan server email Postfix / Dovecot saya. Saya memiliki sertifikat yang ditandatangani dari LetsEncrypt, yang berlaku untuk domain saya.
Mengirim & menerima berfungsi dengan baik, tetapi karena Gmail mulai menandai email yang tidak aman, semua email yang dikirim dari server saya ditandai sebagai tidak terenkripsi.
Pengguna Gmail melihat "Pesan ini tidak dienkripsi", seperti ini:
Di Postfix's main.cf
, di antara pengaturan lain, saya punya:
# SASL, for SMTP authentication
smtpd_sasl_type = dovecot
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_path = private/auth
# TLS, for encryption
smtpd_tls_security_level = may
smtpd_tls_auth_only = no
smtpd_tls_CAfile = /etc/letsencrypt/live/mydomain.com/chain.pem
smtpd_tls_cert_file = /etc/letsencrypt/live/mydomain.com/fullchain.pem
smtpd_tls_key_file = /etc/letsencrypt/live/mydomain.com/privkey.pem
tls_random_source = dev:/dev/urandom
smtpd_client_new_tls_session_rate_limit = 10
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_tls_exclude_ciphers =
EXP
EDH-RSA-DES-CBC-SHA
ADH-DES-CBC-SHA
DES-CBC-SHA
SEED-SHA
smtpd_tls_dh512_param_file = ${config_directory}/certs/dh_512.pem
smtpd_tls_dh1024_param_file = ${config_directory}/certs/dh_1024.pem
disable_vrfy_command = yes
smtpd_helo_required = yes
smtpd_delay_reject = yes
Di Postfix's master.cf
, di antara pengaturan lain, saya punya:
smtp inet n - - - - smtpd
-o smtpd_enforce_tls=yes
-o smtpd_use_tls=yes
-o smtpd_tls_security_level=encrypt
submission inet n - - - - smtpd
-o syslog_name=postfix/submission
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o broken_sasl_auth_clients=yes
Di Dovecot 10-ssl.conf
, di antara pengaturan lain, saya punya:
ssl = required
ssl_ca = </etc/letsencrypt/live/mydomain.com/chain.pem
ssl_cert = </etc/letsencrypt/live/mydomain.com/fullchain.pem
ssl_key = </etc/letsencrypt/live/mydomain.com/privkey.pem
Apakah Gmail secara keliru menandai sertifikat LetsEncrypt karena tidak mempercayai mereka, atau apakah email saya benar-benar dikirim tidak terenkripsi?
main.cf
. Anda belum memasukkan semua yang relevan dalam cuplikan Anda.smtpd_banner
,myhostname
, dllJawaban:
Saya memecahkan ini dengan menambahkan kedua baris ini ke Postfix's
main.cf
:(Saya hanya menetapkan
smtpd_tls_security_level
karena artikel yang menyesatkan yang mengatakan bahwa semuasmtp_
nilai didepresiasikansmtpd_
.)sumber
Email Anda terkirim tidak terenkripsi. Jika Anda hanya ingin mencoba yang terbaik, tambahkan yang berikut ke main.cf Anda
Untuk menerapkan enkripsi TLS untuk email yang dikirim ke google tambahkan ini ke main.cf Anda
ganti / etc / postfix / rootcas / dengan lokasi CA Root tepercaya Anda dan di file / etc / postfix / tls_policy add
ini akan memastikan bahwa email yang dikirim ke gmail.com., google.com dan googlemail.com dikirim terenkripsi dan diautentikasi server SMTP
Jika Anda tidak ingin mengautentikasi dan hanya mengenkripsi (ini diperlukan untuk situs dengan sertifikat palsu) gunakan
sebelum memulai kembali eksekusi postfix
sumber
smtp_tls_security_level = may
. Hanya itu yang diperlukan, dan pengaturan khusus google lainnya tidak diperlukan.Pertimbangkan hubungan klien / server terkait dengan SMTP dan pengaturannya masuk akal:
2.1. Struktur dasar
Desain SMTP dapat digambarkan sebagai:
(Src: rfc5321.txt)
Jadi:
"smtp_tls_security_level" adalah untuk klien SMTP Postfix. Lihat: http://www.postfix.org/postconf.5.html#smtp_tls_security_level
"smtp d _tls_security_level" adalah untuk server SMTP Postfix, lihat: http://www.postfix.org/postconf.5.html#smtpd_tls_security_level
Ketika postfix mentransfer email ke gmail, pengaturan smtp_tls_security_level adalah pengaturan terkait.
Ketika postfix menerima email melalui smtp, pengaturan smtp d _tls_security_level relevan.
sumber