【Fortigate】SSLインスペクション(deep-inspection)設定と動作確認 FortiOS6.2.4

Fortigate

現在のWeb通信の大半がhttps:// で始まるURLであり、SSLで暗号化されています。通信自体のセキュリティは確保されますが、FW等でアプリケーション制御やUTM(アンチウイルスなど)を実行する場合、データが暗号化されていることより、制御に支障をきたします。

そのため、制御装置を経由するときに、一旦、通信データを復号化し、データを確認後、再暗号化する機能が実装されています。FortigateではSSLインスペクションdeep-inspection)と呼ばれます。

スポンサーリンク

SSLインスペクションを使用しない場合の動作

内部から外部へすべての通信をポリシー許可し、SSLインスペクションを無効化(デフォルト動作)にします。

GUIで【ポリシー&オブジェクト】-【ファイアウォールポリシー】-【新規作成】より以下の通り設定します。

端末からGoogleへアクセスし、トラフィックログを確認します。トラフィックログは、【ログ&レポート】-【転送トラフィック】で確認します。

IPアドレスの宛先はGoogleのグローバルアドレスであることが確認できます。サービスとしてHTTPS通信であることはわかりますが、アプリケーションなど、それ以上の情報はわかりません。

スポンサーリンク

SSLインスペクションを設定し、アプリケーションを可視化

内部→外部で設定したポリシーにて、SSLインスペクションを deep-inspection にして、アプリケーションコントロールを有効にします。

端末からGoogleへアクセスすると、ブラウザーで証明書のエラーが出力されます。

サーバ証明書を確認すると、発行者がFortigate(図はデフォルトで割り当てたホスト名)であり、 発行者のルート証明書がインストールされていないことがわかります。

このエラーは、端末に、Fortigateのルート証明書をインポートすることで解決します。

GUIで、【セキュリティプロファイル】-【SSL/SSHインスペクション】へ移動し、deep-inspection をダブルクリックします。

以下、CA証明書より、ルート証明書をダウンロードできます。ダウンロードをクリックします。

ダウンロードした証明書を「信頼されたルート証明機関」へインポート後、Googleへアクセスすると、証明書エラーが出力されなくなります。

ブラウザで証明書を確認すると、Fortigate自身が www.google.co.jp に対してのサーバ証明書を生成していることがわかります。また、サーバ証明書と先ほどインストールしたルート証明書がチェーンされていることも確認できます。

トラフィックログを確認すると、Googleへのアクセスに対して、アプリケーション名Google.Serviceが表示されています。これは、SSLインスペクションによりデータ通信を復号した後、UTMの一つであるアプリケーションコントロール機能によりアプリケーションを識別しています。

【ログ&レポート】-【アプリケーションコントロール】では、アプリケーションコントロールに特化したログが出力されます。

>> 参考記事 : 【初心者】公開鍵暗号、認証局、デジタル署名をイメージで解説

ルート証明書のイメージが難しい方は参照してください。

 

>> 参考記事 : SSLインスペクション除外の設定 FortiOS6.2.4

SSLインスペクションから除外する接続先を設定するには、この記事を参考にしてください。

>> 参考記事 : SSLインスペクション(certificate-inspection)設定と動作確認 FortiOS6.2.4

deep-inspectionでは、データを復号化しましたが、別の方式として、証明書インスペクションcertificate-inspection)という方式もあります。

>> 参考記事 : SSL復号化(SSL Forward Proxy)の設定と動作確認 PANOS9.0.9-h1.xfr

PaloaltoでSSL復号化するには、この記事を参考にしてください。

コメント

タイトルとURLをコピーしました