送信者認証とは
送信ドメイン認証とは、メールの送信元の正当性を保証するための技術である。送信ドメイン認証による送信元の保証の仕方には、大きく分けて以下の2つがある。
- 正当な送信元IPアドレスであることを保証する
- 正当な送信元で作成されたメールであることを保証する
なお、メールの仕組みだけでは悪意のある送信者を見破ることは難しいため、送信ドメイン認証では、DNSと組み合わせて送信元の保証を行う。
送信ドメイン認証が必要な理由
送信ドメイン認証について解説する前に、まず電子メールの送受信の仕組みや、「なりすまし」と言われるメールについてまとめる。
電子メールの仕組みには、「メールの送信元」を表す情報が以下の2つ存在する。
- ヘッダーFrom
一般的にメーラーソフトでメールを参照した場合、メールのヘッダと呼ばれる部分に、「From」や「To」、「Subject」を、送信元や宛先、件名として表示される。ヘッダFromは、このヘッダーに表示されるFromのことを指している。なお、このヘッダーに表示される「From」や「To」は、基本的にメールの配送には利用されない。
- エンベロープFrom
エンベロープFromは、実際にメールを配送する際に使われる送信元の情報のことである。エンベロープ(envelope) は「封筒」を意味する単語で、メールサーバ間でメールを転送する際は、このエンベロープの情報が利用される。実際に送信されるメールの内容とは無関係である。
しかし、もともと電子メールの仕組みは、ヘッダFromを変更することができる仕様となっている。これを悪用すると、下図のようななりすましメールを簡単に送ることができてしまう。実際に多くの迷惑メールがこの仕組みで送られており、ID/パスワードや個人情報が流出するなどの被害が報告されている。
送信ドメイン認証は、こうしたなりすましメールなどの対策として生まれた技術である。送信ドメイン認証を利用することで、受信者は、「適切な送信元からメールが送信されているか」を判断することができ、不正なサイトなどへ誘導するフィッシング詐欺などの被害を未然に防ぐ効果がある。
現在、送信ドメイン認証を実装するための方法は複数存在し、これらを組み合わせてセキュリティ対策を行うのが一般的である。以下では、送信ドメイン認証の実装に利用される技術を紹介する。
送信ドメイン認証の技術
以下では、送信ドメイン認証に使われるSPF、DKIM、DMARC、ARCについて、それぞれの仕組みや課題点を説明する。
SPF
SPF(Sender Policy Framework)とは、DNSの仕組みを利用し、メールの送信元(主にIPアドレス)を検証する、送信ドメイン認証の技術である。SPFでは、メールアドレスのドメイン名に対して、「どこから送信される可能性があるのか」を予めDNSに登録する。この設定を入れておくことで、送信メールサーバー側は、想定していないメールサーバから指定ドメインのメールが届いた場合、その信用度を通知することができる。受信メールサーバ側は、DNSに指定されたIPアドレスと送信元のIPアドレスを照合して情報の確認を行う。その結果を利用して、スパムの疑いがあると判定したり、怪しいメールを隔離・受信拒否したりすることが可能である。
このように、SPFの仕組みは、送信元が正しければある程度信頼できるメールであるという考え方に基づいており、SMTPプロトコル内に指定されるMAIL FROMおよびHELOに指定されるドメインを利用して送信元の判定を行う。送信元の設定であれば、メールサーバに手を加えず基本的にDNSのレコード追加だけで実装できるため、SPFは現在も広く普及している。
また、SPFと類似した実装方法にSenderIDと呼ばれる技術がある。SenderIDは、いくつかのメールヘッダ内に指定されているドメインも利用する点でSPFとの違いがある。
SPFの問題点
SPFを利用する場合、送信元の情報がSPFのレコードに必ず登録されていなければならない。そのため、メールが転送された場合、転送先ではメールの安全性が確認できない。また、攻撃者がドメインを取得し、そのドメインの攻撃用メールサーバのSPFを設定したSPFレコードが存在すれば、認証はパスしてしまう。攻撃用メールサーバのエンベロープFromでメールを送信し、ヘッダーFromを他のドメインに詐称すれば、攻撃者はなりすましメールを送れてしまうという欠点がある。
DKIM
DKIM(Domainkeys Identified Mail)は、電子署名の技術を使って、メールが正当な送信元で作成されたことを保証する技術である。DKIMでは、秘密鍵でデータに署名を行い、公開鍵で署名の検証(データの改ざんの有無など) を行う。
DKIMもSPFと同様にDNSを利用するが、メール送信元の情報を保証するSPFと異なり、DKIMでは、メールが正しい送信元で作成されたことを保証している。また、署名の作成に使われた範囲でメールの内容が改ざんされていないことも証明している。そのため、メールの転送が行われた場合でも、DKIM署名があれば、メールの送信元とメールの内容をある一定のレベルで保証することができる。
DKIMの問題点
メールサーバに専用ソフトウェアが必要だったり、電子署名の鍵の管理が必要だったりと、導入・管理に若干手間がかかるため、SPFと比較すると実用化が遅れている。
DMARC
DMARC(Domain-based Message Authentication, Reporting, and Conformance)は、より体系的にメール攻撃の対策をするための技術である。DMARCは、SPFやDKIMの認証の技術を使って、メールFromの偽装を検知する。そして、DNSを利用して、正規のメールドメインの所有者が、自身の保有するドメインを騙るメールの扱いを告知する。
また、DMARCでは、DMARCポリシーに記載されたドメイン所有者のメールアドレスに対して、DMARC認証の結果を記載したレポートメールを送信することもできる。DMARCレポートでは、送信したメールが、相手側の送信ドメイン認証の検証でどのように扱われているか、自ドメインを騙るなりすましメールなどがどの程度送られているのかを知ることができる。さらに、後述するparsedmarcというツールを使うことで、定期的に送られてくるDMARCレポートを自動的に解析・保存することも可能である。
ARC
ARC(Authenticated Received Chain) は、メール転送時(特にメールの内容が変化する転送)において、DKIMの検査が必ず失敗してしまうという問題を克服するために生まれた技術である。
例えば、メーリングリストを経由してメールを送信するようなケースでは、特定の送信者から受信したメールをメーリングリストのメンバーに再送信する。この時、ヘッダーFromをメーリングリストのアドレスに書き換えたり、件名に連番を付与したりなどの処理が行われることが一般的である。しかし、DKIMではメールのヘッダ情報を元に署名を作成しているため、メーリングリストによる書き換えが発生すると、必ず検査が失敗してしまう。また、メーリングリストシステムがDKIM署名を再度行う方法もあるが、これでは最初の送信者が送ったメール内容が改ざんされていないかを知ることができない。
ARCの設定を有効にしておくことで、メール経路上のDKIM署名の検査の結果を履歴として保存していく。最初の送信元から送られたDKIM署名の検証結果から最終転送元までをヘッダに記載し、正当な経路で正しく転送が行われているかを保証している。
送信ドメイン認証に対応したOSS
ここでは、メール送信者側における送信ドメイン認証の実装に利用可能な各OSSを複数紹介する。
- Rspamd
Rspamdは、オープンソースのspamフィルタシステムである。主に受信側のスパム対策ソフトとして使われるが、非常に多くの機能があり、DKIM署名/DKIM検査/SPF検査/DMARC検査/ARCに対応している。
- OpenDKIM
OpenDKIMは、DKIMの署名/検証を実装するためのソフウェアである。 milterプロトコルを実装したメールサーバと連動して動作する。OpenDKIMには、DKIM用の鍵・DNSレコードのヒントの生成ヘルパー、マルチドメインのDKIM鍵の管理、DKIMのモード変更 (署名のみ・検証のみ・両方)などの機能がある。一方で、 ARCや受信側のSPF/DMARCの検査には対応していないため、OpenDKIMはメール送信時にDKIM署名を付与する目的で利用するのがおすすめである。
- Mailman 3
GNUプロジェクトが開発しているメーリングリストサーバーのオープンソースソフトウェアである。前身のMailman 2に代わって開発され、マルチドメインの対応やREST APIの使用が可能となっているほか、ARCにも対応している。日本語での利用に課題はあるが、デージーネットで開発した修正プログラムを使うことで日本語環境でも利用可能である。
- Sympa
GPLv2で公開されている、メーリングリストを管理するオープンソースソフトウェアである。Webインタフェースから、メーリングリストの管理やアーカイブの参照、共有文書の管理などを行うことができ、ARCにも対応している。
- ENMA
ENMAは、IIJが開発したメールの送信ドメイン認証を行うオープンソースソフトウェアである。SPF検査/DKIM検査に対応している。
- parsedmarc
parsedmarcは、DMARCのレポートを解析するためのツールである。DMARCレポートはXML形式でメールに添付される場合がほとんどで、人にとっては非常に見づらく、解析に手間がかかる。parsedmarcを活用することで、レポート結果の解析をしたり、解析したデータをデータベース等に保存したりすることができる。さらにparsedmarcと、BIツールなどの他のシステムを連携することで、解析データを分かりやすく可視化することも可能である。
送信ドメイン認証の普及状況
送信ドメイン認証の技術は、セキュリティの強化を目的として国内の大手サービスで積極的に採用されたことで、ISP(インターネットサービスプロバイダ)などを中心に普及が進んでいる。
そうした中、2023年10月に公開された、Googleと米国Yahoo!の「メール送信者のガイドライン」では、Gmail/Yahoo!メール宛にメールを送る送信者は、SPF、DKIM、DMARCなどに対応する必要があると発表している。また、これらに対応していないメールについては受信をしない方針も明らかにしている。この影響により、ほぼ全ての企業団体やメールプロバイダに対応が求められている。ガイドラインは2024年2月より適用されており、今後はより送信ドメイン認証の普及が進んでいくことが見込まれる。
なお、デージーネットが無料で提供しているメールサーバセキュリティ診断サービス『MSchecker(エムエスチェッカー https://mschecker.jp/)』のセキュリティ診断の集計結果をもとに公表した統計レポートでは、前年に比べ、SPFやDKIM等のセキュリティ対策を実施する企業の割合が増加したことが分かっている。一方で、DNS等の周辺対策は進んでいないなど、未だ課題が残る点も明らかとなっている。
デージーネットの取り組み
デージーネットでは、送信ドメイン認証の実装方法を調査・検証し、OSSを使った実装方法やよくある疑問などの情報を「OSSによる送信ドメイン認証の対応方法」にて公開している。資料は無料でダウンロード可能である。なお、この資料ではあくまで実装例を紹介しているため、個別の環境における設定方法の相談や構築の依頼は問合せフォームにて受け付けている。
【カテゴリ】:認証  メール関連技術  標的型攻撃対策  
【Webセミナー】自社でOSSを採用しよう!今更聞けないOSSの基本セミナー
日程: | 11月22日(金)Webセミナー「BigBlueButton」を使用します。 |
内容: | OSSを導入したいけど、どこから手をつければいいかわからない方必見! |
ご興味のあるかたはぜひご参加ください。 |