FortiGateの設計/設定ガイド

FortiGateの設計・設定方法を詳しく書いたサイトです。 FortiGateの基本機能であるFW(ファイアウォール)、IPsec、SSL‐VPN(リモートアクセス)だけでなく、次世代FWとしての機能、セキュリティ機能(アンチウイルス、Webフィルタリング、SPAM対策)、さらにはHA,可視化、レポート設定までも記載します。初期化方法やバージョンアップなどの管理面も書いています。標的型攻撃を守るためのゲートウェイとしても導入されることが多いので、セキュリティ機能に関しては充実した記載を心がけます。

Webフィルタ(WebFilter)

1.Webフィルタ(WebFilter)について

1.1 Webフィルタとは

許可するWebサイトをフィルター(選別)することです。
(1)Webフィルタリングの目的
社員に対し、業務に関係が無いサイトへのアクセスを禁止することです。
たとえば、FortiGuardカテゴリにある「アダルト/成人コンテンツ」や「一般的な趣味・関心」にある「ゲーム」「スポーツ」「オークション」などを禁止します。

加えて、セキュリティを守るためにも大事な機能です。
たとえば、攻撃者は自らが用意した不審なサイトに巧みに誘導し、ウイルスを感染させたり、情報を抜き取ったりします。それらのサイト(C&Cサーバ)への通信をFortiGateが自動で防御するのです。
 
(2)FortiGateのWebフィルタリングでできること
・FortiGuardカテゴリ単位で、Webをフィルタリングする。
・ブラックリストとして、個別のURLのフィルタリングの設定
・上記のWebフィルタリングをポリシーとして、セグメント単位などのグループ単位で設定を適用
・設定したWebフィルタリングに対して、許可、ブロック、モニタ、警告、認証の5つの設定ができます。
・3つの検知モード(Inspection Mode)が選べます。負荷と検査の精度のバランスに応じて設定できます。
・その他、詳細な設定ができますが、詳しくは設定の記事で記載します。

1.2 ライセンス

Webフィルタリングを利用するには、別途ライセンスが必要です。
Webフィルタリング用のライセンス(1年更新)を購入するか、AVやIPSなどの機能が含まれたバンドル版を購入します。
フィルタリングするURLを手動で設定(ブラックリスト)をする場合は、ライセンスは不要です。

1.3 エンジンやデータベース

・Webフィルタリングのエンジンは独自です。
・フィタリングの情報は、定期的に更新されます。更新周期は非公開です。

1.4 WebフィルタとURLフィルタは別物?

FortiGateを勉強する女性SE (21) 

WebフィルタとURLフィルタは別物って、どういう意味ですか?
FortiGateでは、WebフィルタとURLフィルタを分けています。
ライセンスを購入した場合はWebフィルタを利用します。基本はカテゴリベースです。
ライセンスを購入しなかった場合は、URLフィルタを利用します。ホワイトリストで書く必要があります。

▼WebフィルタとURLフィルタの切り替え
有償ライセンスを購入した場合、WebフィルタとURLフィルタの切り替えをProfile単位で設定することができます。
設定は、一番上の「FortiGuardカテゴリーによるフィルタ」を無効(灰色。ボタンをクリックで切り替え)します。加えて、下にある「URLフィルタ」を有効にします。

FortiGate-WebFilter4

1.5 IPアドレス単位やドメインでのURLフィルタは可能?

URLフィルタリングはURLのフィルタです。つまり、たとえば以下がURLです
https://www.viva-fortigate.com/archives/webfilter

では、以下のURLフィルタはできるのでしょうか。
FortiGateでは、Webフィルタ(ライセンス購入)とURLフィルタ(ライセンス未購入)を分けています。以下の内容は、Webフィルタならすべてできますが、URLフィルタの場合は、以下のように可否があります。

項目 可否
IPアドレス 192.168.1.1 ○(可能)
IPアドレスが含まれるURL http://192.168.1.1/archives/70705139.html
ドメインおよびサブドメイン viva-fortigate.com ワイルドカードを使えば可能
サブフォルダ http://www.viva-fortigate.com/archives/
※完全なURLではなく、途中まで。
途中までは無理。
サブフォルダまでの完全一致であれば可能
URLの一部 URLの一部にfortigateが含まれている場合 前後にワイルドカードを入れて「*fortigate*」という設定で可能

1.6 SSL通信をURLフィルタリングできる?

詳しくはSSLインスペクションの記事に記載していますが、基本的にはできません。
URL情報は、HTTPのデータ部分に入っていて、SSL通信では暗号化されているからです。
そこで、SSLインスペクションが必要です。

2.Webフィルタの設定

2.1 デフォルトのプロファイル

セキュリティプロファイル > Webフィルタを選択すると、以下のように3つのプロファイルが準備されています。

名前 表記 解説
default Default web filtering. デフォルトというか、標準的な設定
monitor-all Monitor and log all visited URLs, flow-based. 全てモニター
wifi-default Default configuration for offloading WiFi traffic. WiFiトラフィックをオフロード

※wifi-defaultは、defaultとたしか同じはず。Wifi通信をオフロード(APやコントローラと役割分担して最適化)するような意味だったと思う。

2.2 プロファイルの適用

設定は、AVなどの設定と同様に、ポリシーに対して、作成したプロファイルを割り当てます。

2.3 プロファイルの作成や編集

セキュリティプロファイル > Webフィルタ から新規作成でプロファイルを作成できます。
defaultはなるべく編集せずに残しておきましょう。

カテゴリに関しては、この後に記載します。
細かな設定。

▼レーティング
何らかの理由で FortiGuardのカテゴリ判定が受けられない場合に、どう処理をさせるかを設定できます。
レーティングエラー時に一時的に Webサイトを許可することもできます。
またドメインと IPアドレスで URLをレーティングすることで悪意のあるサイトの IPアドレスの変化に対応できます。

▼プロキシオプション
コンテンツ処理を行うことができます。
特定カテゴリに含まれるサイトのみ、Postアクションを制御し、例えばサイトを読むことは可能だが書込み(掲示板など)のみ禁止することができます。

2.4 アクション

設定したWebフィルタリングに対して、許可、ブロック、モニタ、警告、認証の5つの設定ができます。

アクション 内容
許可 通信を許可
ブロック 通信を止めます
モニタ 通信を許可しますが、アクセスコンテンツ含め、ログに出力します
警告 利用者のWeb画面上に警告メッセージを出し、注意喚起を行います。
認証 IDとパスワード認証します。認証に成功すると、Webサイトが表示されます。

※警告メッセージは、GUIのシステム内の差し替えメッセージで確認でき、直接編集も可能です。

2.5 検知モード(Inspection Mode)

ForiGateのWebFilterでは、プロキシ、フローベース、DNSの3つの検知モード(Inspection Mode)があります。→DNSの検知モードはDNSフィルタとして独立したと思われる。
前の方が検査の精度が高くなります。しかし、処理負荷も高くなります。
実際に動作をさせてみて、処理の負荷に応じてモードを切り替えるのも方法の一つです。
※ただ、セキュリティの観点から、推奨は検査精度がもっとも高いプロキシモードです。

❶プロキシモード
プロキシはもっとも多くの設定、検査が出来るモードですが、変わりに機器の負荷はもっとも高くなります。
※ユーザー認証機能を利用する場合はプロキシモード以外選択できません。

❷フローベースモード
カテゴリ処理、レーティング処理のみ利用するのであれば、本モードで十二分に効果があります。
また、機器の処理負荷もプロキシモードと比較して小さくなります。

❸DNSモード
機器への負荷がもっとも少ないモードです。このモードではセーフサーチ機能が利用できません。

3.Webフィルタのカテゴリ

3.1 カテゴリ

FortiGateでは、「FortiGuard カテゴリーによるフィルタ」として、以下のカテゴリが用意されています。
FortiGateを勉強する女性SE (はてな) 

世の中には数えきれないくらいのURLがあると思います。
それらのURLがどこカテゴリになるのか、FortiGateは記憶しているのですか?
いいえ、FortiGateはどの URLがどのカテゴリに属するかを全て把握しているわけではありません。
仕組みは以下です。
① ある URLへの接続が発生
② FortiGateは Webフィルタで URL情報を検知
③ FortiGateは該当 URLの情報を FortiGuardセンター(Fortinetの有するセキュリティセンタ)に照会
④ FortiGuradセンターから該当 URLの照会結果(どのカテゴリの URLか)回答
⑤ FortiGateは回答結果から URLのカテゴリ情報を判断し、設定に基づいたアクションを実行

③の処理を行う事で、FortiGateは全ての URL情報を把握していないくても、カテゴリ制御をうまく制御できるようにしています。

また都度、③の FortiGuardセンターに照会していると通信遅延に陥る場合も考えられるため、④の照会結果を FortiGateではデフォルト 3600秒(1時間)学習し、同じ URLへの接続がある場会は、学習された結果を利用することで無駄な処理を低減しています。
※学習時間は任意に変更可能です。メモリを圧迫するような状況の場合は学習時間を短くすることをお勧めします。

・Webサイトがどのカテゴリに合致しているかは、以下で検索することができる。
https://www.fortiguard.com/webfilter

カテゴリ サブカテゴリ
■ローカルカテゴリ 独自に作成したカテゴリのことです。
■違法性・犯罪性の高いサイト ・テロと過激論者(過激派グループ)
・ドラッグ (薬物乱用)
・ハッキング・不正アクセス
・プロキシサーバ回避
・児童虐待
・剽窃・盗作
・差別
・明示的な暴力
・違法・非倫理的
■成人/アダルトコンテンツ ・その他アダルトマテリアル
・アルコール
・ギャンブル
・タバコ
・ヌード(裸体)
・ポルノ
・下着・水泳着
・中絶
・兵器(販売)
・出会い
・唱道団体
・大麻(マリファナ)
・性教育
・民間信仰
・狩り・戦争ゲーム
■帯域を消費しやすいサイト ・ストリーミングメディア.ダウンロード
・インターネットラジオ/テレビ
・インターネット電話(IP電話)
・ファイル共有と保存
・フリーウェア・ソフトウェアダウンロード
・P2Pファイル共有
■セキュリティ上問題のあるサイト ・スパム URL
・ダイナミックDNS
・フィッシング(詐欺)
・悪意のあるサイト
■一般的な趣味・関心 - 個人 ・インスタントメッセージング
・ウェブチャット
・ウェブベースメール
・エンタテインメント
・オンラインブローカー・取引(仲買業)
・オークション
・ゲーム
・コンテンツサーバ
・ショッピング
・スポーツ
・ソーシャル・ネットワーキング
・ドメイン.パーキング
・ニュースとメディア
・ニュースグループ・伝言板
・リファレンスサイト(辞書サービス等)
・レストラン・飲食
・不動産
・世界宗教
・個人サイト.ブログ
・個人個人プライバシー
・個人用の乗り物
・健康とウエルネス
・児童教育
・動的コンテンツ
・広告
・政治団体
・教育
・旅行
・民間伝承
・求人情報
・無意味なコンテンツ
・社会・ライフスタイル
・芸術と文化
・薬剤・サプリメント
・電子ポストカード
■一般的な趣味・関心 - ビジネス ・IT
・ウェブベースのアプリケーション
・ウェブホスティング
・サーチエンジン・ポータルサイト
・ビジネス
・一般的な組織
・安全サイト
・情報・コンピュータセキュリティ
・政府機関と法的組織
・軍事機関(軍隊)
・金融・バンキングサービス(財政と銀行業)
■未分類 独自に分類できるカテゴリです。

3.2 事前に設定されたフィルタ

以下の4つのカテゴリがあり、レベルによってFortiGateが選定してくれている。

設定 意味 内容
Custom - 自分で選択
G General Audiences 子供が見ても安心。つまり、制限が一番厳しい
PG-13 Parental Guidance-13 13歳以下の子供には注意が必要 .
R Restricted 17歳未満の方は保護者の同伴が必要。GやPG-13に比べると制限は弱い

4.個別のWebフィルタリスト(ブラックリストやホワイトリスト)

(1)既存のフィルタに追加(ライセンス必要)

個別のWebフィルタリスト(ブラックリストやホワイトリスト)の作成方法です。ライセンスを購入している場合を想定しています。

①セキュリティプロファイル > Webレーティングオーバーライド を開きます。
FortiGate-WebFilter1

②登録したいURLを入力し、任意のカテゴリに入れます。
たとえば、禁止するブラックリストを作りたい場合、未分類に入れて、次のアクションでブロックします。
FortiGate-WebFilter2

③該当カテゴリ(今回は「未分類」)のアクションをブロックにします。
FortiGate-WebFilter3

④有効にするには、ポリシーで適用します。(AVの設定と同様)

FortiGateを勉強する女性SE (はてな)
質問です。
①レーティング検索はどういう意味ですか?
②カテゴリに入れずに、そのURLを直接禁止する設定はできませんか?

①に関して、現在はどのカテゴリに入っているかを確認します。4300万ものURLが登録されていますので、どこかのカテゴリが選ばれる可能性が高いと思われます。
②可能です。URLフィルタリングでは可能です。

(2)ホワイトリストのみ(ライセンス無しでも運用可能)

セキュリティを厳密に扱いたい環境においては、特定のURLだけを許可し、それ以外は拒否するというホワイトリスト運用をしたい場合がある。
その場合は、FortiGateのWebフィルタにおいて、「FortiGuardカテゴリベースのフィルタ」を外す。
代わりに、「スタティックURLフィルタ」の「URLフィルタ」をオン(緑色)にし、許可するURLをタイプ「シンプル」で指定し、それ以外をすべて拒否するので、*を「ワイルドカード」で指定して、アクションをブロックにする。以下は、www.yahoo.co.jpだけを許可する例



また、ポリシーに作成したWebフィルタのプロファイルを適用することを忘れずに。

16
アクションですが、「除外」を選ぶと、カテゴリの検査をしない。
それ以外は、カテゴリの検査をしたあとにスタティックURLフィルタを実施しま。

今回は、名前を「不正サイト」とし、「適用」ボタンを押して登録した画面が以下です。

■URLフィルタを個別に流し込む
GUIだとWebフィルタからプロファイルを作成し、スタティックURLで追加する。
CLIの場合も該当のプロファイルからいくかと思ったが(以下)
FGT# config webfilter profile [該当プロファイル]
実は違った。
CLIは以下から実行する
FGT# config webfilter urlfilter
show で見ると、現在設定されている状態が見える。
編集したいプロファイルが何番かを確認し該当番号を指定してeditしていく。以下は3番にyahoo.co.jpを追加
FGT(urlfilter) # edit 1
FGT (1) # config entries
FGT(entries) # edit 3
new entry '3' added
FGT (3) # set url "yahoo.co.jp"
FGT (3) # set action monitor
FGT (3) # end

5.コンテンツフィルタ

コンテンツフィルタとは、たとえば、「ギャンブル」「株」などの業務をするうえで、不適切なキーワードを含むサイトへのアクセスを禁止します。

【設定】
・コンテンツフィルタはForiGateではDLPの設定で実施をします。
・ただし、システムの設定で、プロキシモードとフローモードの2つがあって、コンテンツフィルタ(DLP)を有効にするには、プロキシモードである必要があります。
・デフォルトではDLPはメニューに表示されていないので、以下の画面からDLPをONにします。
29
※詳細は、余裕があれば記載します。