【FortiGate】URLフィルタで特定URLのみ許可~除外と許可,シンプルとワイルドカード/正規表現の違い~

FortiGateのWebフィルタとURLフィルタ

FortiGate には http/https に特化したフィルタリング機能があります。

「薬物」や「アダルト」などのカテゴリベースでの制御を行いたい場合は『Webフィルタ』という機能を使いますが、URLドメインベースでフィルタリングしたい(例えば yahoo.co.jp ドメインのみ許可したい)、という場合はその中の『Static URL フィルタ』という機能を使えます。

カテゴリベースの制御は『Webフィルタライセンス』が必要ですが、URLベースの制御だけならライセンスは不要です

『Static URL フィルタ』の設定手順

手順としては以下の 2 ステップです。

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

1.セキュリティプロファイルの『Webフィルタ』プロファイル編集

GUI にログインし、『セキュリティプロファイル』の『Webフィルタ』をクリックすると、下図の中央ペインのような画面が表示されます。

上図の通り、『FortiGuardカテゴリーによるフィルタ』をOFFにし、『URLフィルタ』をONにし、『+新規作成』をクリックします。

すると、下図のように新規URLフィルタ登録画面が表示されます。yahoo.co.jp ドメインおよびそのサブドメインを全て許可する場合は以下のように記述し、「OK」を押下します。

その他許可が必要なドメインがあればどんどん追加していきます。最後に『全ての URL をブロック」するルールが必要です。下図ではワイルドカードで「*」としていますが、正規表現で「.*」としても構いません。

そして下図のようになっていることを確認し、『適用』を押下します。

2.ACL ポリシーへ先ほど編集した『Webフィルタ』プロファイルを適用

『IPv4ポリシー』を押下し、Webフィルタを適用したいポリシーの編集画面で、下図のように『Webフィルタ』をONにします。すると『SSLインスペクション』プロファイルも自動で ON になります。この SSL インスペクションは証明書や SNI による宛先検査をします。これにより https の暗号化通信も URL による検査ができるのです。

上図のようになったことを確認し、『OK』を押下します。

ポリシーも以下のように表示されます。

これで完成です。

動作確認するときは(ブラウザ再起動だけでなく)PC 自体を再起動してから試したほうが確実です。(前のセッションやキャッシュが残っているためか、中途半端な挙動をすることがありました)

シンプルとワイルドカード/正規表現の違い

ワイルドカードや正規表現はパターンマッチによるドメイン指定で、柔軟性を持つことができます。

例えば example.com や example.org 等のドメインを一律許可したい場合は以下のように記述します。

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

一方、シンプルの場合はドメインは完全一致ではあります。ただし、サブドメインについては全て含まれます。例えば以下のように記述した場合、

シンプル:yahoo.co.jp

これだけ記述すれば、yahoo.co.jp だけでなく www.yahoo.co.jp や mail.yahoo.co.jp もこのルールに合致します。ですが、wwwyahoo.co.jp や mailyahoo.co.jp は合致しません。あくまで、yahoo.co.jp ドメインおよびそのサブドメインが対象になります。

もし yahoo.co.jp で終わるドメインおよびサブドメインすべてを合致させたい場合はワイルドカードで

ワイルドカード:*yahoo.co.jp

と記述します。ただ、例えば mailyahoo.co.jp ドメインなどは(空いていれば)個人で簡単に取得できるため、詐欺サイト等に使われやすく、そこへの許可が為される可能性もありますので個人的には推奨できません。

除外(Exempt)と許可の違い

アクションとして『除外(Exempt)』を選択すると、そのURLへの通信は許可され、アンチウィルスや Data Loss Prevention 等のセキュリティ機能を通過させません。これにより負荷を軽減することができます。

一方、『許可』を選択すると、そのURLへの通信はURLフィルタとしては許可されますが、アンチウィルス等のセキュリティチェックが行われますので、その結果にも依ります。

CLI での設定

CLI での config サンプルを以下に示します。

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

フォローする