このブログを検索

2026/03/13

自作メールサーバからiPhoneでメールが受信できない

dovecot+postfixのメールサーバが2台ある。

iPhoneでメールの送受信ができる。

dkimとかなんとかも設定している。

iPhoneが2台あるので、2台目でも受信できるようにしようとアカウントを設定した。

CA証明書もメールで送りインストールした。

しかし、2台目のiPhoneでだけ受信できない。


CA証明書が違うものか?と思って有効期限やシリアルを見て同じであることを確認した。

サーバで拒否している?fail2banで落としている?


が、firewall-cmdやfail2banで落としているかどうかもパッとわからない。

tcpdumpしてみる。

受信できる方は自宅のwifiにつなぎ、できないほうはwifiを切ってIPが変わるようにする。

それぞれのIPアドレスを確認し(いわゆる確認君の自作版で)、tcpdumpしてみると、

どちらからもサーバへのアクセスがある。

/var/log/maillog をtail -f で見る。

不正アクセスというか、ブルートフォースアタックというか、いたずらなのか、認証失敗アクセスが大量に来ている。

その中に自分のiPhoneのログもあった。

Mar 13 03:16:59 hogehoge dovecot[862]: imap-login: Disconnected: Connection closed: SSL_accept() failed: error:0A000416:SSL routines::ssl/tls alert certificate unknown: SSL alert number 46 (no auth attempts in 0 secs): user=<>, rip=49.xxx.xxx.xxx, lip=xxx.xxx.xxx.xxx, TLS handshaking: SSL_accept() failed: error:0A000416:SSL routines::ssl/tls alert certificate unknown: SSL alert number 46, session=<cBUowtdMuuUxbXwH>


証明書がどうこう書いている。certificate unknown

証明書が不明、信頼できない、ということのようである。


証明書を見るのはクライアントである。クライアントがサーバの証明書を見る。それを信頼するためにサーバ証明書を発行(署名)したCA証明書をインストールしたのだ。

なのに、信頼できないと言っている。


copilotにこのログを投げつけ、いくつか情報を補足すると原因がわかった。

CA証明書はiPhoneにインストールしただけではだめで、

設定→一般→情報→証明書信頼設定 で、「ルート証明書を全面的に信頼」をオンにしなければならない。