新人社員のINAです。
本記事ではFortiGateでWebフィルタを設定する方法と
フィルタリングができているかの確認方法を解説していきたいと思います。
目次
WebフィルタとURLフィルタの違い
FortiGateではWebフィルタとURLフィルタを分けています。
・ライセンスを購入している場合
Webフィルタの機能が使用できます。Webページへのアクセスをカテゴリベースで制御可能です。
カテゴリには「フィッシング」や「ギャンブル」等があり、
それらに該当するコンテンツを含むWebページへのアクセスをブロックすることが可能です。
・ライセンスを購入していない場合
URLフィルタの機能を使用できます。
対象のドメインやURL(※)を指定することで通信の制御を行うことができます。
※FortiGateにて復号を行っていない場合、
HTTPSで暗号化されている通信につきましては/以降のURLが精査されません。
本記事ではWebフィルタの設定方法を説明するものとなりますので、
URLフィルタの設定は割愛します。
前提条件
Webフィルタリングを使用する場合はライセンスが必要となるため、
ライセンスを購入していただく必要があります。
URLフィルタリングを使用する場合、ライセンスは不要です。
環境図については以下の通りです。
Webフィルタの設定方法
本記事ではFortiOS v7.4.3を利用しております。
画面の表示に差異はあるかもしれませんが、7.2系以前も同様に設定することが可能です。
Webフィルタを作成する
セキュリティプロファイル→Webフィルタを選択し、新規作成ボタンをクリックします。
新規作成を押したら以下の画面が出るので設定していきます
①名前
基本的には自由ですが、どんな設定をしたかがわかる名前にされることを推奨いたします。
②機能セット
・フローベース
メリットは検索スピードやスループットが速い。
デメリットは詳細な検査はできない。
・プロキシベース
メリットは詳細な検査ができるのでセキュリティレベルが上がる。
デメリットはスループットが低下する。
※注意点
適用したいポリシーのインスペクションモードと
Webフィルタの機能セットは同じものを選んでください。
違うものを選ぶと、Webフィルタを適用するときに選択肢に出なくなってしまいます。
③事前に指定されたフィルタ
カスタム:作成者が手動で設定する。
G:制限が一番厳しい設定。
PG-13:13歳未満が見てもいいもの以外をブロックする。
R:17歳以下の人が見てもいいもの以外をブロックする。PG-13よりは制限が緩い。
④アクション
許可:通信を許可する、ログは出力されない。
モニタ:通信を許可する、ログを記録する。
ブロック:通信を止める、ログは出力される。
警告:Web画面上に警告メッセージが出て、注意喚起を行う。
認証:IDとパスワード認証を行う。
アクションを変更したいカテゴリがある場合はカテゴリをクリックしていただくことで変更できます。
次にオプションについて説明させていただきます。
①レーティングオプション
何らかの理由(※)でFortiGateのカテゴリ判定が受けられない場合に、
どんな処理をさせるかを設定できる。
※ライセンスの有効期限が切れた場合やFortinet社のカテゴリ評価サーバに
到達できなかった場合などを指します。
②プロキシオプション
コンテンツ処理ができる。
例えばサイトを読み込むことは可能だが書き込みのみ禁止することができる
作成したWebフィルタをファイアーウォールポリシーに適用する
ポリシー&オブジェクト→ファイアーウォールポリシーを選びます。
まずは送信元ホストからインターネットのファイアーウォールポリシーを作成し適用します。
そして作成したファイアーウォールポリシーに今回作成したWebフィルタを設定し適用します。
フィルタリングができているかの確認方法
本記事では検証用サーバとしてCentOS Linux release 7.9.2009 (Core)を使用しています。
確認するためのコマンド
今回フィルタリングできているかを確認するために使用したcurlコマンドについて少し説明させていただきます。
curlコマンド
URLを指定してデータの送受信をするコマンドです。
基本はcurl [オプション] [URL]です。
コマンドの詳細については下記のリンクをご確認ください。
https://qiita.com/ryuichi1208/items/e4e1b27ff7d54a66dcd9
そして今回使用したのが以下のコマンドです。
①curl -iは対象のURLと送受信するときにHTTPレスポンスヘッダーの取得することができます。
②fortiguard.com/wftest/xxx.htmlはテスト用のURLになります。
xxxに入る数字とカテゴリの対応を探す方法があります。
まずは画面上部にあるCLIコンソールを開きます
・ get webfilter categoriesと打つと数字とカテゴリの対応を確認することができます。
サーバでコマンドを打って指定したアクションが起こるかを確認する
許可
File Sharing and Storage(ファイル共有とストレージ)
結果
通信をすることができます。ログは取得しません。
モニタ
Drug Abuse(薬物乱用)
結果
画面は許可の画面と同じなのですが、モニタの場合はこの通信のログを記録します。
記録したログの確認方法を説明します。
ログレポート→セキュリティイベント→ログをクリックします。
そして、Webフィルタを選択してください。
対象のログだけ確認したい場合はURLで絞ると確認しやすくなります。
対象のURLを入力していただくと絞ることができます。
ブロック
Terrorism(テロリズム)
結果
アクセスがブロックされますが、ログは出力されます。
ログの確認
先ほど説明させていただいた手順でログを確認します。
警告
Marijuana(マリファナ)
結果
一度ブロックしているのでブロックに文章は似ていますが、
ブロックと違うのは利用者が通信するかしないかを選べるようになっている違いがあります。
ログの確認
先ほど説明させていただいた手順でログを確認します。
デスクトップ環境で検証する場合はブラウザに
https://fortiguard.com/wftest/xxx.htmlを入力していただいたら検証することができます。
Hacking(ハッキング)で検証した場合
以上で、Webフィルタの設定方法と確認方法の説明を終了します。
記載されている会社名、システム名、製品名は一般に各社の登録商標または商標です。
当社製品以外のサードパーティ製品の設定内容につきましては、弊社サポート対象外となります。