FortiGate のファイルフィルタを使うと、通過するファイルを種類(ファイルタイプ)で判定し、モニタ(ログだけ記録)やブロックができます。
この記事では、PDF ファイルのダウンロードをブロックする設定と動作を確認します。あわせて、ファイアウォールポリシーのインスペクションモード(フローベースとプロキシベース)による動作の違いも見ます。検証時の FortiOS は 6.4.3 です。
HTTPS の通信の中のファイルを調べるため、SSL インスペクション(deep-inspection)を使います。SSLインスペクション(deep-inspection)設定と動作確認 の内容を前提にしています。
- ファイルフィルタのプロファイルと、PDF をブロックするルールの作り方
- ファイアウォールポリシーへの適用と、SSL インスペクションが必要な理由
- フローベースとプロキシベースでの、ブロック時の見え方の違い
HTTPS の通信は暗号化されているので、そのままでは FortiGate からファイルの中身が見えません。SSL インスペクション(deep-inspection)で復号することで、ファイルフィルタがファイルの種類を判定できるようになります。
セキュリティプロファイルの設定
ファイルフィルタのプロファイルを作る
セキュリティプロファイル ›› ファイルフィルタ で 新規作成 をクリックします。名前を FileFilter にし、ルールの 新規作成 をクリックします。
この記事の画面は、実際の画面ではなく、検証時の画面から設定する項目(見るポイント)を抜き出して描いたイメージです。バージョンによって、項目の並びや表記は変わります。
PDF をブロックするルールを作る
新規ファイルフィルタルールの作成 の画面で、次のように設定します。
| 1名前 | All-PDF-Blocked |
| コメント | |
| プロトコル | CIFS FTP HTTP IMAP POP3 SMTP |
| トラフィック | ○ 着信○ 発信◉ 両方 |
| パスワードで保護されている場合のみ | OFF |
| 2ファイルタイプ | pdfエントリを選択⋮ msoffice msofficex pdfpetite png ⋮ |
| 3アクション | ○ モニタ◉ ブロック |
| No. | 項目 | 設定する内容 |
|---|---|---|
| 1 | 名前 | 任意の名前です。今回は All-PDF-Blocked にします。 |
| 2 | ファイルタイプ | pdf を選びます。 |
| 3 | アクション | ブロック にします。 |
そのほかの項目は初期値のままです。各項目の意味は次のとおりです。
| 項目 | 意味 |
|---|---|
| プロトコル | ルールを適用するプロトコルです。フローベースの初期値は CIFS、FTP、HTTP、IMAP、POP3、SMTP のすべてです(HTTPS は SSL インスペクションで復号した HTTP として扱われます)。 |
| トラフィック | 着信 はセッションの戻り方向(ダウンロードなど)、発信 はセッションの行き方向(アップロードなど)、両方 はどちらも対象にします。 |
| パスワードで保護されている場合のみ | ON にすると、パスワードで保護されたファイルだけを対象にします。 |
| アクション | モニタ はファイルを通してログを記録します。ブロック はファイルを止めてログを記録します。 |
OK をクリックすると、プロファイルにルールが追加されます。プロファイルの画面でも OK をクリックして保存します。
| 1名前 | FileFilter |
| アーカイブのコンテンツをスキャン | ON |
| 2機能セット | ◉ フローベース○ プロキシベース |
| ルール | トラフィック | プロトコル | 一致するファイル | アクション | ファイルタイプ |
|---|---|---|---|---|---|
| 3All-PDF-Blocked | 両方 | CIFS, FTP ほか4件 | Any | ⊘ ブロック |
| No. | 項目 | 内容 |
|---|---|---|
| 1 | 名前 | プロファイルの名前です。今回は FileFilter にします。 |
| 2 | 機能セット | このプロファイルを使うファイアウォールポリシーのインスペクションモードと合わせます。今回はフローベースです。 |
| 3 | All-PDF-Blocked | STEP 2 で作ったルールです。 |
ファイアウォールポリシーに適用する
ポリシーでファイルフィルタを有効にする
ポリシー&オブジェクト ›› ファイアウォールポリシー で、LAN からインターネット向けのポリシーを開きます。インスペクションモードをフローベースにし、ファイルフィルタ を ON にして FileFilter を選びます。SSL インスペクションは deep-inspection にします。
| 名前 | LAN_to_Internet |
| 着信/発信インターフェース | LAN (port2) → Internet (port1) |
| 送信元/宛先/サービス | all / all / ALL |
| アクション | ◉ 許可○ 拒否 |
| 1インスペクションモード | ◉ フローベース○ プロキシベース |
| アンチウイルス/Webフィルタ/DNSフィルタ | OFF |
| アプリケーションコントロール/IPS | OFF |
| 2ファイルフィルタ | ON FileFilter |
| 3SSLインスペクション | deep-inspection |
動作確認
フローベースでダウンロードする
端末から、SSL インスペクションで復号する対象のサイトにアクセスし、PDF ファイルをダウンロードします。今回は、ジュニパー社が公開しているデータシートの PDF(1000550-en.pdf)を使います。
ダウンロードを始めると、ブラウザに保存するかどうかの確認が表示されます。保存 をクリックしても、ダウンロードは完了しません。
ログ&レポート ›› ファイルフィルタ でログを確認すると、PDF ファイルがブロックされています。
| サービス | アクション | URL | ファイル名 | ファイルタイプ | フィルタ名 |
|---|---|---|---|---|---|
| HTTPS | blocked | https://www.juniper.net/a… | 1000550-en.pdf | All-PDF-Blocked | |
| HTTPS | 1blocked | https://www.juniper.net/a… | 1000550-en.pdf | 2pdf | 3All-PDF-Blocked |
| No. | 表示 | 意味 |
|---|---|---|
| 1 | blocked | ファイルがブロックされたことを示します。 |
| 2 | FortiGate が判定したファイルタイプです。 | |
| 3 | All-PDF-Blocked | 一致したファイルフィルタのルールです。 |
プロキシベースでダウンロードする
次に、ファイアウォールポリシーのインスペクションモードを プロキシベース に変えて、同じ PDF ファイルをダウンロードします。今度はブラウザに FortiGate の警告画面が表示され、ファイルがブロックされます。
ファイルフィルタのプロファイルの機能セットは、適用するファイアウォールポリシーのインスペクションモードと合わせる必要があります。ポリシーをプロキシベースにするときは、プロファイルの機能セットもプロキシベースにします。
このように、インスペクションモードによってブロックしたときの見え方が変わります。
| モード | 検査のしかた | 今回のブロック時の見え方 |
|---|---|---|
| フローベース | 通過するパケットの内容をその場で調べます。 | ダウンロードが途中で止まり、ブラウザには「ダウンロードできませんでした」と表示された。 |
| プロキシベース | 通過する内容をいったん組み立て直してから調べます。 | FortiGate の警告画面(Attention)が表示された。 |
まとめ
| 設定 | 今回の値 |
|---|---|
| プロファイル | FileFilter(機能セットはポリシーのインスペクションモードと合わせる) |
| ルール | All-PDF-Blocked:ファイルタイプ pdf、トラフィック 両方、アクション ブロック |
| ポリシー | ファイルフィルタ FileFilter、SSL インスペクション deep-inspection |
| 確認 | ログ&レポート ›› ファイルフィルタで blocked を確認 |
ファイルフィルタはファイルの種類だけで判定し、ファイルのサイズや中身では判定しません。中身で判定したい場合は DLP を使います。
コメント
メールでファイル添付(特定のファイルではなく全てのファイル)した場合のログを取りたいんですが、その場合、[新規ファイルフィルタルールの作成]の[プロトコル]で、”SMTP” を選択し、[ファイルタイプ]では、本例のように、”PDF” を選択せず、何か、全てのファイルを指定するようなパラメータを選択し、[アクション]で、”モニタ” を選択すれば良いということでしょうか?
実機が無い中で、色々とWebで調べているんですが、なかなか見つからず、藁をも掴む気持ちでお伺いしております。勿論、個人の見解であることは承知しております。何か、ヒントを頂ければ。