御社のサーバからメールを送ったら、gmail側で赤色のunlock的な鍵マークが出るんだけど何とかしてくれない?
問い合わせ事例とGmailでのメール受け取り状況
1年ぐらい前からポツポツとこの手の問い合わせが増え始めました。
Gmailは暗号化せずに配送してきたメールを「コイツのメール信用するなよ。セキュリティ終わってるぜ。」って猛烈アピールしてきます。見たことありますかね?こんな感じ⬇です。「to」の横に鍵マークが有り、▼で展開すると、
正直、ネットワークの途中経路でどうやってパケット盗み見するの?と思うし
データセンターに変な機器付けられて、盗み見されたとして、膨大なデータの中からそんな微細なデータ見て喜ぶ変態さんはおらんやろ?と思ってる。
結局、暗号化してるしてないで情報が流出してるんじゃなくて、メールの誤送信、外部に情報売り渡すやつ、端末・サーバのセキュリティが甘い、、、大体この辺りが問題って気づいてくれないかね。。。
・・・グチはここまでにしておいて、本題ですね。顧客の要望に応えます。
postfixでの暗号化方法について
設定は簡単ですが、注意するべき内容があるので、参考にされる場合は最後まで読んでください。
postfix設定
$ cd /etc/postfix/
$ vi main.cf
smtp_tls_security_level = may # この1行を追記
設定は即時反映されるので、restart等は不要です。(postfixのこの仕様怖い…)
注意事項1:smtpとsmtpdの違い
postfixのこの設定で良く間違えるケースがあります。下記は意味が違います。
smtpd_tls_security_level = may
どこが違うかわかりますか?「smtp」では無く、「smtpd」になっています。
「smtp」で設定する場合は、このpostfixがクライアントとして動作するときの設定です。要するに、外部メールサーバなどへ送信するときに使う設定となります。
「smtpd」で設定する場合は、このpostfixがサーバとして動作するときの設定です。PCや外部メールサーバ、システムなどからメールを受け取るときに使う設定となります。
今回は、このメールサーバ(postfix)からgmailへ送信するときのことを書いていますので、「smtp」が正解となります。
注意事項2:mayでなければならない
levelは必ず「may」としてください。
「may」は日和見TLS(端的に言うと、暗号化したい人とは暗号化通信する。したくない人とは暗号化通信しない)となります。
何故こちらが重要かと言うと、世界的にメールの暗号化が必須条件となっているわけではないため、送信先のメールサーバが暗号化対応していないと、メール送信ができなくなるためです。
「gmailにしか送信しないんだよ!」という場合などは強制「encrypt」にしてもらってもいいと思います。
その他にも色んなオプションがありますので、セキュリティ的にもっと見直したいという場合はリファレンスを参考にされたらよいかと思います。
注意事項3:postfixバージョンを要確認
smtp_use_tls = yes
あまり無いと思いますがこの記述方式は、postfix2.2の時です。2.3以降でコチラを使うと、メールキューに溜まる可能性があります。これを書いたうえで、「smtpd_tls_security_level」を書けば上書きされるので、一応大丈夫です。
postfixのバージョンは下記コマンドで確認ができます。
$ postconf | grep mail_version
設定後、Gmail側でのメール確認
設定変更後、同じようにメールを送信すると、下記のようになります。
これで解決となりました。
オマケ
この「詳細を表示」っていうのを押すと、下記のような情報が表示されるんです。。。
これを見たユーザー様は、「え!?緑色にならないんですか!?」と聞いてきます。ちゃんとGoogleの内容を読めば理解できると思うんですが、、、説明がめんどくさい!!というそこのあなた。だいたいのユーザーさんはコレで一発です。「天下のGoogle様からのメールがコレです!なので、何も問題ありません。」
何故か、うちのサーバで障害が起こると「あーだこーだ」言われるんですが、「AWS」や「GCP」で障害発生しても「しゃーないね」って一言で終わるんですよね。。。
コメント