FortiGate で URL フィルターを設定する

FortiGate がたまたま手元に来たのでいろいろ設定を試してみました。

パケットフィルターで TCP/IP レベルで通信を制御することがほとんどですが、業務に関係のないサイトをブロックしたいというユーザの声を聞くこともあるので、URL フィルターを試してみました。

フィルタリング機能

  • Web フィルター
  • Static URL フィルター

Web フィルター

  • 「薬物」や「アダルト」などのカテゴリーベースで制御を行う。
  • [Webフィルタライセンス]が必要

Static URL フィルター

-yahoo.co.jp ドメインのみを許可したいなど URL ドメインベースで制御を行う。

ドメイン一致の考え方

  • シンプル シンプルタイプはドメインの完全一致した際にアクションが実行される。ただし、example.com を指定すると、www.example.com などのサブドメインも対象となる。
  • ワイルドカード・正規表現 ワイルドカードタイプは example.com や example.net などをまとめて指定する場合に使用する。
ワイルドカード example.*
正規表現 example..*

また、詐欺サイトなどに使用される頭に適当な文字列がついたドメインを指定する場合は、以下のように指定する。

ワイルドカード *example.com
正規表現 .*.example.com

除外(Exempt)と許可の違い

除外(Exempt)
そのURLへの通信は許可され、アンチウイルスやData Loss Preventionなどのセキュリティ機能を通過させない。これにより負荷を軽減できる。
許可
その URL への通信は URL フィルターとしては許可されるが、アンチウイルスなどのセキュリティチェックが行われ、その結果、通信が遮断されることがある。

設定

許可フィルターとブロックフィルタを設定し、[適用]ボタンをクリックする。

設定手順

  1. セキュリティプロファイルの[Webフィルタ]プロファイルで URL フィルタルールを作成する
  2. ACL ポリシーの中で URL フィルタリングを行いたいポリシー (http/https 許可ポリシー)に[Webフィルタ]プロファイルを適用する。

URL フィルタールール設定

許可設定
  1. [セキュリティプロファイル]->[Webフィルタ]を選択する
  2. [FortiGateカテゴリーによるフィルタ]をオフにする
  3. [URLフィルタ]をオンにする
  4. [+新規作成]ボタンをクリックする
  5. [URL]に許可するドメイン名を入力する
  6. [タイプ]で[シンプル]を選択する
  7. [アクション]で[許可]を選択する
  8. [OK]ボタンをクリックする

すべてブロック設定

許可URLの最後には、「すべての URL をブロックする」ルールを追加する。

  1. [セキュリティプロファイル]->[Webフィルタ]を選択する
  2. [FortiGateカテゴリーによるフィルタ]をオフにする
  3. [URLフィルタ]をオンにする
  4. [+新規作成]ボタンをクリックする
  5. [URL]に[.*]を入力する
  6. [タイプ]で[ワイルドカード]を選択する
  7. [アクション]で[ブロック]を選択する
  8. [OK]ボタンをクリックする

設定例 †

URL タイプ アクション ステータス
yahoo.co.jp シンプル 許可 有効
.* ワイルドカード ブロック 有効

ACL ポリシー設定

  1. [ポリシー&オブジェクト]->[IPv4ポリシー]を選択する
  2. [Webフィルタ]をオンにする(※このとき、SSLインスペクションもオンになる)
  3. [OK]ボタンをクリックする

CLI での設定

1
2
3
4
5
6
7
8
9
10
11
12
# config webfilter urlfilter
# edit 1
# set name "default"
# config entries
# edit 1
# set url yahoo.co.jp
# set type {simple | regex | wildcard}
# set action allow
# set status {enable | disable}
# end
# end
# end