はじめに
職場(どっかの大学)で以下の環境でメール読み書きしてました。
-メールサーバ: CentOS7.x
Dovecot + IMAP(NonSSLでのアクセス禁止)+Postfix
-クライアント: CentOS7.x
Webmail Rainloop-1.14
ソフトウエアDovecot/PostfixはCentOS7.xに最初から入ってるのです。Rainloop-1.14はソースコードからインストールしました。
先月、職場のセキュリティ検査でTLS1.0を無効にしなさいと指摘されました。
TLS1.0を無効にしました。
Dovecot:
ssl_protocols = !SSLv2 !SSLv3 !TLSv1
Postfix:
smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3, !TLSv1
smtpd_tls_protocols = !SSLv2, !SSLv3, !TLSv1
Rainloopでメールが読めなくなりました(>_<)
ログ(/var/log/maillog)を見ると以下のようなエラーが出てます。
TLS handshaking: SSL_accept() failed: error:140760FC:SSL routines:SSL23_GET_CLIENT_HELLO:unknown protocol, ....
いろいろ調べると、WebmailのRainLoopがTLS1.0でアクセスしているようです。
Rainloopのソース読んでみました。
わかんないです。
もしかしてPHPが古いのでは。。
CentOS7内蔵のPHPは5.4です。Googleで「php5.4 TLS1.1」で検索するとTLS1.1は未対応みたいな話が出てきます。
それか!
phpの野良リポジトリを導入しましてphp5.4からphp7.4にバージョンアップしました。
無事Rainloopでメールにアクセスできるようになりました(^_^)
(この作業、他の環境をぶち壊す危険があるため、詳細は省きます。自己責任でググって作業ください。)
以上です。