SPFもDMARCもDKIMも通った。
しかしGmailの送り主の横には「鍵マーク」がまだ付いてしまっている。
暗号化が出来ていません、という文字通りの問題なのだが、暗号化の設定はしてあるはずなのだ。
/etc/postfix/main.cf
のPostfixの設定ファイルで何度確認しても、暗号化の設定はされているはずなのだが、もう一度見直してみることにした。
想像できた問題点はこれら。
・暗号の「鍵」が独自のノラ鍵だからか?
・リレーホストまでは暗号化は出来ている。だがリレーホスト以降の暗号化が出来ていない。
まずは「暗号の「鍵」が独自のノラ鍵」であることを根本からやり直す。
Let's Encryptの認証鍵が、自宅サーバーであっても無償で使えるようになっていたのは知らなかった。かつてからSSLを自宅サーバーに入れたかった人たちにとっては朗報すぎる。しかも作業がすごい簡単になっていた。かつて無料SSLも存在したが、登録や認証のプロセスが大変なうえ、サーバー1台につき1証明書ということなので、複数のドメイン管理には向いてなかった。ところが時代はいつのまにか過ぎ、面倒な手続きは不要で、複数であっても、楽々登録できてしまった。Let's Encrypt!ありがとう!そしてcertbotもありがとう!
導入の仕方は「certbot」で検索してもらうとすぐにわかるはずだ。
Ubuntuならば
apt install certbot
とインストールすればOK。以下のような記述もあったので試したが、
apt install certbot python3-certbot-apache
python3-certbot-apache はすでにUbuntu版のcertbotの中に組み込まれているようで「無いよ」と言われてしまうのだ。なのでcertbotだけでOK。
プロセスだけを記しておこう。
・まずはapacheを対象にWEB用(https)のSSLを取得。www.webteq.siteみたいな感じね。
・そしてメール用にもSSLを取得。mail.www.webteq.siteみたいな感じね。
・apacheのSSLをなんじゃかんじゃ設定する。いくつかの設定ファイルに鍵の置いてあるディレクトリを記述したりするやつね。
・Postfixの方もノラ証明書が設定されていたディレクトリをLet's Encryptの認証鍵があるところへ変更。さよならノラ鍵。
これでSSLは正規のものとなった…。サーバーを初めて20年近くが経つが、歴史に刻まれる日となるだろう。これならGoogleとて認めてくれるだろうと思っていたのは甘かった。テスト送信をしても「鍵マーク」は外れない。「暗号化されていません」という注意書きが添えられてしまうのだ。
となると、リレーホストがいけないということなのか。私の見立てが正しければ、リレーホストまでは暗号化されていて、それ以降は非暗号になってしまっているということなのだが、そんなことってあるのだろうか??わからない。わからないままに、Postfixの設定をいじり倒して土曜は過ぎた。
日曜。
朝からテスト送信を繰り返すが、一向に鍵マークは消えない。もしかするとメーラーの問題か!?と思い、メーラーの設定も見直す。おっと、確かに送信サーバーのホストの設定に
www.webteq.site
と入っている。せっかく正規の証明書があるんだから
mail.www.webteq.site
に変えておいた。
するとどうだろう、Gmailの問題は未だ改善されないのだが、証明書が正規のものだとメーラー(Thunderbird)が認識してくれたようで、メーラーの再起動時にSSL確認が出なくなっているではないか。「このノラ証明書を例外として認めます?」といったような警告だ。PCの再起動後は、この警告を毎度承諾しないと自動受信してくれないので、幾度もクライアントからのメールに気が付かずにため込んでしまったことがある。ApacheのSSLを導入できただけでも歴史的なのに、なんとメーラーで起こっていた問題まで解消できてしまうとは。さあご唱和ください、Let's Encrypt!ありがとう!そしてcertbotもありがとう!
ただし、Googleの「鍵マーク」問題は依然として残っている。
やはり最初の見立てである「リレーホスト」の問題なのだろうか。そこで私はこう考えた。
・リレーホストを使っている問題かもしれない
・だがリレーホストなしではどうしてメール送信できないのか?
・いや、動的IPを使用しているなら必要だが、固定IPを使用しているんだから、ダイレクトに送信して良くね?
・リレーホストを使っていても解消できる設定があったとしても、見つからないのであれば、リレーホスト使わなくていんじゃね?
さよならリレーホスト
そう、固定IPを持っている場合に限るが、リレーホストは使わなくていいのだ。リレーホストが問題であるかどうかは置いておいて、とにかく、もうリレーホストを使用せずに独り立ちするときが来ていたのだ。独自SMTPとでもいえばいいのだろうか。言い方を変えれば、ノラSMTPと言うのか。なんかノラに戻っちゃった気がするけど、まあいい。ノラは時に独立を意味する。悪いことではない。そうなると、、Postfixの設定は
/etc/postfix/main.cf
relayhost = [mail.asahi-net.or.jp]:587
これを
/etc/postfix/main.cf
# relayhost = [mail.asahi-net.or.jp]:587
とコメントアウトするだけだ。さあノラSMTPとしてネットの海へと船出しようぞ!意気揚々とGmailにテスト送信するも、「鍵マーク」は外れない。「鍵マーク」自体は開錠されたマークなので外れているんだけれど、その「開錠された鍵マーク」が外れてくれない笑 ふざけんじゃねえ!そう俺は怒ってたね。
Gmailへ大量にテストメールするも、すっかり忘れていた。リレーホストを変えたならSPFも書き換えることになるんだな。
@
txt
v=spf1 mx include:spf-01.asahi-net.or.jp -all
これを
@
txt
v=spf1 mx include:mail.www.webteq.site -all
こうする。テストメールを送信!はぁ!! 今度はメールが届かずに戻ってくるようになってしまった…。ノラSMTP、失敗か。
よくよく帰ってきてしまうメールのエラー文を呼んでみると、こんなことが書いてある。
Our system has detected an unusual rate of 550-5.7.28 unsolicited mail originating from your IP address. To protect our 550-5.7.28 users from spam, mail sent from your IP address has been blocked.
つまり、
スパムっぽいんでブロックの対象となりました。
っていうことなのだそうだ。ぅおーーーい!!そりゃあないだろ、こんだけやりとりしてきた中じゃないか。ええ?
しかしGoogleはつれないだけじゃなくて、懐も深かったりするのよね。そんなスパム判定に解消ツールを設けてくれていた!知らなかった!
postmasterツール
https://postmaster.google.com/
このツールでドメインを登録。ついでなのでwww.webteq.siteとmail.www.webteq.siteの二つをしておいたわ。
そしてGmailへテスト送信。…まだスパム扱い。お互いの関係のほとぼりが冷めるまでには時間が必要ってことかね?そう、関係がもつれたときには、相手からのメールなんてろくすっぽ読まないで感情的になってしまうものだ。よくよく読んでみれば「あなたのこと嫌いじゃないのよ、ただ、こうしてくれさえすれば…」と書いてくれているのにもう「俺のこと嫌いなんだ。俺のことはどうでもいいんだ。いいだろう、ええ、俺だってお前のことどうでもいいよ!俺だってやり返したくなるもんねえ」ともはや文字なんか頭に入ってこない。日曜の夜は悶々とした気持ちで眠りについた。
月曜。
すっかり冷静になった私は、Googleから帰ってきたエラーメールをよく読んでみた。「ここを読んでみてね」とURLがある。
https://support.google.com/mail/?p=UnsolicitedIPError
直接的なことではないが、こんなヒントが書かれていた。
メールを送信する相手を、自分からのメールの受け取りを承諾しているユーザーに限定します。一般的にこういったユーザーは、ドメインからのメールを迷惑メールとして報告しません。
つまり、スパムって、メールのやりとりをしないでしょう?っていうのがGoogleの考え方。となると「やりとりをしているならば、スパムじゃない」ってことになるわけね。OK、やりとりてみましょう。
Gmailから自宅のメールへ
「さっきあたしのGmailに送ってくれたメール、届いてないみたい。」
と送る。マジで。
自宅のメールから
「うそだろ?オレ、さっき送ったよ。まさか!誰に送っちゃったんだろ?いや、合ってる。なんで届かないんだー!」
とマジで、送る。
すると届いた!Googleはほつれた糸を引きちぎるのではなく、ほどいてもくれるのだ。実際に時間が解決したのか、仮面夫婦のような偽装されたやりとりが効いたのかはわからないが、とにかくGoogleはスパム判定を解除してくれた。
「あ、きたきた。ありがとう。さっきのは届かなかったけど、今届いたわ」
と念押しのために偽装返信を書いているときに気が付いた。
「鍵マーク」がなくなっている!
やったー!成功した!
「鍵マーク」アイコンがなくなり、送信者の横にある▼マークにカーソルを充てると「標準的な暗号」と出てきている!メッセージのソースも確認するとSPFもPASS、DMARCもPASS!うおおーー、完璧だ!
みんなありがとう!そしてさよならリレーホスト、ノラ認証書、そして誕生おめでとう、ノラSMTP!
ああ、疲れた。でもPASSするのって気持ちいいよね!
みんなもぜひ暗号化してみてくれ。もしわからないことがあればコメントで質問OK。
【2023/08追記】
どうやらノラSMTPはダメっぽい。またスパム判定を受けることになってしまった。。。
やはりリレーホストを戻すしかないようだ。コメントアウトを外して元に戻した。おかえり!リレーホスト。勝手にさよならして悪かったよぉ。
/etc/postfix/main.cf
relayhost = [mail.asahi-net.or.jp]:587
これではSSLが使えなくなってしまう、と嘆いていたのだが、587番ポートでもTLSが使えるようなのだ。SSLはどちらかというと古いものですべてTLSになっている名前だけなもんであって、587でもTLS使ってりゃOKっていうことらしいのだ。よくわからないが、Googleが認識したんだからいいだろ?
そして最終的に辿り着いたDNSのSPFはこの設定。
v=spf1 include:asahi-net.or.jp -all
リレーホスト使うとどうやってSPF設定していいのよ、となって困ってたのだが、こいつで成功した。
アサヒネットならなんでも通しますよ、的な書き方にする。リレーしてくれているんだから、アサヒネットは味方ですよ、と口添えしなきゃねえ。
これでPASSした。自分のサーバーのIPとドメインを記載しているとSPFの判定では「SOFT FAIL」を食らうので、やや気持ち悪かったのだが、PASSできたのでよかった。もう何でもSPFはinclud:を使うのが良さそうだ。簡単だし。
Gmailへの暗号化・迷惑メール警告への対応は、道のりは険しかったが、簡単にまとめてしまうと以下のようになります。
・SPFを設定する(DNS)
・DKIMを設定する(サーバー + DNS)
・DMARCを設定する(サーバー + DNS)
・SSLを正規のものにする(cerbot + Postfixなど)
・リレーホストをやめる(Postfix + 固定IP)
・Postmasterに登録したほうがいい(Google + DNS)
・いやリレーホストはやめないで、SPFも柔軟なものにする。
ちょっーーーと大変だけれど、こんだけわかっていれば近道はできるはず。がんばれー