IDP SSL インスペクション
SSL(Secure Sockets Layer)は、TLS(トランスポートレイヤーセキュリティ)とも呼ばれ、認証、機密性、メッセージの整合性を提供するWebセキュリティ向けのプロトコルスイートです。Web ブラウザーが Web サーバーの ID を検証できるようにすることで、不正な送信を防ぐために認証を行います。機密性のメカニズムにより、通信がプライベートであることを保証します。SSL は、データを暗号化して機密性を強化し、不正ユーザーが電子通信で傍受するのを防ぎます。最後に、メッセージの整合性により、通信内容が改ざんされないようにします。
詳細については、以下のトピックを参照してください。
IDP SSL の概要
各 SSL セッションはハンドシェイクから始まり、クライアントとサーバーがそのセッションに使用する特定のセキュリティ キーと暗号化アルゴリズムに同意します。この時点で、クライアントもサーバーを認証します。必要に応じて、サーバーはクライアントを認証できます。ハンドシェイクが完了すると、暗号化されたデータの転送を開始できます。
ジュニパーネットワークスは、異なるSSLバージョン、暗号方式、および鍵交換方法で構成されるSSLプロトコルスイートを使用する侵入検出防御(IDP)SSLインスペクションを提供しています。アプリケーション識別機能と組み合わせることで、SRXシリーズデバイスは、任意のポートでSSLで暗号化されたHTTPトラフィックを検査できます。以下の SSL プロトコルがサポートされています。
SSLv2
SSLv3
Tls
「」も参照
サポートされている IDP SSL 暗号方式
SSL暗号方式は、暗号化暗号方式、認証方法、圧縮で構成されています。Junos OSは、一時的なプライベートキーの使用を伴わない、OPENSSLでサポートされているすべての暗号方式をサポートしています。認証では、NULL、MD5、SHA-1 認証方法がサポートされています。
圧縮および SSLv2 暗号方式はサポートされていません。現在、クライアントの「hello」メッセージでSSLv2暗号方式を受信した場合、ほとんどのSSLサーバーは自動的にTLS暗号方式にアップグレードします。ブラウザを確認して、暗号方式の強さとブラウザがサポートする方法を確認します。(サポートされている暗号方式のリストにない場合、ディープパケットインスペクションではセッションは無視されます)。
表 1 は、SRX シリーズ デバイスでサポートされている暗号化アルゴリズムを示しています。
暗号方式 | エクスポート可能な | タイプ | 鍵材料 | 拡張鍵材料 | 有効鍵ビット | IV サイズ |
---|---|---|---|---|---|---|
Null |
いいえ |
ストリーム |
0 |
0 |
0 |
N/a |
DES-CBC-SHA |
いいえ |
ブロック |
8 |
8 |
56 |
8 |
DES-CBC3-SHA |
いいえ |
ブロック |
24 |
24 |
168 |
8 |
AES128-SHA |
いいえ |
ブロック |
16 |
16 |
128 |
16 |
AES256-SHA |
いいえ |
ブロック |
32 |
32 |
256 |
16 |
暗号化アルゴリズムの詳細については、 IPsec VPNの概要を参照してください。 表 2 は、サポートされている SSL 暗号方式を示しています。
暗号スイート | 値 |
---|---|
TLS_RSA_WITH_NULL_MD5 TLS_RSA_WITH_NULL_SHA TLS_RSA_WITH_DES_CBC_SHA TLS_RSA_WITH_3DES_EDE_CBC_SHA TLS_RSA_WITH_AES_128_CBC_SHA TLS_RSA_WITH_AES_256_CBC_SHA |
0x0001 0x0002 0x0009 0x000A 0x002F 0x0035 |
RC4およびIDEA暗号方式は、ライセンスとOPENSSLライブラリの可用性によりサポートされていません。
IDP インターネット鍵交換について
インターネット鍵交換(IKE)は、一括データの暗号化と認証のための対称キーを生成するために使用されるマスター前の秘密を確立します。RFC 2246のセクションF.1.1では、トランスポート層セキュリティ(TLS)認証と鍵交換方法を定義しています。鍵交換の 3 つの方法は次のとおりです。
RSA - Rivest-Shamir-Adleman(RSA)は、参加者が SSL セッション中に使用される対称キーまたはシークレットを作成する方法を管理する鍵交換アルゴリズムです。最も一般的に使用される方法は RSA 鍵交換アルゴリズムです。
DSA—デジタル署名アルゴリズム(DSA)は、IKEフェーズ1プロポーザルに追加の認証オプションを追加します。DSAは、RSAに類似して設定し、動作するため、ユーザーはDSA証明書をインポートまたは作成し、DSAを使用するようにIKEプロポーザルを設定する必要があります。デジタル証明書は、IKEプロトコルにおけるRSA署名、DSA署名、RSA公開鍵暗号化ベースの認証方法に使用されます。
Diffie-Hellman - Diffie-Hellman(DH)は、参加者が共有の秘密値を生成するための主要な交換方法です。この手法の強みは、参加者が有線を通じて秘密値を渡すことなく、保護されていないメディアを介して秘密値を作成できる点です。
鍵交換方法は、固定サーバー鍵または一時サーバー鍵のいずれかを使用できます。IDP は、固定サーバーキーが使用されている場合にのみ、プリマスターシークレットを正常に取得できます。インターネット鍵交換の詳細については、 Junos OS の PKI の基本要素を参照してください。
ジュニパー IDP は、Diffie-Hellman 鍵交換を使用する SSL セッションを暗号化解除しません。
IDP 暗号化キーの処理の概要
侵入検出防御(IDP)SSL(セキュア ソケット レイヤー)暗号化解除機能により、SRX シリーズ デバイスは設定された RSA プライベート キーをメモリに読み込み、SSL セッション キーを確立してデータの復号化に使用します。IDP は、RSA 鍵を復号化し、鍵を使用して通常の暗号化または暗号化解除操作を実行する前に整合性を確認する必要があります。
この機能の主な目的は、IDPが使用するRSAプライベートキーがプレーンテキストとして、または簡単に理解できる、または使用可能な形式で保存されないようにすることです。鍵は、通常の暗号化または暗号化解除操作を実行するために暗号化解除されます。この機能には、あるメモリの場所から別のメモリにキーをコピーする際のエラー検出チェックのほか、キーが不要になったときに 0 以外のパターンで中間ストレージを上書きすることも含まれます。
この機能を set security idp sensor-configuration ssl-inspection key-protection
有効にするには、CLI 設定コマンドを使用します。
IDP SSL サーバー鍵管理とポリシー構成について
デバイスは、最大 1,000 個のサーバー プライベート キーをサポートできます。各キーは、それを使用する最大100台のサーバーを持つことができます。基本的に各SPUはすべてのキーにアクセスできる必要があるため、この容量はデバイスで利用可能なSPUの数に関係なく同じです。
複数のサーバーが同じプライベートキーを共有できます。ただし、1つのサーバーにプライベートキーを1つだけ持つことができます。SSL 暗号化解除はデフォルトで無効になっています。プレーンキーと暗号化キーの両方がサポートされています。
Junos OSはSSLキーファイルを暗号化しません。
コマンドを使用して、SSLセッションIDキャッシュのタイムアウトパラメーターの値を set security idp sensor-configuration ssl-inspection session-id-cache-timeout 設定できます。キャッシュタイムアウトパラメータのデフォルト値は600秒です。
IDP SSL インスペクションの設定(CLI 手順)
SSLデコーダーはデフォルトで有効になっています。CLI で手動で有効にする必要がある場合は、次の CLI コマンドを使用します。
set security idp sensor-configuration detector protocol-name SSL tunable-name sc_ssl_flags tuneable-value 1
IDP SSL インスペクションを設定するには、以下の CLI 手順を使用します。
[edit security] idp { sensor-configuration { ssl-inspection { sessions <number>; } }
これで、センサーはキーとサーバーのペアがあるトラフィックを検査します。
SPU ごとにサポートされる最大セッション数:デフォルト値は 10,000、範囲は 1~100,000 です。セッション制限はSPU単位であり、デバイス上のSPUの数に関係なく同じです。
IDP SSL キーと関連サーバーの追加
鍵をインストールするときは、パスワードで鍵を保護し、サーバーに関連付けることができます。
プライバシ拡張メール(PEM)キーをインストールするには、以下のCLIコマンドを使用します。
request security idp ssl-inspection key add key-name file file-path server server-ip password password-string
2ノードのSRXシリーズクラスターでは、リクエストコマンドを成功させるためには、同じ場所にあるノード0とノード1の両方にキーを手動でコピーする必要があります。
また、 add server CLI コマンドを使用して、後でキーをサーバーに関連付けることもできます。サーバーは、1 つの鍵にしか関連付けできません。サーバーをインストール済みキーに関連付けるには、以下の CLI コマンドを使用します。
request security idp ssl-inspection key add key-name server server-ip
キー名の最大長は、最後の「\0」を含む 32 バイトです。
IDP SSL 鍵および関連サーバーの削除
すべてのキーとサーバーを削除するには、以下の CLI コマンドを使用します。
user@host> request security idp ssl-inspection key delete
インストールされているすべてのキーは、関連するサーバーとともに削除されます。
特定のキーと、そのキーを持つすべての関連サーバーを削除するには、以下の CLI コマンドを使用します。
user@host> request security idp ssl-inspection key delete <key-name>
指定されたキーと、そのキーに関連付けられているすべてのサーバーを削除します。
単一サーバーを削除するには、以下の CLI コマンドを使用します。
user@host> request security idp ssl-inspection key delete <key-name> server <server-ip>
指定されたキーにバインドされている指定されたサーバーを削除します。
IDP SSL 鍵および関連サーバーの表示
-
インストールされたすべてのサーバーキーと関連サーバーを表示するには、以下のCLIコマンドを使用します。
user@host> show security idp ssl-inspection key
これらのキーにバインドされたすべてのサーバー キーと IP アドレスを表示します。以下の例は、 コマンドが使用されている場合のCLI出力を
show security idp ssl-inspection key
示しています。Total SSL keys : 2 SSL server key and ip address : Key : key1, server : 10.1.1.1 Key : key2, server : 10.2.2.2 Key : key2, server : 10.2.2.3
-
特定のキーにバインドされた IP アドレスを表示するには、以下の CLI コマンドを使用します。
user@host> show security idp ssl-inspection key <key-name>
以下に、 コマンドを使用したときに受信するCLI出力の例を
show security idp ssl-inspection key <key-name>
示します。Key : key1, server : 10.1.1.1
例:SSL プロキシーが使用可能な場合の IDP の構成
この例では、SSL プロキシが有効になっているときに IDP が AppID(アプリケーション識別)機能をサポートする方法について説明します。
要件
開始する前に、以下を行います。
ゾーンを作成します。 例: セキュリティー・ゾーンの作成を参照してください。
ポリシーのアドレスを持つアドレス帳を設定します。例 : アドレスブックとアドレスセットの設定を参照してください。
ポリシーがそのタイプのトラフィックに適用されていることを示すアプリケーション(またはアプリケーション セット)を作成します。 例: セキュリティー・ポリシー・アプリケーションとアプリケーション・セットの構成を参照してください。
ポリシーによって SSL プロキシーを有効にする SSL プロキシー・プロファイルを作成します。 SSL フォワード プロキシーの設定を参照してください。
IDPポリシーをアクティブなポリシーとして設定します。
概要
この例では、SSL プロキシが有効になっているときにポリシー ルールで IDP を設定する方法を示します。
構成
CLI クイックコンフィギュレーション
この例を迅速に設定するには、以下のコマンドをコピーしてテキスト ファイルに貼り付け、改行を削除し、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを 階層レベルの [edit]
CLI にコピー アンド ペーストして、設定モードから を入力 commit
します。
set security policies from-zone Z_1 to-zone Z_2 policy policy1 match source-address any set security policies from-zone Z_1 to-zone Z_2 policy policy1 match destination-address any set security policies from-zone Z_1 to-zone Z_2 policy policy1 match application junos-https set security policies from-zone Z_1 to-zone Z_2 policy policy1 then permit application-services ssl-proxy profile-name ssl-profile-1 set security policies from-zone Z_1 to-zone Z_2 policy policy1 then permit application-services idp
手順
手順
次の例では、設定階層内のさまざまなレベルに移動する必要があります。その方法の詳細については、 CLIユーザーガイドの設定モードでのCLIエディターの使用を参照してください。
この例では、IDP をアプリケーション サービスとして使用するセキュリティ ポリシーを設定します。
SSL プロキシ プロファイル ssl-profile-1 でトラフィックを処理するポリシーを設定します。
[edit security policies from-zone Z_1 to-zone Z_2 policy policy1 user@host# set match source-address any user@host# set match destination-address any user@host# set match application junos-https user@host# set then permit application-services ssl-proxy profile-name ssl-profile-1
IDP をアプリケーション サービスとして定義します。
[edit security policies from-zone Z_1 to-zone Z_2 policy policy1 user@host# set then permit application-services idp
結果
設定モードから、 コマンドを入力して設定を show security policies
確認します。出力に意図した設定が表示されない場合は、この例の設定手順を繰り返して修正します。
検証
設定が正しく機能していることを確認します。IDP での検証は、アプリケーション ファイアウォールでの検証と同様です。 アプリケーション ファイアウォールを参照してください。