【Fortigate】ファイルフィルタの設定と動作確認 FortiOS6.4.3

FortiGate のファイルフィルタを使うと、通過するファイルを種類(ファイルタイプ)で判定し、モニタ(ログだけ記録)やブロックができます。

この記事では、PDF ファイルのダウンロードをブロックする設定と動作を確認します。あわせて、ファイアウォールポリシーのインスペクションモード(フローベースとプロキシベース)による動作の違いも見ます。検証時の FortiOS は 6.4.3 です。

前提の記事

HTTPS の通信の中のファイルを調べるため、SSL インスペクション(deep-inspection)を使います。SSLインスペクション(deep-inspection)設定と動作確認 の内容を前提にしています。

この記事でわかること
  1. ファイルフィルタのプロファイルと、PDF をブロックするルールの作り方
  2. ファイアウォールポリシーへの適用と、SSL インスペクションが必要な理由
  3. フローベースとプロキシベースでの、ブロック時の見え方の違い
端末FortiGateWeb サーバ① PDF ファイルを要求(HTTPS)② PDF ファイル③ SSL インスペクションで復号し、ファイルフィルタで PDF をブロック
図1 HTTPS でダウンロードした PDF ファイルを、SSL インスペクションで復号してファイルフィルタでブロックする

HTTPS の通信は暗号化されているので、そのままでは FortiGate からファイルの中身が見えません。SSL インスペクション(deep-inspection)で復号することで、ファイルフィルタがファイルの種類を判定できるようになります。

セキュリティプロファイルの設定

ファイルフィルタのプロファイルを作る

セキュリティプロファイル ›› ファイルフィルタ で 新規作成 をクリックします。名前を FileFilter にし、ルールの 新規作成 をクリックします。

画面イメージについて

この記事の画面は、実際の画面ではなく、検証時の画面から設定する項目(見るポイント)を抜き出して描いたイメージです。バージョンによって、項目の並びや表記は変わります。

PDF をブロックするルールを作る

新規ファイルフィルタルールの作成 の画面で、次のように設定します。

FortiGate 管理画面画面イメージ
ファイルフィルタ ›› 新規ファイルフィルタルールの作成
1名前All-PDF-Blocked
コメント 
プロトコルCIFS
FTP
HTTP
IMAP
POP3
SMTP
トラフィック○ 着信○ 発信◉ 両方
一致するファイル
パスワードで保護されている場合のみOFF
2ファイルタイプ
pdfエントリを選択⋮
msoffice
msofficex
pdfpetite
png
⋮
3アクション○ モニタ◉ ブロック
OKキャンセル
図2 PDF をブロックするルール(実際の画面ではなく、設定する項目を示したイメージです)
No.項目設定する内容
1名前任意の名前です。今回は All-PDF-Blocked にします。
2ファイルタイプpdf を選びます。
3アクションブロック にします。

そのほかの項目は初期値のままです。各項目の意味は次のとおりです。

項目意味
プロトコルルールを適用するプロトコルです。フローベースの初期値は CIFS、FTP、HTTP、IMAP、POP3、SMTP のすべてです(HTTPS は SSL インスペクションで復号した HTTP として扱われます)。
トラフィック着信 はセッションの戻り方向(ダウンロードなど)、発信 はセッションの行き方向(アップロードなど)、両方 はどちらも対象にします。
パスワードで保護されている場合のみON にすると、パスワードで保護されたファイルだけを対象にします。
アクションモニタ はファイルを通してログを記録します。ブロック はファイルを止めてログを記録します。

OK をクリックすると、プロファイルにルールが追加されます。プロファイルの画面でも OK をクリックして保存します。

FortiGate 管理画面画面イメージ
ファイルフィルタ ›› 新規ファイルフィルタプロファイル
1名前FileFilter
アーカイブのコンテンツをスキャンON
2機能セット◉ フローベース○ プロキシベース
ルール
ルールトラフィックプロトコル一致するファイルアクションファイルタイプ
3All-PDF-Blocked両方CIFS, FTP ほか4件Any⊘ ブロックpdf
OKキャンセル
図3 ルールを追加したファイルフィルタのプロファイル(実際の画面ではなく、設定する項目を示したイメージです)
No.項目内容
1名前プロファイルの名前です。今回は FileFilter にします。
2機能セットこのプロファイルを使うファイアウォールポリシーのインスペクションモードと合わせます。今回はフローベースです。
3All-PDF-BlockedSTEP 2 で作ったルールです。

ファイアウォールポリシーに適用する

ポリシーでファイルフィルタを有効にする

ポリシー&オブジェクト ›› ファイアウォールポリシー で、LAN からインターネット向けのポリシーを開きます。インスペクションモードをフローベースにし、ファイルフィルタ を ON にして FileFilter を選びます。SSL インスペクションは deep-inspection にします。

FortiGate 管理画面画面イメージ
ファイアウォールポリシー ›› ポリシーの編集
名前LAN_to_Internet
着信/発信インターフェースLAN (port2) → Internet (port1)
送信元/宛先/サービスall / all / ALL
アクション◉ 許可○ 拒否
1インスペクションモード◉ フローベース○ プロキシベース
セキュリティプロファイル
アンチウイルス/Webフィルタ/DNSフィルタOFF
アプリケーションコントロール/IPSOFF
2ファイルフィルタON FileFilter
3SSLインスペクションdeep-inspection
OKキャンセル
図4 ファイルフィルタを適用したファイアウォールポリシー(実際の画面ではなく、設定する項目を示したイメージです。一部の項目はまとめています)

動作確認

フローベースでダウンロードする

端末から、SSL インスペクションで復号する対象のサイトにアクセスし、PDF ファイルをダウンロードします。今回は、ジュニパー社が公開しているデータシートの PDF(1000550-en.pdf)を使います。

ダウンロードを始めると、ブラウザに保存するかどうかの確認が表示されます。保存 をクリックしても、ダウンロードは完了しません。

端末のブラウザ画面イメージ
https://www.juniper.net/…/datasheets/1000550-en.pdf
1000550-en.pdf をダウンロードできませんでした。[再試行][キャンセル][ダウンロードの表示]
図5 フローベースでのダウンロード結果(実際の画面ではなく、表示結果のイメージです)

ログ&レポート ›› ファイルフィルタ でログを確認すると、PDF ファイルがブロックされています。

FortiGate 管理画面画面イメージ
ログ&レポート ›› ファイルフィルタ
サービスアクションURLファイル名ファイルタイプフィルタ名
HTTPSblockedhttps://www.juniper.net/a…1000550-en.pdfpdfAll-PDF-Blocked
HTTPS1blockedhttps://www.juniper.net/a…1000550-en.pdf2pdf3All-PDF-Blocked
図6 ファイルフィルタのログ(実際の画面ではなく、表示のポイントを示したイメージです)
No.表示意味
1blockedファイルがブロックされたことを示します。
2pdfFortiGate が判定したファイルタイプです。
3All-PDF-Blocked一致したファイルフィルタのルールです。

プロキシベースでダウンロードする

次に、ファイアウォールポリシーのインスペクションモードを プロキシベース に変えて、同じ PDF ファイルをダウンロードします。今度はブラウザに FortiGate の警告画面が表示され、ファイルがブロックされます。

端末のブラウザ画面イメージ
https://www.juniper.net/…/datasheets/1000550-en.pdf
AttentionThe file “1000550-en.pdf” has been blocked due to its file type and/or properties.URL:https://www.juniper.net/assets/jp/jp/local/pdf/datasheets/1000550-en.pdf
図7 プロキシベースでのダウンロード結果(実際の画面ではなく、表示結果のイメージです)
補足

ファイルフィルタのプロファイルの機能セットは、適用するファイアウォールポリシーのインスペクションモードと合わせる必要があります。ポリシーをプロキシベースにするときは、プロファイルの機能セットもプロキシベースにします。

このように、インスペクションモードによってブロックしたときの見え方が変わります。

モード検査のしかた今回のブロック時の見え方
フローベース通過するパケットの内容をその場で調べます。ダウンロードが途中で止まり、ブラウザには「ダウンロードできませんでした」と表示された。
プロキシベース通過する内容をいったん組み立て直してから調べます。FortiGate の警告画面(Attention)が表示された。

まとめ

設定今回の値
プロファイルFileFilter(機能セットはポリシーのインスペクションモードと合わせる)
ルールAll-PDF-Blocked:ファイルタイプ pdf、トラフィック 両方、アクション ブロック
ポリシーファイルフィルタ FileFilter、SSL インスペクション deep-inspection
確認ログ&レポート ›› ファイルフィルタで blocked を確認

ファイルフィルタはファイルの種類だけで判定し、ファイルのサイズや中身では判定しません。中身で判定したい場合は DLP を使います。

コメント

  1. krhandh より:

    メールでファイル添付(特定のファイルではなく全てのファイル)した場合のログを取りたいんですが、その場合、[新規ファイルフィルタルールの作成]の[プロトコル]で、”SMTP” を選択し、[ファイルタイプ]では、本例のように、”PDF” を選択せず、何か、全てのファイルを指定するようなパラメータを選択し、[アクション]で、”モニタ” を選択すれば良いということでしょうか?

    実機が無い中で、色々とWebで調べているんですが、なかなか見つからず、藁をも掴む気持ちでお伺いしております。勿論、個人の見解であることは承知しております。何か、ヒントを頂ければ。