FortiGateの設計/設定ガイド

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

SSLインスペクション

1. SSLインスペクションの概要

(1)HTTPSのサイトのURLフィルタリングは可能?

最近はほとんどのWebサイトはSSL/TLS通信です。
URL情報は、HTTPのデータ部分に入っています。なので、SSL通信では、IPアドレスなどのIPヘッダではフィルタができますが、URLでのフィルタができません。
このページも参照ください。
通信が暗号化されているので、URLフィルタリングに限らず、その通信経路上にあるUTMでは、セキュリティチェックができません。
たとえば、マルウェアのファイルが送られて来たり、攻撃コードが含まれていても、暗号化されて検知できないのです。
そこで、SSLインスペクションです。

(2)SSLインスペクションの動作概要

ここに詳しく記載しています。

(3)SSLインスペクションの方式

・インスペクションには、証明書インスペクション(Certificate Inspection)と、フルインスペクション(deep-inspection)があります。
・証明書インスペクションは、利用者のPCに証明書を入れなくていいので、導入のハードルが下がります。ただ、証明書(Certificate)ベースのインスペクションが機能するのは、WEBフィルタ、アプリケーションコントロールのみ。それ以外のAntiVirus、IPS、アンチスパムは、フルインスペクションが必要である。
・以下に違いを整理する。

項目 証明書インスペクション
(Certificate Inspection)
フルインスペクション
(deep-inspection)
検査箇所 FQDNだけ 暗号化されたパケットの
中身もチェック
検査できるURL FQDNまで URLも含む
PCへのルート証明書
インストール
不要 必要

2. SSLインスペクションの設定

今回は単純なやり方で、ポリシーにSSLインスペクションを設定します。

2.1 設定の有効化

設定は簡単で、「ポリシー&オブジェクト」>「IPv4ポリシー」で、該当するポリシーにて「certificate-inspection」または「deep-inspection」を有効にします。
①セキュリティプロファイルの部分の鉛筆のようなマークをクリック
forti
②「deep-inspection」を選択します。
ssl_inspection2
設定を有効にした画面です。
また、今回はwebサイトにアクセスしたい際のURLフィルタでフルインスペクションをします。よって、「Webフィルタプロファイル」も「defalut」でいいので有効にしておきます。
deep-inspection
③ポリシーにおけるモード
フローモードとプロキシモードがありますが、プロキシモードにしておきましょう。ブラウザに依存するようですが、Chromeの場合、フローモードではSSLインスペクションがうまく動作しません。

設定は以上です。

2.2 ルート証明書をPCにインストール

(1)実際に動作させてみましょう。
SSL/TSL(つまりHTTPS)を使っている銀行のオンラインバンキングのページや、Googleなどのサイトにアクセスしてみましょう。
ブラウザによってメッセージが異なりますが、IEの場合は以下のような警告メッセージが出ます。
eroor

(2)証明書を入れます。
FortiGateのルート証明書をまずは取得しましょう。
①FortiGateの画面から証明書を取得
a)SSLインスペクションを設定したポリシーのところで、マウスを合わせます。「確認」ボタンを押します。
deep
b)または、セキュリティプロファイル > SSL/SSHインスペクション どれかのプロファイルを選択し、「確認」を押す
c)証明書をダウンロードします。
ssl_cert
②証明書のインストール。
a)これをダブルクリックして証明書をインストール開始
b)中略
c)証明書の場所は、明示的に「信頼されたルート証明機関」を選択しておきましょう。

d)セキュリティ警告が出ますが、「はい」でインストール

③インストールされた証明書の確認
a)Windowsの場合、検索窓で「証明書」と入れ、「ユーザ証明書の管理」を起動。または、Windowsのコマンドプロンプトで、certmgr.mscを実行
b)certmgrが起動します。
c)「信頼されたルート証明機関」の「証明書」の中から、FGTで始まる証明書がインストールされていると思います。

これで、証明書エラーが出なくなります。

3.トラブル

・SSLインスペクションがうまくいかないことがよくある
ブラウザに依存したりもするけど、SSLのバージョンが古かったりすると機能しない場合もあるので、3や4にしたほうがいいかも。
https://t21help.nikkei.co.jp/oshirase/2021/09/20210929-1.html
・フローモードとプロキシモードがありますが、プロキシモードにしておきましょう。ブラウザに依存するようですが、Chromeの場合、フローモードではSSLインスペクションがうまく動作しません。
・備忘であるが、自宅でテストしただけなので詳しい調査はしていない。deepインスペクションを有効にしてから、メールの通信がエラーになった。メールはTLS通信をしているが、SSL証明書が検証できなかったとか、そんな理由だと思われる。