MTAの多層フィルタを理解する
2025年11月21日
著者: 竹洞 陽一郎
大規模なメールを送信する際には、メールフィルターが多層フィルタから成り立っていることを理解しておく必要があります。
MTAの多層フィルタとは?
MTAの多層フィルタ(Multi-layer filtering for Mail Transfer Agent)とは、メールサーバ(MTA)が受信するメールを複数の異なる段階でフィルタリングし、不正メールやスパム、マルウェアを効率的に排除する仕組みを指します。
単一のチェックだけでは突破されやすいため、複数の観点で段階的に検査することで、セキュリティと精度を高めます。
多層フィルタの典型的な構成
- 接続レベルフィルタ(Connection-level filtering)
-
- 不正な送信元IPをブロック(RBL/DNSBL、IPレピュテーション)
- SMTP接続の挙動(過剰な接続試行、ポートスキャン的挙動)を監視
- プロトコルレベルフィルタ(Protocol-level filtering)
-
- SMTPヘッダの整合性チェック
- HELO/EHLOの正当性検証(FQDN形式か、逆引きと一致するか)
- コンテンツレベルフィルタ(Content-level filtering)
-
- メール本文や添付ファイルの解析
- スパム判定(Bayesianフィルタ、機械学習ベースのスコアリング)
- マルウェア検知(アンチウイルスエンジン、多層シグネチャ・ヒューリスティック検査)
- メールの文面の類似性チェック
- ポリシーレベルフィルタ(Policy-level filtering)
-
- SPF/DKIM/DMARC検証
- 受信ドメインのセキュリティポリシーに従って受信可否を判定
- 社内ルール(添付ファイルの種類制限、大容量メール制御など)を適用
- サンドボックス/高度解析(Advanced filtering)
-
- 疑わしい添付ファイルを仮想環境で実行し挙動を監視
- URLリライトやクリック時のリアルタイム検査
多層化することで、以下のような利点があります。
- 突破困難化
- 攻撃者は1つの層を回避しても、次の層でブロックされる可能性が高まる
- 誤検知の低減
- 単一基準では誤検知しやすいが、複数の基準を組み合わせることで精度が向上
- ゼロデイ攻撃対応
- 未知の攻撃をヒューリスティックやサンドボックスで検出可能
- 柔軟な運用
- 組織ごとにポリシーやルールを重ねて調整できる
PostfixやSendmail、Eximなどを使い、メールサーバを自社で構築している場合は、milter(Mail filter)を利用して、SpamAssassin、ClamAV、RBL照会を組み合わせる事が多いでしょう。
商用のSecure Mail Gatewayを設置して、多層検査をクラウドベースで実行し、スパム・フィッシング・BEC攻撃を包括的に防御している企業も多いです。
仕様の観点から見た多層フィルタ
MTAに実装するフィルタは、仕様の観点から分類すると、「どの処理フェーズで機能しているか」がより明確になります。
以下に、仕様の種類と、それが主に機能するフィルタ段階を整理します。
| 分類 | 代表的な技術・仕様 | 該当する処理フェーズの例 |
|---|---|---|
| 標準化された仕様 (RFC) |
|
ポリシーレベル 認証結果に基づき受信可否を判断 |
| デファクトスタンダード |
|
接続レベル・プロトコルレベル 接続元IPや経路の正当性を確認 |
| 独自技術・高度解析 |
|
コンテンツレベル・高度解析 中身の危険性やレピュテーションを判定 |
このように整理すると、SPF/DKIM/DMARCは多層フィルタの中の「ポリシーレベル」という一つの層を担っているに過ぎないことが分かります。
DMARCは「送信元のなりすまし」を防ぐ強力な技術ですが、万能ではありません。
例えば、「正規のメールアカウントが乗っ取られてマルウェアが送信された場合(DMARCはパスする)」や、「業務内容を巧妙に偽装した文章だけの詐欺メール(BEC)」は、DMARCだけでは検知できません。
これらを防ぐには、機械学習によるコンテンツ解析や、サンドボックスによる動的解析といった、他の層での防御が不可欠なのです。
メールが届くかどうかは、DMARCに合格できるかどうかだけではない
以上のように、MTAは多層フィルタリングを実装しているため、DMARCに合格しているだけでは、メールの到達(Deliverability)は保証されません。
DMARCは「本人確認」に過ぎず、「通行手形」ではないからです。
もしも、「DMARCに合格している(Authentication-Resultsがpass)のに、メールが届かない、あるいは迷惑メールフォルダに入る」という事象が発生した場合には、DMARC以外の階層のフィルタに検知されていないかを確認しましょう。
特に注意すべきは、以下の2つのフィルタです。
- RBL(Real-time Blackhole List)
-
接続レベルのフィルタです。
送信元のIPアドレスがブラックリスト(Spamhausなど)に登録されていると、DMARCの合否に関わらず、接続自体が拒否されることがあります。 - コンテンツフィルタ
-
コンテンツレベルのフィルタです。
「スパムと判定されやすい単語の多用」「評価の低い短縮URLの利用」「添付ファイルのマクロ」などが含まれていると、認証された正規のメールであってもスパム判定されます。