ARCとは
ARC(Authenticated Received Chain)は、メールの経路上の送信ドメイン認証の以前の各検査結果をメールのヘッダーに履歴として保存し、正しい経路で転送されたことを保証する仕組みである。ARCは2019年7月に、RFC8617で「Experimental(実験的)」な段階として公開および文書化されたが、すでに実用化が行われている。
ARCは、メーリングリスト等でメールを転送する際、DKIM(Domainkeys Identified Mail)の検査が失敗してしまうという問題を回避する方法として生まれた、送信ドメイン認証の技術の1つである。
以下では、まずなぜDKIMの認証が失敗してしまいARCが必要となるのかを解説し、その後、ARCの仕組みを説明する。
DKIMが失敗する例
電子メールの仕組みには、メールのヘッダーに表示される送信元の情報(ヘッダFrom)と、実際にメールを配送する際に使われる送信元の情報(エンベロープFrom)の2つのFromが存在する。そして、メールの仕様上、ヘッダーに表示される情報は変更することができるようになっている。
DKIMとは、電子署名における秘密鍵・公開鍵の技術を用いて、メールが正当な送信元で作成されたことを保証する、送信ドメイン認証の1つである。DKIMが失敗する状況として、例えばメーリングリストシステムを経由する場合がある。 送信者がメーリングリストのアドレス宛てにメールを送信すると、その後、メーリングリストサーバはリスト内の複数人へメッセージを転送する。この時、ヘッダFromがメーリングリストのアドレスに書き換えられたり、件名に連番や「Fw:」などが追加されたりなどの処理が行われるのが一般的である。
しかし、DKIMの仕組みでは、メールのヘッダー情報を元に署名を作成し、正当な指定ドメインから送られたことを証明している。そのため、メーリングリストによる書き換えが発生すると、上図のようにDKIM検査は必ず失敗してしまう。メーリングリストシステムが再度DKIM署名を行う方法もあるが、この場合、最初の送信者が送ったメールの本文が改ざんされていないことを確認する術がない。
上記のように、DKIM署名が無効になってしまった場合の問題を解決する方法として役立つのがARCである。DKIM署名の評価を「Authentication-Resultsヘッダ」として付与し、履歴として保存していくことで、メール転送経路での検証の結果を確認することができる。
ARCの仕組み
ARCの設定が有効となっている送信元からメールが送られると、メールヘッダーに次の3つの項目が付与される。それぞれ次のような役割を意味している。
- ARC-Seal(AS)
複数存在するARC関連ヘッダーから生成される電子署名
- ARC-Message-Signature(AMS)
DKIMと同様の方法で生成される電子署名
- ARC-Authentication-Results(AAR)
過去のAuthentication-Resultsを保存するためのヘッダー。メールが転送される前のDKIM署名の検証結果が記載されている。
つまり、送信元の署名に対してのみチェックを行うのでなく、中継メールサーバを通過するごとに新しい署名を追加していく。これにより、転送経路全体におけるARCの成否を最終の受信先で確認することができ、信頼できる送信元からのメールが誤って拒否されていないか、正当なメールが迷惑メールとして扱われていないかを判断することができる。
ARCに対応したオープンソースソフトウェア
メールシステムにおいて、DKIM署名が付いているメールをメーリングリストシステムなどで転送している場合、ARCの設定を有効にしておく必要がある。以下では、ARCの実装に対応しているオープンソースソフトウェアを紹介する。
Rspamd
Rspamdは、オープンソースソフトウェアのspamフィルタシステムである。主に受信側のスパム対策の役割として使われることが多いソフトだが、他にも非常に多くの機能を備えている。送信ドメイン認証の技術を実装することも可能で、DKIM署名/DKIM検査/SPF検査/DMARC検査/ARCに対応している。
ただし、RspamdでARCを実装する際の注意点として、受信用と送信用の2つのRspamdが必要となる。単体のRspamdでは構成ができないため、2台または、2インスタンスのRspamdを動作させる必要がある。また、下記で紹介するような、すでにARCの機能が存在するメーリングリストシステムを使っている場合、Rspamdでの実装は不要である。
Mailman 3
Mailman 3は、ARCに対応した、メーリングリストサーバのオープンソースソフトウェアである。GNUプロジェクトが開発を行っている。前身のMailman 2に代わって開発され、マルチドメインの対応やREST APIの使用が可能となっている。日本語での利用に課題はあるが、デージーネットで開発した修正プログラムを使うことで日本語環境でも利用可能である。なお、Mailman 3の前身となるMailman 2は、ARCに対応していない。
Sympa
Sympaは、ARCに対応した、メーリングリストを管理するオープンソースソフトウェアである。GPLv2で公開されている。Webインタフェースから、メーリングリストの管理やアーカイブの参照、共有文書の管理などの設定を行うことができる。
Googleの「メール送信者のガイドライン」の要件
2023年10月、Google社および米国Yahoo!社が新たに更新した「メール送信者ガイドライン」が公開され、2024年2月より適用された。このガイドラインでは、Gmail/Yahoo!メールのドメイン宛てにメールを送る場合、その送信者はSPF、DKIM、DMARCなどの送信ドメイン認証に対応する必要があるとしている。
また、メーリングリストのようなシステムでメールを配信している場合は、次の要件も定義している。
- ARCに対応していること
- ワンクリックで購読解除が行えること
- 購読解除のためのヘッダを含めること
送信者がメールを定期的に転送する場合は、特に、ARC認証を設定しておくことが推奨されている。その他にもいくつかの要件があり、これらに対応していないメールについては迷惑メールとして扱う、もしくは受信拒否となり、正しくメールを届けることができない可能性があると示している。この影響により、ほぼ全ての企業団体や組織に対応が求められており、今後はより送信者認証の普及が進んでいくことが見込まれる。
デージーネットの取り組み
GmailやMicrosoft365などの主要なメールサービスでは、通常、デフォルトでARCヘッダーが自動的にメールに付与されるように設定されている。一方で、自社でMTAやメーリングリストサーバを構築・運用している場合、ARCの設定を手動で行う必要があるため非常に手間がかかる可能性がある。デージーネットでは、PostfixなどのMTAとRspamdなどのOSSを連携させたメールサーバの構築を行った実績がある。これらの経験や知見を活用して、ARCなどの送信ドメイン認証を実装したメールサーバの構築、保守サポートのサービスを提供している。
また、デージーネットでは、Google社/Yahoo!社が公開した「メール送信者ガイドライン」の詳細や、OSSを使った実装方法について調査・検証した資料を公開している。下記のリンクより無料で取得することができる。
【カテゴリ】:認証  セキュリティ  メール関連技術  標的型攻撃対策  
【Webセミナー】自社でOSSを採用しよう!今更聞けないOSSの基本セミナー
日程: | 11月22日(金)Webセミナー「BigBlueButton」を使用します。 |
内容: | OSSを導入したいけど、どこから手をつければいいかわからない方必見! |
ご興味のあるかたはぜひご参加ください。 |