FortiGateの設計/設定ガイド

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

DNSフィルタ/ビデオフィルタ/ファイルフィルタ

1.DNSフィルタ

1.1 DNSフィルタの概要やメリット

❶概要
・Webサイトに接続する前には、DNSで名前解決をするので、そのドメインでフィルタリングを行う。
・サブドメインでもフィルタができる。
・古いFortiOSでは、Webフィルタの中のインスペクションモードでDNSというのが存在した。
・CiscoUmbrellaはDNSフィルタの仕組みで、カテゴリ単位のペアレンタルコントロールもできる。PaloAltoの場合は、脅威をフィルタするのみで、URLフィルタの機能を踏襲しているわけではない。

❷利点
Webフィルタとは違い、DNSなので、SSLインスペクションが不要。HTTP以外の通信でも活用できる。
→とはいえ、Certificate Inspectionであれば、SSL復号や証明書は不要でFQDNまでフィルタできる。そういう意味ではWebフィルタと同じ
TLS1.3からは、SNIが暗号化されるので、FQDNまでのフィルタができないかと思っていたが、実際にはDNS over HTTPSなどを使ってEncryptedSNIにする必要があり、そこまでやっているところは非常に少ない。→この場合、DNSフィルタもできない

❸デメリット
・DNSフィルタはドメインのみで、URL単位ではないので、細かい制御ができない。たとえば、yahoo配下の危険なURLだけを止めるなどができないので、
利便性として難しい可能性がある。
・実情として、こなれていないというのもあり、DNSフィルタではなくURLフィルタを使っているところがほとんど

❹DNSフィルタの流れ
FortiGateをDNSサーバに指定する。PC→(DNS問合せ)→FGTという流れで、FGTがDNS問い合わせをしてチェック

1.2 設定方法

❶PCのDNSサーバをFortiGateにする
FortiGateのDHCP機能でIPアドレスを払い出していることが多いでしょう。
ネットワーク > インターフェース から LAN側のインターフェースに関して、DHCPサーバにおけるDNSサーバをインターフェースIPと同じ に設定する。

これで、PC側のDHCPでは、FortigateのLAN側のIPがDNSサーバとして割り振られます。

AWSで起動しているWindowsサーバ群などの場合、AWSのサーバ(末尾0.2など)がDNSサーバとして割り振られるので、固定で変更する必要がある。

❷表示機能設定
古いOSの場合、システム > 表示機能設定  で DNSデータベースを 有効にする。
ネットワーク> DNSサーバが表示されればOK

❸設定の有効化
ネットワーク> DNSサーバ で、新規作成 インターフェースをLAN側にし、モードをシステム設定DNSへ転送(フォワーダと思えばいいでしょう)
また、PCがこのDNSサーバ(Fortigate)にDNS問い合わせをすると、FortigateのDNSで設定されたDNSサーバにフォワーダで転送します。
このプロセスにより、DNSフィルタが行えます。

❹カテゴリの設定
セキュリティプロファイル>DNSフィルタ にて、フィルタするカテゴリを選択
詳しくは後述。

❺ポリシー設定
ポリシー&オブジェクト >  ファイアウォールポリシー にて、DNSフィルタを有効にします。
このとき、SSLのdeepインスペクションは必須ではない。

❻通信テスト
検索エンジンを見てみる。ブロックされることがわかります。
ログは、ログ&レポート、DNSクエリにて、列に「メッセージ」を追加する。
すると、以下のように、ブロックされたことがわかる
Domain belongs to a denied category in policy

1.3 設定詳細

(1)設定例

たとえば、検索エンジンなどをブロックしてみましょう。

(2)各種の設定パラメータ

❶事前に設定されたフィルタ
以下の4つのカテゴリがあり、レベルによってFortiGateが選定してくれている。

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

❷セーフサーチの強制
「Google, Bing, YouTube で 'セーフサーチ' を強制」のチェックがある。
この機能を有効にすると、Getメソッドに Safe=Active のフラグを有効にしたパケットを、検索エンジンへ送信します。
Google、Yahoo!などのセーフサーチに対応した検索サイトであれば、好ましくない検索結果を応答しないようにします。
結果的に、不正なサイトへ通信する可能性が低くなります。

2.ビデオフィルタ

(1)概要

・Youtubeなどの動画において、カテゴリであったり、チャンネルなどの細かい単位でフィルタができる
・セキュリティプロファイル > ビデオフィルタ から設定ができる。

・基本的にはWebフィルタと同じ考え方で、カテゴリベースでフィルタリングができる。
・deepインスペクションが必須である。
・アクションは、「許可」「モニタ」「ブロック」の3つ

(2)設定

a)セキュリティプロファイル > ビデオフィルタ にて「新規作成」ボタンを押す
b)名前を設定し、カテゴリごとにアクションを変更する。アクションの変更方法は、右クリック

c)Youtube動画を個別のブロックするには、YouTubeのチャンネルオーバーライドリストにて、「新規作成」からチャンネルIDを個別登録する。

3.ファイルフィルタ

(1)概要

・プロトコルおよびファイルタイプでのフィルタができます。
・たとえば、exeファイルをダウンロードしてくるのを拒否する。pdfやdocファイルを外部に送信するのをブロックするなどです。
・プロファイルを作成し、それをポリシーに適用します。

(2)設定方法

a)セキュリティプロファイル > ファイルフィルタ にて「新規作成」ボタンを押す

b)名前を設定し、ルールの「新規作成」

c)ファイルタイプなどを選択できる。

(3)設定例と動作確認

PDFファイルをブロックするプロファイルを作成してみます。
a)ファイルフィルタ にて「新規作成」
b)名前を「pdf」として、ファイルタイプを「pdf」、アクションを「ブロック」にして作成

c)作成されたプロファイルが以下です。

d)ポリシーに適用します。このとき、deep-inspectionも必須です。

e)ネット上からPDFファイルを取得。以下のように、取得ができない。

f)ログの確認
ログ&レポート > セキュリティイベント にて、右上の「ファイルフィルタ」を選択すると、ブロックされた(blocked)ログが確認できる。

(3)選択できるプロトコル

以下に記載があります。
https://docs.fortinet.com/document/fortigate/7.4.2/administration-guide/984084/file-filter

Protocol Proxy mode Flow mode
CIFS Yes Yes
FTP Yes Yes
HTTP Yes Yes
IMAP Yes Yes
MAPI Yes No
POP3 Yes Yes
SMTP Yes Yes
SSH Yes No

(4)選択できるファイルタイプ

以下サイトに記載があります。「.doc」「.ppt」などは指定できません。
https://docs.fortinet.com/document/fortigate/7.4.2/administration-guide/610893/supported-file-types

Type Description
.net Match .NET files
7z Match 7-Zip files
activemime Match ActiveMime files
arj Match ARJ compressed files
aspack Match ASPack files
avi Match AVI files
base64 Match Base64 files
bat Match Windows batch files
binhex Match BinHex files
bmp Match BMP files
bzip Match Bzip files
bzip2 Match Bzip2 files
cab Match Windows CAB files
chm Match Windows compiled HTML help files
class Match CLASS files
cod Match COD files
crx Match Chrome extension files
dmg Match Apple disk image files
elf Match ELF files
exe Match Windows executable files
flac Match FLAC files
fsg Match FSG files
gif Match GIF files
gzip Match Gzip files
hlp Match Windows help files
hta Match HTA files
html Match HTML files
iso Match ISO archive files
jad Match JAD files
javascript Match JavaScript files
jpeg Match JPEG files
lzh Match LZH compressed files
mach-o Match Mach object files
mime Match MIME files
mov Match MOV files
mp3 Match MP3 files
mpeg Match MPEG files
msi Match Windows Installer MSI Bzip files
msoffice Match MS-Office files. For example, DOC, XLS, PPT, and so on.
msofficex Match MS-Office XML files. For example, DOCX, XLSX, PPTX, and so on.
pdf Match PDF files
petite Match Petite files
png Match PNG files
rar Match RAR archives
rm Match RM files
sis Match SIS files
tar Match TAR files
tiff Match TIFF files
torrent Match torrent files
unknown* Match unknown files
upx Match UPX files
uue Match UUE files
wav Match WAV files
wma Match WMA files
xar Match XAR archive files
xz Match XZ files
zip Match ZIP files