FortiGateのUTM機能の中で、発売当時からある「Eメールフィルタ機能」について書きたいと思います。
この「Eメールフィルタ」ですが、FortiGateの最新OS FortiOS7.6.Xでも、UTM機能の1つとしていまだに提供されています。
Fortinet Document Library
ただ、私の感覚では、現在、この「Eメールフィルタ」を活用している企業は少なくなってきていると感じています。理由として考えられるのが・・
- メールプロバイダ側で「迷惑メール機能」が提供されている
- クラウド型メールが多くなった為、FortiGateでは止められないケースが増えた
ではないかなと思います。
ただ、中小企業が中心となりますが、インターネットプロバイダが提供するホスティングメールを利用しているケースもまだまだ多くあります。
この場合、「SMTP」「POP」「IMAP」等のプロトコルを使用してメール送受信している為、インターネットゲートウェイである、FortiGateでメールフィルタリングする事が可能になります。
今回は、「POPメール」を使用しているケースでの、「Eメールフィルタ」動作 を中心に、その場合の対処方法を説明していきたいと思います。
1. FortiGateのEメールフィルタとは?
FortiGateの「Eメールフィルタ機能」は、不正なメールを識別し、不要なメールの受信を防ぐ為のFortiGateのUTM機能の1つです。「Eメールフィルタ」には2つのフィルタリングタイプがあります。
「Eメールフィルタリング」のタイプ
- FortiGuardスパムフィルタリング
→ Fortinet社が提供する「FortiGuardサーバー」のブロックリストを利用し判定 - ローカルスパムフィルタリング
→ FortiGate上に定義した「ブロック/許可リスト」を利用し判定
通常、「Eメールフィルタ」を使用する場合、① FortiGuardスパムフィルタリングを利用するのが一般的です。
②ローカルスパムフィルタリングは、どちらかというと、補助的な機能です。FortiGuardで制御出来ない特定のメールに対して適用したりします。
この後、ご説明する「スパムメールを検知しない!」ケースのご説明も、「FortiGuardスパムフィルタリング」を使用した場合に限り、ご紹介していきたいと思います。
2. スパムメールを検知しないケース
「FortiGuardスパムフィルタリング」は、他のUTM機能と同様に、スパム判定リストはFortiGuardサーバーで行われる為、ローカルであるFortiGate側では、あまり設定する項目はありません。
メールフィルターで設定する項目は、大きくは2つになります。
- スパム検知する「プロトコル」
- スパム検知時の「アクション」

上記、2つの設定ポイントによって、「Eメールフィルタ」の動作が決まります。
では、スパムメールを検知しないケースは、どのようなケースがあるのか見ていきたいと思います。
2-1.「 設定したポリシーをメールが通過していない」ケース
「Eメールフィルタ」を使用して、スパムメールを検知する為には、セキュリティプロファイルで「Eメールフィルタ」のプロファイルを作成し、「ポリシー&オブジェクト」のファイアウォールポリシーで、作成したプロファイルを適用する必要があります。
せっかく作成した、「Eメールフィルタプロファイル」ですが、メール送受信のパケットが、適用したポリシーを通過しない限りは、FortiGuardサーバーでスパム判定はされません。通過している事を、しっかり確認が必要です!
メール受信パケットがどのポリシーを通過しているか?の確認方法を以下に記載します。
確認方法
① 「ダッシュボード」-「FortiViewセッション」を開きます。「送信元」あたりを右クリックし、「ポリシー」にチェックを入れ、「適用」をクリックします。


② 表示フィルターをかけます。「フィルター追加」をクリックし、POP3通信のみを表示させる為、「宛先ポート110」を設定します。


③ POP3通信のセッションのみが表示されますので、ポリシーの列を確認し、「Eメールフィルタプロファイル」が設定されたポリシーが表示されている事を確認します。
2-2.「 メール送受信が暗号化されている」ケース
最近のホスティングメールも、平文で送受信は行われず、メール送受信パケットが暗号化されているケースが多くあります。その場合に使用されるプロトコルは、「SMTPS」「POP3S」など、暗号化されたプロトコルです。
【SMTPS】
- メールを送信するためのプロトコルで、SMTP(SMTP over SSL)とも呼ばれる
- より高いセキュリティを備えている
- 通常はTCPの465番ポートを使用する
【POP3S】
- POP3にSSL/TLSを組み合わせたプロトコルで、メールの送受信を暗号化して行う
- 通常はTCPの995番ポートを使用する
メール本文や認証用パスワードが暗号化されていないプロトコルでは、盗聴によって悪用される恐れがあるため、POP3Sなどのプロトコルが導入されています。
実は、このケースでスパムメールを検知出来ていないケースは、結構多いと思っています。
【SMTPS】【POP3】を利用している場合は、SSLインスペクションモードを「Deep Inspection」にする必要があります。併せて、端末には証明書のインポートが必要になりますので、ご注意ください。
2-3. 「プロキシモードで動作していない」ケース
「FortiGuardスパムフィルタリング」を使用して、スパムメールを判定する為には、「プロキシモード」での動作が必須です。以下の表をご確認ください。ちなみに、「ローカルスパムフィルタリング」は「フローモード」でも動作します。
Fortinet Document Library
ちなみに、「フローモード」「プロキシモード」の切り替えについては、以前記事で記載しておりますので、そちらをご参照ください。

ですので、「Eメールフィルタリング」は「プロキシモード」で設定を行いましょう!!
注意
ここで、注意があります。
FortiGate小型モデル(メモリ搭載2GB以下)は、FortiOS7.4.4以上にすると、「プロキシモード」が選択出来なくなります。この内容については、以前記事で記載しておりますので、そちらをご参照ください。

もし、FortiGate 40Fや60Fなどの、メモリ搭載2GB以下モデルを使用していて、「Eメールフィルタ」機能を使用したい場合は、必然的に、FortiOSを7.4.3以下にして、プロキシモードで設定する必要がある事をご認識ください!!
3. まとめ
FortiGateのEメールフィルター機能を適切に設定することで、スパムやフィッシングメールの脅威から企業を守ることができます。設定後も定期的に見直しを行い、より精度の高いフィルタリングを目指しましょう。
これで、Eメールフィルター(アンチスパム)が検知しない!ポイントを解説は終わりです。しっかりと機能を動作させる為にも本記事をご活用ください!
コメント