FortiGateの設計/設定ガイド

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

標的型攻撃対策

1.標的型攻撃対策について

標的型攻撃対策というのは、複数の機能の多層防御で実行されます。
FortiGateでは、主に以下の機能で標的型攻撃対策が実現されます。
❶AntiVirus
 ・純粋なAV(アンチウイルス機能)
 ・Botnet C&Cサーバーへの検知機能(IFの設定画面の中でチェックボックスで設定)
  ※IF全体ではなく、ポリシー単位でも設定(CLIのみ)可能。設定できるIFとできないIFがある。
 ・Sandbox(FortiSandboxとの連携、FortiSandbox Cloudとの連携)
    ※設定は、「セキュリティファブリック」>「設定」>「Sandboxインスペクション」にて、接続先のFortiSandboxを指定できる。

❷WebFilterの設定
 「セキュリティ上問題のあるサイト」のカテゴリで、不審なサイトへの通信(C&Cサーバを含む)をURLフィルタリングします。

❸IPS機能
内側に設定して、内部から外部への通信を検査します。
悪意のあるサーバに通信した際に、戻りのパケットに攻撃コマンドがある場合に検知してブロックします。

❹アプリケーションコントロール
Botnetカテゴリで禁止。上のIPSとの違いは、通信フローからBotnetアプリケーションを識別する。(IPSは、攻撃コマンドを識別)

❺AntiSpam機能
メールアドレスでのチェック、メール本文のURLのチェックをします。

❻FWのポリシー
ファイアウォールのポリシーは基本的で、(当たり前だろう?)と思われる設定かもしれませんが、とても重要です。本当に本当に、絶対必要なポリシーは開けないようにします。
もちろん、外部から内部への通信は禁止ですが、内部から外部への通信も限定することは大事です。たとえば、インターネットへの通信はProxyサーバからに限定し、なおかつProxyサーバに認証機能を持たせれば、不正なPCからC&Cサーバへの通信をポリシーにて制限できます。(抜けるマルウェアもありますが、かなりブロックできます)
また、内部のFWも重要で、機密セグメントとそうでないところを分けておけば、仮に侵入されたとしても、被害の拡大を防げます。

❼FWのポリシー(ISDB)

ISDBで、C&Cサーバなどをブロックする。
https://www.fortiguard.com/updates/isdb?version=7.02632

上記に記載があるように、ISDBのポリシーで、以下をブロックするといいだろう。
Botnet-C&C.Server
Malicious-Malicious.Server
Phishing-Phishing.Server
Tor-Exit.Node
Tor-Relay.Node

2.FortiGateは、標的型攻撃にどう対処するか

標的型攻撃の最初のウイルス感染ルートは、大きく2つあります。
一つはメールの添付ファイルを開くこと(①)で、もう一つはインターネットからマルウェアをダウンロードすることです。後者は、メールのリンクにあるURLをクリックする場合(②)も含まれます。
その後、外部の攻撃者のサーバ(C&Cサーバ)と不正な通信(③)をし、情報が抜き取られたり、遠隔操作されたりします。

では、標的型メールに対して、どう対処するのでしょうか。
上記①~③に対し、FortiGateで実施できることを述べます。

①添付ファイル
 ・AV機能:メールの添付ファイルはAV機能をONにすると必ずチェックします。このとき、添付ファイルにマルウェアが無いかを検査します。
 ・AVのサンドボックス機能:機能を有効にすれば、FortiSandBoxまたはFortiCloudで検査(その後、シグネチャ作成、防御まで)

②リンクにあるURL
 ・AntiSpamの機能で実現。
FortiGateを勉強する女性SE (20) 

Webフィルタにある「悪意のあるサイト」のカテゴリのURLと同じチェックなのでしょうか?
メール独自のURLがありますので、別物です。

③C&Cサーバと不正な通信
 ・アプリケーションコントロール機能のBotnet通信 →通信フローを見る ※負荷がかかるので注意
 ・Webフィルタの「セキュリティ上問題のあるサイト」のカテゴリ →純粋にURL(ドメイン)を見る
 ・Botnet C&Cサーバーへの検知機能(IFの設定画面の中でチェックボックスで設定) →悪意のあるIPアドレスやポート番号、FQDNなどを見る

3.Sandboxの機能

FortiSandboxの機能概要について、紹介します。
・FortiSandboxのデータシートはこちら
https://www.fortinet.com/content/dam/fortinet/assets/data-sheets/ja_jp/FortiSandbox_DS.pdf
・独自のエンジンと、Yaraというエンジン(オプション)を利用できます。
・1台のアプライアンスで、HTTP通信と、メールの両方を検査できます。
・標準のサポートOSは、WindowsXP、7、8.1、10、Androidです。それ以外は、カスタムでOSをインストールします。
・検査にかかる時間は、平均5分くらいだと思います。
・検知の流れ
 ①AVによるパターンマッチング → FortiGateのシグネチャとのタイムラグを考慮して、再チェック
 ②クラウドクエリ →クラウド側に、ゼロデイの情報がないかを確認
 ③コードエミュレータ →サンドボックスを回避するような悪いコードが無いかを確認 
 ④サンドボックス(VMホスト)
 ⑤コールバック試験 → マルウェアがインターネット(C&Cサーバなど)に通信するときの、接続先を確認する。

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

最初からサンドボックス検査をすればいいのでは?
最初に非サンドボックスの解析をすることで、効率的な検査(つまり、時間短縮)と検知精度を高めています。

・検知できるファイルタイプ(拡張子)はEXE、DLL、PDF、Flashなど、非常にたくさんあります。
詳しくは以下に記載しました。
DNSフィルタ/ビデオフィルタ/ファイルフィルタ - FortiGateの設計/設定ガイド

・Sandboxの検査後、対応したシグニチャを作成し、配信を受けることができます。シグニチャの作成時間は、4~5時間くらいが目安ですが、最短では1時間程度でも作成されます。
・また、クラスタ構成を組むことができます。
FortiGateを勉強する女性SE (はてな) 

FortiSandboxではなく、FortiGateのオプションのFortiCloudの場合はどうなのでしょうか?
仕様に関しては、非公開のようです。
ただ、同じような流れで検査しているような気がします。
また、一つ言えることは、アプライアンスは未知のマルウェアをローカル内で検査、解析することです。なので、お客様情報などを含むファイルがある場合には、アプライアンスの方が好ましいと考えることもできます。

4.Sandboxの設定

「設定」「FortiSandBox」の画面から、 Sandboxインスペクションを有効にして、アプライアンス、クラウド利用を選択します。 
Sandbox1

・アプライアンス
 FortiSandboxというハード製品を購入し利用する設定です。

・クラウド
 FortiCloudライセンスを購入し利用する設定です。
 ※無料でも制限された機能を利用できます。(無料のアカウントを発行します)
Sandbox2

5.Sandbox(サンドボックス)で検知できるファイルの種類(拡張子)

検知できるファイルタイプ(拡張子)は以下です。

.7z、.ace、.apk、.arj、.bat、.bz2、.cab、.cmd、.dll、.doc、.docm、.docx、.dot、
.dotm、.dotx、.exe、.gz、.htm、html、.jar、.js、.kgb、.lnk、.lzh、.msi、.pdf、.pot、
.potm、.potx、.ppam、.pps、.ppsm、.ppsx、.ppt、.pptm、.pptx、.ps1、.rar、.rtf、
.sldm、.sldx、.swf、.tar、.tgz、.upx、url、.vbs、WEBLink、.wsf、.xlam、.xls、
.xlsb、.xlsm、.xlsx、.xlt、.xltm、.xltx、.xz、.z、.zip
http://www.fortinet.co.jp/doc/FortiSandbox_DS.pdfより)