【図解】UTMの概要と役割、SSLインスペクションやSSL復号化について

UTMとは

ファイアウォールはセキュリティのためのアプライアンスNW機器ですが、できることはレイヤー4までの制御、つまり、送信元、宛先のIPアドレスや TCP/UDP のポート番号により、 通信を制御することまでです。

しかし、昨今ではウィルス対策を始め、様々なセキュリティ対応が求められるようになってきており、 そのセキュリティ対策1つ1つに設備投資するのは効率的ではありません。

そこで登場したのが UTM (Unified Threat Management) です。UTM は従来のファイアウォール機能に加え、アンチウィルスや IPS、スパム、URL フィルタ等の様々なセキュリティ機能が搭載しており、ライセンスを追加することで必要な機能を必要なタイミングで適用することができるセキュリティ製品です。

UTM の役割、機能

UTMの機能には、主に以下の4つがあります。

アンチウィルス、アンチマルウェア

http やメール通信(SMTP/POP3/IMAP4)、ファイル共有通信(SMB)のウィルスを検知・ブロックします。シグネチャベースが多いですが、最近はサンドボックス(ふるまい検知)によるゼロデイ攻撃対策も増えてきています。

アンチスパム

スパムメールを検知・メール件名へのタグ付け・隔離します。

検知は管理者へログによる通知、メール件名へのタグ付けはメール受信者へ注意喚起や迷惑メールフォルダへの誘導、隔離は UTM 本体の HDD に格納し、エンドユーザからログインして隔離されたメールを見れるようにする、等の機能を提供します。

Webコンテンツフィルタ/URLフィルタ

好ましくない Web サイトへのアクセスを制限します。

URL フィルタのデータベースを作成する業者が、全てのサイトをカテゴリー(アダルト、薬物といった区分)に分類しており(産まれ立てのサイトは「未分類」)、UTM はそのデータベースを利用してフィルタリングを行います。

URLフィルタでエンドユーザのアクセスを制限するNW管理者は、カテゴリ単位で制限したり、NW管理者が特定したURLを許可(ホワイトリスト)したり拒否(ブラックリスト)したりできます。

IPS/IDS

既知の脆弱性をついた通信をする悪意のある通信や、好ましくないソフト(P2P等)の通信を検知・ブロックします。

SSL インスペクション(SSL/TLS の復号化)

上記攻撃のうち、アンチウィルスと IPS/IDS については、暗号化された通信(https 等の SSL/TLS 通信等)については検知することができませんそこで必要に応じて、復号化をしてチェックを行い、問題がなかったら暗号化された通信を通過させる、という機能を実装していることが多いです。このことを一般的に SSL インスペクションと呼びます。

なお、FortiGate の場合、SSL インスペクションを「ディープインスペクション」と「SNI/CA インスペクション」の2つに分けており、復号化を行うものをディープインスペクションと呼びます。SNI/CAインスペクションについては後述します。

SSL インスペクションを実現する方法(SSL/TLS 復号化方法)は以下の2パターンがあります。

1. リバースプロキシ

対象サーバの証明書と秘密鍵を UTM 内にインストールし、https を取り次ぎます

主に秘密鍵が手に入る社内サーバなどを守るために使う方法です。リバースプロキシのようにクライアントとの https 通信をいったん終端し、復号化してチェックをした後、UTM から対象の Web サーバに対して https 通信を代理で行います。

メリットとしては証明書を偽装する必要がないのでクライアント側での準備は不要なことです。

デメリットとしては、セキュリティの絶対的な要である秘密鍵をサーバから抜き出すこと、2箇所で管理する必要があること、です。

2. プロキシ

サーバ証明書を自ら生成し、https を取り次ぎます。

秘密鍵が手に入らないような、社外の https サーバ等への通信を管理したい場合に使う方法です。例えば、https://www.yahoo.co.jp へ通信する際には UTM が自ら「コモンネーム = www.yahoo.co.jp のサーバ証明書」を作成し、それをクライアントへ提示します。

あとはリバースプロキシと同様で、復号化した通信内容をチェックし、UTM と対象の Web サーバ間で https 通信を代理で行います。デメリットとして、UTM が生成する証明書のルート証明書をクライアントにインストールする必要があることです。もしこれを実施しないと、ブラウザ等で必ず警告画面が出ます。ブラウザで指定した URL とは異なるコモンネームの証明書になるからです。

FortiGate の SSL インスペクション(SNI/CA method)

URL フィルタに限って言えば、復号化せずに見る方法もあります。それが SNI/CA method による SSL インスペクションです。

この方式では、TLS のネゴシエーション時の Client Hello の SNI や Certificate の証明書情報を読み取り、そこに記載された URL を通信先としてURLフィルタの検査を行います。

なお、この方式は FortiGate のみの機能ではなく、PaloAlto等主要FWメーカーでは URL フィルター機能として提供されています。

詳細は以下をご参照下さい。

https の URLフィルタ(Web/コンテンツフィルタ)の動作と仕組み,SNI検査,製品例について
https の URLフィルタ(Web/コンテンツフィルタ)の動作と仕組み,SNI検査,製品例について
URLフィルタ(Webフィルタ/コンテンツフィルタ)とは URLフィルタとは、社...

UTM は必要ないという意見

UTM は様々な機能がついたセキュリティ万能機器という位置づけですが、万全とは言い難い面もあります。

例えばウィルスチェック等は、数 MB のウィルスファイルの検知を、高々 1500 Byte 程度のパケット単位で実施します。

キャッシュ領域にファイルを組み上げてチェックする、という方式もありますが、速度が極端に遅くなることから、最近ではあまり使われない方式になっています。

なので UTM のアンチウィルス等は、ウィルスの大部分をバサッと取り除く程度に考え、きちんとした保護はエンドポイント(つまり PC 側のアンチウィルスソフト)で実施する、と考えるほうが良いでしょう。

おすすめメーカ

個人的なオススメは、PaloAlto か Fortigate です。

理由は、設定の構造が分かりやすく設定変更やファームアップ等が行いやすい安定して動作する、の2点です。

特に PaloAlto は非常に洗練されていると思います。

ネットワークセキュリティの勉強については以下の書籍がお薦めです。