FortiGate SSL Deep Inspection

FortiGate

FortiGateでSSL通信のアンチウイルスを行なう場合の設定手順

概要

FortiGateで社内とインターネット間の通信をスキャンしてマルウェアを除去するのは良くある使い方だが、ポリシーの「アンチウイルス」を有効にしただけでは多くの通信はマルウェアを検出することはできない。

何故なら現在多くのWebサーバーがSSL化されHTTPSによる通信を行なっているからだ。

HTTPSではクライアント~Webサーバー間でSSL(正確にはTLS)による暗号化が行なわれる。経路の中間に位置するFortiGateで通過するパケットの中身を検査しようとも暗号化されているためパケットを解析することはできない。いくら「アンチウイルス」を有効にしても検査は素通りとなっているわけだ。

これに対応するためFortiGateには「Deep Inspection」という方法が用意されているのだが、デフォルトでは「Cerificate Inspection」が選択されるようになっている。「Cerificate Inspection」はWebフィルタリングでは有効に機能するが、それ以外のUTM機能では役に立たない。

では「Deep Inspection」はどのような動作をするのか。

クライアントがWebサーバーへHTTPS通信のリクエストを送信する、するとFortiGateはWebサーバーと自分との間で暗号化通信を行ない(つまり暗号を復号する)パケットの検査をする。そしてパケットを再度暗号化してクライアントへ返す。このとき暗号通信で使われるサーバー証明書は元々のWebサーバーのものではなくFortiGateの証明書が使われる。このためFortiGateの証明書をクライアントが信頼するように構成しないとWebブラウザーに「証明書警告」が表示されてしまうことになる。この点が「Deep Inspection」を使用する上で注意が必要なポイントだ。本記事ではこの点を中心に扱う。

必用なもの

FortiGateに必用なもの

  • 暗号化に使用するサーバー証明書
  • SSLインスペクションプロファイルの作成
  • ポリシーの変更

クライアントに必用なもの

  • FortiGateのサーバー証明書を発行したCAのCA証明書

FortiGateのCA証明書

FortiGate機器毎に予め用意されている

SSLインスペクションプロファイルの作成

FortiGateにはデフォルトで「deep-inspection」プロファイルが組み込まれているが、このプロファイルは編集ができないためクローンを作成して使用する

セキュリティプロファイル > SSL/SSHインスペクション > 右上の▼で「deep-inspection」を選択 > その右のリストマークをクリック

次の画面に変るので 「deep-inspection」を選択して「クローン」

クローンの名前を入力

作成されたプロファイルを選択して「編集」 > 「CA証明書」>「Fortinet_CA_SSL」>「証明書をダウンロード」をクリックして証明書を保存しておく

ポリシーの作成(修正)

アンチウイルスを掛けるポリシーを作成する(または既存ポリシーを修正する)

SSLインスペクションを「certificate-inspection」から作成したプロファイルに変更する

CA証明書の配付

FortiGateのCA証明書をクライアントへ配付しインポートする。

2025年12月5日FortiGateDeep Inspection,SSL,証明書

Posted by senchan