Fortigateのメールフィルタ検証(2.検証編)

下記の続きです。

あわせて読みたい
Fortigateのメールフィルタ検証(1.準備編) メールフィルタのセキュリティ周りを触ってみたいと思いました。よく目にするのがm-Filterですが無償版は法人にしか提供していないようです。他にないかchatGPTに聞いて...

今回は実際にFortigateのメールフィルタの検証を行います。
現場でのテストにも使えるかと思います。

Fortigateのメールフィルタの内容は以下です。
(ただし、Eメールチェックサムに関しては完全に一致しないといけず
テストしようがないため今回のテスト対象外とします。)
■FortiGuardスパムフィルタリング
・IPアドレスチェック
・URLチェック (Eメール内のフィッシングURLを検知)
・Eメールチェックサムのチェック
・スパム報告
■ローカルスパムフィルタリング
・HELO DNSルックアップ
・リターンEメールDNSチェック
・ブロック/許可リスト

■0.ポリシーの設定

[Eメールフィルタ]にてEメールセキュリティプロファイルを以下の通り作成しました。
※テスト内容に応じて変えます。

[ファイアウォールポリシー]にて[Eメールフィルタ]に作成したものを設定します。
 ポリシー1 宛先:Fortigate ← 送信元:インターネット

 ポリシー2 送信元:Fortigate → 宛先:インターネット

■1.IPアドレスチェック

インターネットに25番ポートを許可していると接続してくるスパマーがおり、
2,3時間放置していたらログに上がってきます。

↓実際のログ

■2.URLチェック (Eメール内のフィッシングURLを検知)
[Eメールフィルタプロファイル]で以下設定。
 ・[URLチェック:有効]
 ・[Eメール内のフィッシングURLを検知:有効]

以下をAWS上に建てたメールサーバから送信します。(送信元メアドと宛先メアドを変えてください。)

sendmail -f <送信元メールアドレス> <宛先メールアドレス> <<EOF
From: <送信元メールアドレス>
To: <宛先メールアドレス>
Subject: Test Detect phishing URLs in email
Reply-To: <送信元メールアドレス>
X-Custom-Header: CustomHeaderValue
X-Mailer: sendmail
Date: $(date -R)
Detect phishing URLs in email
 http://telegramw.club/
 https://rf-ego.pages.dev/
 http://fin4oj.weysg.xyz
EOF

↓実際のメールサーバからコマンド実行した図


[スパムアクション:タグ]の場合
 ※受信者側のメールサーバ側でもメールセキュリティがかかっているためテストの時は注意してください。

 ↓Fortigateのログ

 ↓受信者メール内容

[スパムアクション:破棄]の場合

 ↓Fortigateのログ

セキュリティプロファイルの設定を「破棄」から「タグ」に戻しときます。

■3.スパム報告

[Eメールフィルタプロファイル]で以下設定。
 ・[URLチェック:有効]
 ・[Eメール内のフィッシングURLを検知:有効]
 ・[スパム報告:有効]

[スパムアクション:タグ]で行います。破棄の場合メールが宛先にそもそも届きません。

以下をAWS上に建てたメールサーバから送信します。(送信元メアドと宛先メアドを変えてください。)

sendmail -f <送信元メールアドレス> <宛先メールアドレス> <<EOF
From: <送信元メールアドレス>
To: <宛先メールアドレス>
Subject: Test Spam submission
Reply-To: <送信元メールアドレス>
X-Custom-Header: CustomHeaderValue
X-Mailer: sendmail
Date: $(date -R)
Test Spam submission.
gagakagagb.com
EOF

↓実際のメールサーバからコマンド実行した図

↓Fortigateの転送ログ

↓受信者メール内容

上記のリンクを開くと以下FortiGuardのページに飛んでスパムメールか否かを報告できます。

■4.HELO DNSルックアップ

[Eメールフィルタプロファイル]で以下設定。
 ・[URLチェック:有効]
 ・[Eメール内のフィッシングURLを検知:有効]
 ・[HELO DNSルックアップ:有効]

VIPで外部ポートtcp/80 → 内部ポートtcp/25に宛先NAT設定しました。
(OP25BでISPのネットワークから出るときにtcp/25宛の通信はブロックされるためtcp/80で宛先NATするようにしました。)

EメールフィルタのプロファイルでSMTPを破棄にします

HELO ~のところが実際に存在しないドメインのメールアドレスを入力します。

下記を1行ずつ入力(MAIL FROM:~入力後Enterではじかれます。)
telnet <メールサーバIP or FQDN> <ポート番号>
HELO dnsjeglmmfqh.invalid
MAIL FROM:<送信元メールアドレス>

 ↓実際に家からAWS上のFortigat宛にコマンド実行した図

 ↓Fortigateのログ

キュリティプロファイルの設定を「破棄」から「タグ」に戻しときます。

■5.リターンEメールDNSチェック

以下をAWS上に建てたメールサーバから送信します。(送信元メアドと宛先メアドを変えてください。)

sendmail -f <送信元メールアドレス> <宛先メールアドレス> <<EOF
From: <送信元メールアドレス>
To: <宛先メールアドレス>
Subject: Test Return email DNS checkl
Reply-To: spammyemail@dnsjeglmmfqh.net
X-Custom-Header: CustomHeaderValue
X-Mailer: sendmail
Date: $(date -R)
Test Return email DNS check.
EOF

↓実際のメールサーバからコマンド実行した図

■6.ブロック/許可リスト

スパムブラックリスト一覧やフィッシングサイト一覧をまとめているサイトが以下となります。https://www.joewein.de/sw/bl-text.htm
https://www.fortiguard.com/wftest/86.html
https://www.fortiguard.com/wftest/26.html
https://support.kaspersky.co.jp/common/diagnostics/7399
https://community.fortinet.com/t5/FortiGate/Technical-Tip-How-to-test-anti-spam-engine-on-phishing-URL/ta-p/209547
https://urlabuse.com/doc
https://urlhaus.abuse.ch/

よき記事
https://www.viva-fortigate.com/archives/email_filter

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次