さくらのVPSにメール機能を集約するため、POP3 と SMTP の SSL 化を実施。
代表的なメーラー (Thunderbird、秀丸メール、電信八号) で送受信できたので Mew で…と思ったらなんかつながらない。
Creating an SSL/TLS connection...
と出たきり刺さって帰ってこないので C-g で殺す。
結論から言うと
- stunnel がリンクしてる OpenSSL が古い (SSLv3 で繋ぎに行ってる可能性)
- stunnel が使う chipher がサポートされていない (FIPS なんちゃらのエラー)
- Mew が新しい stunnel をサポートしていない
ということだった。
.mew.el に次の1行を書いてログ記録モードにする。
(setq mew-debug t)
これで mew を起動し、"i" でメールを取り込む。
ささったら C-g して止めてから C-x b で *Mew debug* を見る
すると
<SSL/TLS: >
2018.09.17 01:12:07 LOG3[42074:676788736]: SSL_connect: 14094410: error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failurer
SSLv3 でアクセスしてる…って、stunnel がリンクしてる OpenSSL のライブラリが古いままだったようなのでビルドし直す。
こんどはどうだ?と思ったらまだ刺さる。
<SSL/TLS: >
Reading configuration from file /tmp/griffon59303mzo/mew59303x_X
FIPS_mode_set: F06D065: error:0F06D065:common libcrypto routines:FIPS_mode_set:fips mode not supported
うーん、これは流石に原因がわかるまでに時間がかかった。
とりあえず stunnel が更新されてないかを見てみると stunnel 5.49 があったのでビルド→インストール。
すると刺さりはしなかったがエラーになったので *Mew debug* を見てみると stunnel のヘルプが出ていた。
stunnel のバージョン表示したらなんかわかるかな?と思って表示してみたら
/usr/source/stunnel-4.34% stunnel -version
stunnel 4.34 on i386-unknown-freebsd8.0 with OpenSSL 1.0.2p 14 Aug 2018
:
:
Service-level options
cert = /usr/local/etc/stunnel/stunnel.pem
ciphers = FIPS
curve = sect163r2
/usr/source/stunnel-5.49% stunnel -version
stunnel 5.49 on i386-unknown-freebsd8.0 platform
:
:
Service-level options:
ciphers = FIPS (with "fips = yes")
ciphers = HIGH:!aNULL:!SSLv2:!DH:!kDHEPSK (with "fips = no")
curve = prime256v1
あぁ、chipherが対応してなかったのか〜というわけで問題は Mew。
Mew で stunnel 5系が使えないのでちょっとぐぐってみると、どうやらバージョンアップが必要なようなので Mew 6.8 を落としてきてビルド→インストール。
そして実行してみると無事 SSL over POP3/SMTP が実行できたとさ。
└ G兄
└ G兄
└ G兄
└ G兄
└ G兄
└ G兄
└ G兄
└ G兄
└ 山銀
└ G兄