Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

SSL フォワード プロキシの概要

Secure Sockets Layer (SSL) は、インターネットに暗号化技術を提供するアプリケーションレベルのプロトコルです。SSLは、 Transport Layer Security (TLS)とも呼ばれ、プライバシー、認証、機密性、およびデータの整合性を組み合わせて、クライアントとサーバー間のデータの安全な送信を保証します。SSLは、このレベルのセキュリティのために、証明書と秘密鍵と公開鍵の交換ペアに依存しています。

サーバー認証は、Web ブラウザーで Web サーバーの ID を検証できるようにすることで、不正な送信を防止します。機密保持メカニズムにより、通信の機密性が確保されます。SSLは、データを暗号化して機密性を確保し、権限のないユーザーが電子通信を盗聴するのを防ぎます。最後に、メッセージの整合性は、通信の内容が改ざんされていないことを保証します。

SSL フォワードプロキシは透過プロキシです。つまり、クライアントとサーバー間でSSL暗号および復号化を実行しますが、サーバーもクライアントもその存在を検出することはできません。SSLフォワードプロキシは、ペイロードを暗号化および復号化するためのキーを持っていることを確認します。

  • サーバーの場合、SSL フォワードプロキシはクライアントとして機能します - SSL フォワードプロキシは共有のプレプライマリキーを生成するため、暗号化および復号化するキーを決定します。

  • クライアントの場合、SSL フォワード プロキシはサーバーとして機能します。SSL フォワード プロキシは、最初に元のサーバーを認証し、元のサーバー証明書の公開キーを既知のキーに置き換えます。次に、証明書の元の発行者を独自の ID に置き換えて新しい証明書を生成し、この新しい証明書に独自の公開キー (プロキシ プロファイル構成の一部として提供) で署名します。クライアントは、このような証明書を受け入れると、証明書の公開キーで暗号化された共有のプレプライマリキーを送信します。SSL フォワードプロキシは元のキーを独自のキーに置き換えたため、共有されたプレプライマリキーを受け取ることができます。復号化と暗号化は各方向(クライアントとサーバー)で行われ、キーは暗号化と復号化の両方で異なります。

図 1 は、(既存の SRXシリーズ IPS モジュール上で)一般的なサーバー保護に SSL インスペクションがどのように使用されるかを示しています。SSLインスペクションでは、SRXシリーズデバイスがencrypted trafficを復号化できるように、サーバーが使用するプライベートキーにアクセスする必要があります。

図1:既存のSRXシリーズファイアウォールNetwork security architecture showing traffic flow from Untrust Zone to DMZ Zone via SRX device and IPS for threat prevention.でのSSLインスペクション

図 2 は、暗号化されたペイロードに対して SSL フォワード プロキシがどのように機能するかを示しています。アプリケーション ファイアウォール(AppFW)、侵入防御システム(IPS)、またはアプリケーション トラッキング(AppTrack)が設定されている場合、SSL フォワード プロキシは SSL サーバーとして機能し、クライアントからの SSL セッションを終了し、サーバーへの新しい SSL セッションが確立されます。デバイスは、すべての SSL フォワードプロキシトラフィックを復号化してから、再暗号化します。SSL フォワードプロキシは、次のサービスを使用します。

  • クライアント側の SSL-T-SSL ターミネーター。

  • サーバー側の SSL-I-SSL イニシエータ。

  • 設定された AppFW、IPS、または AppTrack サービスは、復号化された SSL セッションを使用します。

手記:

どのサービス(AppFW、IPS、または AppTrack)も設定されていない場合、SSL プロキシ プロファイルがファイアウォール ポリシーにアタッチされていても、SSL フォワード プロキシ サービスはバイパスされます。SSLフォワードプロキシがセッションで有効になっている場合、IPSはセッションでSSLインスペクションを実行しません。つまり、SSL インスペクションと SSL フォワードプロキシの両方がセッションで有効になっている場合、SSL フォワードプロキシが常に優先されます。

図2:暗号化されたペイロードSSL inspection architecture showing encrypted traffic in orange and decrypted traffic in blue between Trust Zone internal network and Untrust Zone external network. SRX Series device inspects and re-encrypts traffic.上のSSLプロキシ

プロキシ モードでサポートされる暗号方式

SSL暗号は、暗号化方式、認証方式、および圧縮で構成されています。 表 1 は、サポートされている暗号方式のリストを示しています。NULL 暗号は除外されます。

以下の SSL プロトコルがサポートされています。

  • SSLv3

  • TLS1

表 1:プロキシ モードでサポートされる暗号方式

SSL 暗号

鍵交換アルゴリズム

データ暗号化

メッセージの整合性

RSA_WITH_RC4_128_MD5

RSA 鍵交換

128ビットRC4

Message Digest 5(MD5)ハッシュ

RSA_WITH_RC4_128_SHA

RSA 鍵交換

128ビットRC4

セキュア ハッシュ アルゴリズム(SHA)ハッシュ

RSA_WITH_DES_CBC_SHA

RSA 鍵交換

DES CBC

SHA ハッシュ

RSA_WITH_3DES_EDE_CBC_SHA

RSA 鍵交換

3DES EDE/CBC

SHA ハッシュ

RSA_WITH_AES_128_CBC_SHA

RSA 鍵交換

128ビットAES/CBC

SHA ハッシュ

RSA_WITH_AES_256_CBC_SHA

RSA 鍵交換

256ビットAES/CBC

SHA ハッシュ

RSA_EXPORT_WITH_RC4_40_MD5

RSA エクスポート

40ビットRC4

MD5 ハッシュ

RSA_EXPORT_WITH_DES40_CBC_SHA

RSA エクスポート

40 ビット DES/CBC

SHA ハッシュ

RSA_EXPORT1024_WITH_DES_CBC_SHA

RSA 1024ビットエクスポート

DES/CBC

SHA ハッシュ

RSA_EXPORT1024_WITH_RC4_56_MD5

RSA 1024ビットエクスポート

56ビットRC4

MD5 ハッシュ

RSA_EXPORT1024_WITH_RC4_56_SHA

RSA 1024ビットエクスポート

56ビットRC4

SHA ハッシュ

RSA-WITH-AES-256-GCM-SHA384

RSA 鍵交換

256ビットAES/GCM

SHA384 ハッシュ

RSA-WITH-AES-256-CBC-SHA256

RSA 鍵交換

256ビットAES/CBC

SHA256 ハッシュ

RSA-WITH-AES-128-GCM-SHA256

RSA 鍵交換

128ビットAES/GCM

SHA256 ハッシュ

RSA-WITH-AES-128-CBC-SHA256

RSA 鍵交換

128ビットAES/CBC

SHA256 ハッシュ

サーバー認証

クライアントとデバイス間の暗黙の信頼(クライアントがデバイスによって生成された証明書を受け入れるため)は、SSLプロキシの重要な側面です。サーバー認証が危険にさらされないことは非常に重要です。しかし、実際には、自己署名証明書や異常のある証明書が豊富にあります。異常には、期限切れの証明書、ドメイン名と一致しない共通名のインスタンスなどが含まれます。

サーバー認証は、SSL フォワード・プロキシー・プロファイルで「サーバー認証を無視する」オプションを選択することによって制御されます。

「サーバー認証を無視する」オプションが選択されていない場合、以下のシナリオが発生します。

  • 認証が成功すると、鍵を置き換え、発行者名をプロキシー・プロファイルのルート CA 証明書で構成されている発行者名に変更することで、新しい証明書が生成されます。

  • 認証に失敗すると、接続は切断されます。

SSL フォワード・プロキシー・プロファイルのアクションとして「サーバー認証を無視する」オプションが定義されている場合、以下のシナリオが発生します。

  • 証明書が自己署名の場合、新しい証明書はキーのみを置き換えて生成されます。発行者名は変更されません。これにより、証明書が無効であるという警告がクライアントブラウザに表示されます。

  • 証明書の有効期限が切れている場合、または共通名がドメイン名と一致しない場合は、キーを置き換えて発行者名をSSL-PROXY: DUMMY_CERT:GENERATED DUE TO SRVR AUTH FAILUREに変更することで、新しい証明書が生成されます。これにより、証明書が無効であるという警告がクライアントブラウザに表示されます。

信頼されたcaリスト

SSLフォワードプロキシは、クライアントとサーバー間の安全なデータ送信を保証します。セキュア接続を確立する前に、SSL フォワード・プロキシーは認証 (CA) 証明書を検査して、サーバー証明書の署名を検証します。このため、サーバーを効果的に認証するには、信頼できる CA 証明の妥当なリストが必要です。

サーバー認証を無視する

[サーバー認証を無視する] オプションを使用すると、サーバー認証を完全に無視できます。この場合、SSL フォワード・プロキシーは、サーバー証明書の検証プロセス中に発生したエラー (CA 署名検査の失敗、自己署名証明書、証明書の有効期限など) を無視します。

このオプションを設定すると、Web サイトがまったく認証されなくなるため、認証にはお勧めしません。ただし、このオプションを使用すると、SSL セッションがドロップされた根本原因を効果的に特定できます。

ルート CA

公開鍵基盤(PKI)階層では、ルート CA は信頼パスの最上位にあります。ルート CA は、サーバー証明書を信頼できる証明書として識別します。

セッションの再開

SSL セッションとは、完全なハンドシェイクを実行することによって作成されるパラメーターと暗号鍵のセットを指します。接続は、セッション内で発生する会話またはアクティブなデータ転送です。完全な SSL ハンドシェークと主キーの生成の計算オーバーヘッドは相当なものです。短時間のセッションでは、SSL ハンドシェークに要する時間がデータ転送に要する時間よりも長くなることがあります。スループットを向上させ、適切なレベルのセキュリティーを維持するために、SSL セッション再開はセッション・キャッシング・メカニズムを提供し、プリプライマリ秘密鍵や合意された暗号方式などのセッション情報をクライアントとサーバーの両方にキャッシュできるようにします。キャッシュされた情報は、セッション ID によって識別されます。その後の接続では、両当事者は、新しいプレプライマリ秘密鍵を作成するのではなく、セッションIDを使用して情報を取得することに同意します。セッションの再開により、 ハンドシェイク プロセスが短縮され、SSL トランザクションが高速化されます。

SSL プロキシ ログ

SSL プロキシー・プロファイルでロギングが使用可能になっている場合、SSL プロキシーは 表 2 に示すメッセージを生成できます。

表 2:SSL プロキシ ログ

ログの種類

形容

SSL_PROXY_SSL_SESSION_DROP

SSL プロキシーによってセッションがドロップされたときに生成されるログ。

SSL_PROXY_SSL_SESSION_ALLOW

いくつかのマイナーなエラーが発生した後でも、セッションがSSLプロキシによって処理されたときに生成されるログ。

SSL_PROXY_SESSION_IGNORE

非 SSL セッションが最初に SSL セッションと間違えられた場合に生成されるログ。

SSL_PROXY_SESSION_ALLOWLIST

セッションが許可リストに登録されたときに生成されるログ。

SSL_PROXY_ERROR

エラーの報告に使用されるログ。

SSL_PROXY_WARNING

警告の報告に使用されるログ。

SSL_PROXY_INFO

一般情報のレポートに使用されるログ。

すべてのログには同様の情報が含まれています。メッセージフィールドには、ログ生成の理由が含まれます。 表 3 に示されている 3 つのプレフィックスのうちの 1 つが、メッセージの送信元を識別します。その他のフィールドには、わかりやすいラベルが付けられています。

表 3:SSL プロキシ ログ プレフィックス

接頭辞

形容

デバイスに関連するエラー、または SSL プロキシ プロファイルの一部として実行されたアクションが原因で生成されるログ。ほとんどのログはこのカテゴリに分類されます。

OpenSSL エラー

ハンドシェイク プロセス中に、openssl ライブラリによってエラーが検出された場合に生成されるログ。

証明書エラー

証明書でエラーが検出された場合、 ハンドシェイク プロセス中に生成されるログ (x509 関連のエラー)。

完全転送機密保持

完全転送機密保持は、サーバーの秘密キーが侵害された場合でもセッション キーが侵害されないことを保証する特定のキー合意プロトコルです。ユーザーが開始するセッションごとに一意のセッションキーを生成することで、1つのセッションキーが侵害されたとしても、その特定のキーによって保護されている特定のセッションで交換されたデータ以外のデータには影響しません。

楕円曲線 DHE(ECDHE)暗号スーツがサポートされており、SSL フォワード プロキシで完全前方秘匿性を可能にします。SSL フォワードプロキシは、認証に RSA を引き続き使用します。ただし、EC Diffie-Hellman 一時鍵交換を使用して、共有秘密に合意します。

ECDHE 暗号スイートは DHE 暗号スイートよりも高速であるため、SSL フォワード プロキシは ECDHE 暗号スイートのみをサポートします。ECDHE 暗号スーツは楕円曲線暗号に基づいているため、より小さな鍵で RSA と同じレベルのセキュリティを実現できます。たとえば、224 ビットの楕円曲線は、2048 ビットの RSA キーと同じくらい安全です。

表 4 は、サポートされる ECDHE 暗号スートを示しています。

表 4:サポートされる ECDHE 暗号スート

SSL 暗号

鍵交換アルゴリズム

データ暗号化

メッセージの整合性

ECDHE-RSA-WITH-AES-256-GCM-SHA384

ECDHE RSAの

256ビットAES/GCM

SHA 384 ハッシュ

ECDHE-RSA-WITH-AES-256-CBC-SHA384

ECDHE RSAの

256ビットAES/CBC

SHA 384 ハッシュ

ECDHE-RSA-WITH-AES-256-CBC-SHA

ECDHE RSAの

256ビットAES/CBC

SHA ハッシュ

ECDHE-RSA-WITH-AES-3DES-EDE-CBC-SHA

ECDHE RSAの

3DES AES/EDE/CBC

SHA ハッシュ

ECDHE-RSA-WITH-AES-128-GCM-SHA256

ECDHE RSAの

128ビットAES/GCM

SHA 256 ハッシュ

ECDHE-RSA-WITH-AES-128-CBC-SHA256

ECDHE RSAの

128ビットAES/CBC

SHA 256 ハッシュ

ECDHE-RSA-WITH-AES-128-CBC-SHA

ECDHE RSAの

128ビットAES/CBC

SHA ハッシュ