随分前の話だけれど、PostfixがSNIに対応しているらしい。
すっかり忘れていたからリマインダー的に記載。
SNIとは
かいつまんで説明すると、一つのIPアドレスに対して複数のSSL証明書を設置する技術。
SSL/TLSの拡張仕様。
PostfixのSNI対応
ソースは以下。3.4以降でサポートされるとのこと
The Postfix SMTP server supports SNI (Postfix 3.4 and later), configured with tls_server_sni_maps.
http://www.postfix.org/TLS_README.html
細かいことは書いていないけれど以下のページでもSNIが動いた、と記載がある。
どうやら間違いなさそう。
DovecotのSNI対応
Dovecotも対応済。
本家サイトに対応してますよ、こう記述してくださいねと記載がある。
めちゃわかりやすい。
local_name imap.example.org { ssl_cert = </etc/ssl/certs/imap.example.org.crt ssl_key = </etc/ssl/private/imap.example.org.key } local_name imap.example2.org { ssl_cert = </etc/ssl/certs/imap.example2.org.crt ssl_key = </etc/ssl/private/imap.example2.org.key } # ..etc..
メールサーバーのSNI対応の思い出
メールサーバーのSNIには苦い思い出がある。
2019年ごろ、正しい設定を行っているにもかかわらずiPhoneから某レンサバのメールサーバーにアクセスするとメールソフト上で以下の警告が表示されるようになった。
警告内容
具体的には以下リンクの「10.サーバの識別情報を検証できません」のエラー。
原因
細かく調べたところ以下に起因するものだった。
レンサバのPostfixのサーバー証明書は1枚しか設定できない仕様
サーバー上の一つのドメインしか証明できない仕様(SNI非対応)
1台に複数のドメインが設定されているメールサーバーだったのだが、証明書が1枚しか設定できないため、それ以外のドメインのメアドを設定するとiPhone標準のメールアプリが上記のエラーを吐く、という残念アラートだった。
対応
すったもんだあったものの社内では以下の結論に収まった。
そもそもエラーを出しているのがiphoneのメールアプリだし、エラーは出るけど業務に支障はない。 不正なサーバーでもないから問題ない、ただし直近では対処のしようがないのでその旨お客様に伝えてやり過ごそうと
最終的には上記内容を伝え、問題ないことを訴求して納得してもらった。
納得いただけない場合は無理やり証明書をiPhoneにインストールしてもらい、エラーを回避させた(気がする、ひょっとするとインストールできなかったかも)。
苦労したこと
とはいえ、問題ないという裏付け調査と、その後の対応(お客様、上司への説明)には大変だった。
証明書=暗号化と解釈している人が多いので、本来の目的のバリデーションチェックのところでエラーが出ると、技術の人でも仕組みを把握していないと迷子になってしまうからだと思う。
また、説明した人たちが技術と全く関係ないお客様ばっかりだったから、話を理解してくれなくて相当難儀した記憶がある。
半面、メールの受送信時?のSNIに対応してアラートまで上げられるなんてAppleって技術力高い、余計なことしやがってさすがだなあと感じたなあ。。。
日本語の資料や実績が少ない
メッセージアプリ全盛の昨今に「メールで仕事するなんて」昭和な働き方はどうかと思いつつ、しぶとく生き残るであろうメールサーバーとメールサービス。
これらに関して直近3年以内に出版されたいい本等がないか捜索中も、目ぼしいものは見当たらず。
最近はメールサーバーに関する勉強会とかもあまりなさそう。(スパムの勉強会はちらほらあり。)
こういう情報が活発に更新されない背景として、GmailとかOffice365が大流行していて、どこの会社もそこらにサーバーを引っ越してしまうので自前でメールサーバーなんて構築しないからだろうなあ。
廃れてゆくかもしれないけれど、SNI関連の知識って国家試験にも出てくるのでITやっている人は知っておくべきだと思う。
コメント