最近になって、自宅メールサーバーの再設計をしています。これは、ちょっとサボって放置していた、SPF, DKIM, DMARC の組み込みですね。実は、SPF の DNS レコード自体は既に導入していたのですが、DKIM, DMARC も改めて導入しました。
構築中に思ったことして、私のメールサーバーは、基本的に送信はしておらず、Gmail からの転送を受けるメールサーバーとして使用しているため、この際に、DMARC はきちんと評価をできるのか?という点でした。案の定、ちょっと変なログになっていたので調べたところ、ARC と言う仕組みがセットで存在していることがわかりました。
ARC (Authenticated Received Chain) はメール転送環境において、メッセージの認証結果を保持・伝達する仕組みを提供し、SPF、DKIM、DMARC の整合性が失われる問題を解決することを目的としています。これは、RFC 8617 で規定されています。
ARC を利用するには、OpenARC という OpenDKIM や OpenDMARC の仲間っぽい雰囲気のソフトウェアを使うことはわかりました。しかし、この ARC は、SPF, DKIM, DMARC と比較してはるかに情報が少なく、私がベース OS としている Ubuntu 22.04 ではパッケージも提供されていないため、個別のソースコードからビルドして使用する必要があります。Git の OpenARC のインストール情報を参照しても中々インストールできず、試行錯誤の結果、インストールすることができました。
さらに、自宅のメールサーバーは、K8s で稼働しているため、コンテナとしてビルドも行いました。
明日は、この OpenARC コンテナをメールサーバーに組み込もうと思います。
2024-12-09 追記:
Ubuntu 22.04 に OpenARC をソースコードからインストールしたコンテナをビルドしてメールサーバーに組み込みましたが、起動は問題ないものの、OpenARC がデータ(メール)を受信した際にプロセスがダウンするという事象に悩まされました。プロセスが落ちるため、OpenARC 側にはログすら残らないのですが、milter を実行している Postfix 側では以下のようなログが残ります。
can't read SMFIC_EOH reply packet header: Application error
今回は、OpenARC がハングする事象であり、上記の milter のログだけでは情報が足りなすぎるので、これ以上の調査は難しそうでした。なんとなく Ubuntu + OpenARC の組み合わせの問題である気がします。Ubuntu に OpenARC パッケージが存在しない理由と近いのかもしれません。一旦は、SPF, DKIM, DMARC のみで私の環境では問題がないため、ARC の導入は保留にしたいと思います。