現在のWeb通信の大半がhttps:// で始まるURLであり、SSLで暗号化されています。Fortigateでは、この暗号化された通信に対して、アンチウイルスや侵入検知を行うには、SSLインスペクション(deep-inspection)を使用し、一旦、データを復号化し、中身を検査することが必要です。
>> 参考記事 : SSLインスペクション(deep-inspection)設定と動作確認 FortiOS6.2.4ただし、deep-inspectionの場合、端末にルート証明書をインストールする必要があり、かつ、機器への処理負荷も高くなります。 SSLインスペクションには、もう一つ、証明書インスペクション(certificate-inspection)という機能があります。これは、SSLのハンドシェイクから証明書情報を観察し、コモンネーム/SNIの情報を入手します。これは、一旦、通信を復号化するわけではないので、端末にルート証明書をインストールする必要がありません。また、機器への処理負荷も軽減されます。
では、certificate-inspection を適用した場合、UTM機能(アンチウイルス、侵入検知、アプリケーションコントロール、Webフィルタ)がどのような動作になるのか、確認していきます。
証明書インスペクション(certificate-inspection)
端末からサーバ向きポリシーで、SSLインスペクションをcertificate-inspectionに設定します。また、アンチウイルス、Webフィルタ、アプリケーションコントロール、IPSを有効にし、プロファイルをdefaultにします。
それでは、certificate-inspection でそれぞれのUTM機能がどのような動作になるのか、確認していきます。
アンチウイルス
eicarをダウンロードし、アンチウイルスが機能するか否か確認します。
ダウンロードすると、ウイルスとして検知することなく、ダウンロードができました。
ウイルス検知は、certificate-inspectionでは、機能しないことがわかります。
>> 参考記事 : UTM(アンチウイルス)の設定と動作確認 FortiOS6.2.4侵入検知
Googleで、/etc/passwdと検索することで、Web.Server.Password.Files.Accessのシグネチャで検知するかどうか確認します。
以下の通り、フィルタされることなく、検索結果が表示されます。これもhttpsの暗号化されている中で、データが送信されているため、復号化無しでは検知することができませんでした。
アプリケーションコントロール
端末から、GoogleやYoutubeの動画を視聴してみます。
アプリケーション名が表示されます。certificate-inspection でもアプリケーション名が表示されます。deep-inspectionを設定して、同じ操作をしてみます。
鍵マークのついたアプリケーション名が表示されています。先ほどは動画視聴もYoutubeという分類でしたが、deep-inspectionにすることで、Youtube_Video.Playとより詳細にアプリケーションを認識しています。鍵マークにカーソルを合わせると、SSLのdeep-inspectionが必要であることが確認できます。
Webフィルタ
Webフィルタのdefaultのプロファイルで、ストリーミングメディアとダウンロードをブロックに設定し、ポリシーのSSLインスペクションをcertificate-inspectionに設定します。
では、Youtubeへアクセスすると、ブロックされます。
【ログ&レポート】-【Webフィルタ】でもYoutubeがブロックされていることが確認できます。
certificate-inspectionにより、接続先サーバのコモンネーム/SNIがわかることで、Webフィルタは機能します。
>> 参考記事 : UTM(Webフィルタ、URLフィルタ)の設定と動作確認 FortiOS6.4.3以上のようにSSLインスペクションのdeep-inspectionとcertificate-inspectionでは、UTMの動作が異なります。この特性を意識して、稼働環境への適用を検討してください。
コメント