配色:                          文字サイズ: 

メールサーバ間の暗号化

EU一般データ保護規則(General Data Protection Regulation:GDPR)により、
個人情報が含まれるメールのサーバ間のやり取りにも、暗号化が求められるようになりました。
常時SSL(Always On SSL)の流れは、メールにまで。
メールのヘッダに内に、下記のような記録が残されていれば、暗号化通信経路でメールを受け取っています。

(version=TLSv1 cipher=RC4-SHA bits=128/128);

こちらのSSL-TOOLSを使って、相手先のメールサーバが暗号化に対応しているか確認することができます。
https://ssl-tools.net/mailservers

こちらのような表示になれば対応しています。

大手企業のドメインを入れてチェックしてみましたが、まだまだ対応率は低いようです。

digicertのサイトに、設定方法が分かりやすく説明されていますので、こちらをご参照ください。
digicert

SSLサーバ証明書を作成

/etc/postfix/mailkey.pem
/etc/postfix/mail_signed_cert.pem
/etc/postfix/cacert.pem

Postfixの設定

#vi /etc/postfix/main.cf 
smtp_tls_CAfile = /etc/postfix/cacert.pem
smtp_tls_session_cache_database = btree:/var/lib/postfix/smtp_tls_session_cache
smtp_tls_security_level = may
smtpd_tls_CAfile = /etc/postfix/cacert.pem
smtpd_tls_cert_file = /etc/postfix/mail_signed_cert.pem
smtpd_tls_key_file = /etc/postfix/mailkey.pem
smtpd_tls_received_header = yes
smtpd_tls_session_cache_database = btree:/var/lib/postfix/smtpd_tls_session_cache
tls_random_source = dev:/dev/urandom
smtpd_tls_security_level = may

設定後の動作確認ですが、上記SSL-TOOLSサイトでもできますが、opensslコマンドでもできます。
正しく設定できてる場合の例として、Gmailの結果を掲載します。

コマンド:
openssl s_client -connect サーバ名:ポート -starttls smtp

#openssl s_client -connect smtp.gmail.com:587 -starttls smtp
CONNECTED(00000003)
depth=2 OU = GlobalSign Root CA - R2, O = GlobalSign, CN = GlobalSign
verify return:1
depth=1 C = US, O = Google Trust Services, CN = Google Internet Authority G3
verify return:1
depth=0 C = US, ST = California, L = Mountain View, O = Google LLC, CN = smtp.gmail.com
verify return:1
---
Certificate chain
 0 s:/C=US/ST=California/L=Mountain View/O=Google LLC/CN=smtp.gmail.com
   i:/C=US/O=Google Trust Services/CN=Google Internet Authority G3
 1 s:/C=US/O=Google Trust Services/CN=Google Internet Authority G3
   i:/OU=GlobalSign Root CA - R2/O=GlobalSign/CN=GlobalSign
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIEgjCCA2qgAwIBAgIIbH56gLv+INEwDQYJKoZIhvcNAQELBQAwVDELMAkGA1UE
BhMCVVMxHjAcBgNVBAoTFUdvb2dsZSBUcnVzdCBTZXJ2aWNlczElMCMGA1UEAxMc
R29vZ2xlIEludGVybmV0IEF1dGhvcml0eSBHMzAeFw0xODA5MTEyMTA0MDBaFw0x
ODEyMDQyMTA0MDBaMGgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlh
MRYwFAYDVQQHDA1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKDApHb29nbGUgTExDMRcw
FQYDVQQDDA5zbXRwLmdtYWlsLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
AQoCggEBANhiaOWxLjBtMgGxC7Z/1p0/+OY31JoEVjBg+aChjeLLj3Of80AGOuPm
uYji23gvpA0WvD/zXwTxUsm/jaVikEE6xPgyLtgY2sjuY+ubH3pMl6ywTrPSOOfK
tmJHAS1JTVFXmlpwP9xpl46/JxduVlm4qS/tILff1J1uyDl5jsXKiqCc9l/Ppt5z
XBKFRpQWiEYkXzOlRs93tq2YKPcmmR0PofZFrw+MIKcIgDHQBUV3Elzi0FeeCtrf
Yz2k8Q1adoPzya1cLRttyYIu+oLiGbGrmbwjzBNFczbytarANJWCWEuS76i8g/rV
Rynsq9A48Vutad9rM9uUFzNcuhpHsKUCAwEAAaOCAUIwggE+MBMGA1UdJQQMMAoG
CCsGAQUFBwMBMBkGA1UdEQQSMBCCDnNtdHAuZ21haWwuY29tMGgGCCsGAQUFBwEB
BFwwWjAtBggrBgEFBQcwAoYhaHR0cDovL3BraS5nb29nL2dzcjIvR1RTR0lBRzMu
Y3J0MCkGCCsGAQUFBzABhh1odHRwOi8vb2NzcC5wa2kuZ29vZy9HVFNHSUFHMzAd
BgNVHQ4EFgQUJ/RQkcIJfFbr/9XPQ7E+m7EwdAQwDAYDVR0TAQH/BAIwADAfBgNV
HSMEGDAWgBR3wrhQmmd2drEtwobQg6B+pn66SzAhBgNVHSAEGjAYMAwGCisGAQQB
1nkCBQMwCAYGZ4EMAQICMDEGA1UdHwQqMCgwJqAkoCKGIGh0dHA6Ly9jcmwucGtp
Lmdvb2cvR1RTR0lBRzMuY3JsMA0GCSqGSIb3DQEBCwUAA4IBAQAe2w7INa1tovgL
pckaJXcgCyfpyqCk3P4W3MwC4py64sQqkubaiwpNozzoh00RU+Mg6v8KdRX4Mig6
JB0jC9keRv8J5+N3j2p+tiGc/HcLs/CGRym4KkDlKVacXDPrhi2iHj3Vxr7dVTLB
EGIxg3VsLTkKA4pwQPo4/s/Jpvtfsd0UYY1D67k8hCJ5dpm+iP81YQCw2owmTQwO
ZhgSEdmh2wrNVn53UGY7rMH/wZVCCsokjWxEpDmGluxzx9HxsRiyp6h14nNL4OF3
SmUcT776HBP8UmJNh9iVEF7MZgg02FlKlSRa+eExzJAnfDldtPGOBDxVFSvsrSKj
GPUQng5U
-----END CERTIFICATE-----
subject=/C=US/ST=California/L=Mountain View/O=Google LLC/CN=smtp.gmail.com
issuer=/C=US/O=Google Trust Services/CN=Google Internet Authority G3
---
No client certificate CA names sent
Peer signing digest: SHA256
Server Temp Key: X25519, 253 bits
---
SSL handshake has read 3210 bytes and written 294 bytes
Verification: OK
---
New, TLSv1.2, Cipher is ECDHE-RSA-CHACHA20-POLY1305
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
    Protocol  : TLSv1.2
    Cipher    : ECDHE-RSA-CHACHA20-POLY1305
    Session-ID: 04E2C5C0B2C9F45142C8C371E280DE2C790D2BA9F05548E159ECD84E8AD723A4
    Session-ID-ctx:
    Master-Key: 93983F324E69485E8DE022F77CB5E2B6394DE465C5EC3E0EA2D1AD2B9C3A7385E83564019EF981EC8A34F48631F87119
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    TLS session ticket lifetime hint: 100800 (seconds)
    TLS session ticket:
    0000 - 00 3d e6 89 68 8f b2 aa-b0 38 fe 30 74 04 84 a4   .=..h....8.0t...
    0010 - 02 cb 4c fd bb 33 56 e0-94 dd 4b 82 93 82 c0 38   ..L..3V...K....8
    0020 - 55 30 91 11 17 3b b5 03-e3 c6 63 6b 9e 16 16 0f   U0...;....ck....
    0030 - b4 39 44 2d 84 76 0b 01-7e 34 27 be 67 4f 7f ec   .9D-.v..~4'.gO..
    0040 - ab d3 1d 55 3b c9 3a 2e-a1 9c 4f 9b 7d 63 7a dc   ...U;.:...O.}cz.
    0050 - 38 f4 ba b8 31 4c 88 c6-ca 91 8e 8c c2 60 50 60   8...1L.......`P`
    0060 - e6 dc 51 0b a9 2f 17 cc-13 08 6a 94 f1 01 da 43   ..Q../....j....C
    0070 - de 88 e3 26 46 f8 c5 c5-dc a3 14 ec 48 09 66 1b   ...&F.......H.f.
    0080 - 1a bc 3d 73 4f ae a0 79-76 ad 95 af 3c bf e8 42   ..=sO..yv...<..B
    0090 - c5 1c 99 35 35 98 9c 17-6b d7 1e ff 5d e1 02 76   ...55...k...]..v
    00a0 - 7c 52 86 a4 96 55 52 3c-c6 7f 82 e5 af 8f 19 84   |R...UR<........
    00b0 - a0 0a c4 f9 22 da c4 5d-2f 02 ae 0c ea 38 46 4a   ...."..]/....8FJ
    00c0 - 4b a2 ee 3b a0 0b 8b 01-0a 71 58 5a 83 3f 22 58   K..;.....qXZ.?"X
    00d0 - 0e b5 af 76 bd 2f 91 36-25 e3                     ...v./.6%.

    Start Time: 1538020550
    Timeout   : 7200 (sec)
    Verify return code: 0 (ok)
    Extended master secret: yes
---
250 SMTPUTF8