1.DNSフィルタ
1.1 DNSフィルタの概要やメリット
❶概要
・Webサイトに接続する前には、DNSで名前解決をするので、そのドメインでフィルタリングを行う。具体的には、DNSの問い合わせの際に、(ブロックにしている場合は)DNSの応答をFortiGateのブロックページのIPアドレスを返す。だから、PCのリゾルバが正しいIPアドレスを知りえない。(ということは、hostsファイルにIPを書けば、通信できる気がする。→その通りで、あとでやってみた)
・サブドメインでもフィルタができる。
・古い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
・以下は、ゲームのカテゴリを「ブロックポータルにリダイレクト」した場合の動作。以下のように、ブロックのページが表示される。どうやらこれは、ForiGateのサイトに遷移していると思われる。
ためしに、games.yahoo.co.jpの名前解決ができているか、自分のPCでnslookupで調べてみた。
すると、208.91.112.55のIPが返されている。じゃあこのIPアドレスは何か、さらにnslookupをした。
ここにあるように、FortiGateのブロックページのURLが表示されている。
ためしに、http://208.91.112.55に接続すると、以下のページが表示された。
・そこで、C:\Windows\System32\drivers\etc にあるhostsファイルにこのゲームサーバのIPアドレスを直書きした。
そして、再度ゲームのサイトに接続したら、無事に接続ができた。
1.3 設定詳細
(1)設定例
たとえば、検索エンジンなどをブロックしてみましょう。
以下はゲームをフィルタリングする場合。
右クリックすると、許可、モニタ、ブロックポータルにリダイレクト の3つを選ぶことができる。
(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. |
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 |
4.DLP
・DLP(Data Loss Prevention)は、Date(データ)のLoss(漏えい)をPrevention(防ぐ)ための技術・仕組みです。
・ライセンスは別途購入する必要はなく、UTMのライセンスも不要です。
4.2 設定
・システム > 表示機能設定 で、DLPのチェックを有効にする。
・設定は、アプリケーション&データ制御> DLPの設定から行う。