PostfixのTLSを検証

こんにちは。サイオステクノロジー技術部 武井です。

PostfixのTLSを試してみました。PostfixからTLS対応メールサーバーに送る方です。相手はOffice365です。実際にパケットの中身を見て、どうなっているのかも確認しました。

まず、Postfixのインストールです。

# yum install postfix

設定ファイルを修正します。今回はlocalhostからのみメールを送るので、そのように設定します。/etc/postfix/main.cfを修正します。差を見たいので、まずTLSじゃない状態でメールを送ってみます。

myhostname = mail.example.com
...
mydomain = example.com
...
inet_interfaces = 127.0.0.1
...
mynetworks_style = host
...
mynetworks = 127.0.0.0/8

メールを送ってみます。

# telnet localhost 25
Connected to localhost.
Escape character is '^]'.
220 postfix-test.japaneast.cloudapp.azure.com ESMTP Postfix
HELO foo.or.jp mail.example.com
250 postfix-test.japaneast.cloudapp.azure.com
MAIL FROM: ntakei@example.com
250 2.1.0 Ok
RCPT TO: ntakei@contoso.onmicrosoft.com
250 2.1.5 Ok
DATA
354 End data with .
From: ntakei@example.com
Subject: test
Hello world.
.
250 2.0.0 Ok: queued as 76EAD3C4
QUIT
221 2.0.0 Bye
Connection closed by foreign host.

EHLOの結果です。tcpdumpでパケットキャプチャしたものをwiresharkで見ています。Office365がSTRTTLSに対応しているのがわかります。
Screen Shot 2018-02-21 at 18.01.13

しかし、PostfixがTLSに対応してないので、普通に平文で送っています。

Screen Shot 2018-02-21 at 18.06.08

PostfixをTLS対応してみます。/etc/postfix/main.cfに以下を追加します。

smtp_tls_CAfile = /etc/pki/tls/cert.pem
smtp_tls_security_level = may
smtp_tls_loglevel = 1

Postfixを再起動します。

# systemctl restart postfix

先程と同様にメールを送信して、そのパケットをキャプチャしてみます。
Screen Shot 2018-02-21 at 18.12.35

Client HelloとかServer Helloとか出てきています。SSL処理が始まって暗号化されているのがわかりました。

 

Be the first to comment

コメント投稿

Your email address will not be published.


*