Cisco ACE Web Application Firewall ユーザ ガイド
SSL/TLS によるトラフィックの保護
SSL/TLS によるトラフィックの保護
発行日;2012/01/11 | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 3MB) | フィードバック

目次

SSL/TLS によるトラフィックの保護

SSL/TLS トラフィック暗号化について

サービス コンシューマ接続の保護

サービス プロバイダー接続の保護

SSL/TLS によるトラフィックの保護

この章では、SSL/TLS を使用してサービス トラフィックを保護する方法について説明します。内容は次のとおりです。

「SSL/TLS トラフィック暗号化について」

「サービス コンシューマ接続の保護」

「サービス プロバイダー接続の保護」

SSL/TLS トラフィック暗号化について

Secure Sockets Layer(SSL)、および SSL の後継標準である Transport Layer Security(TLS)は、ネットワーク トラフィックの保護に幅広く利用されています。SSL を ACE Web Application Firewall で使用することで、ACE Web Application Firewall とサービス ユーザ間の通信や、ACE Web Application Firewall とバックエンド サービス プロバイダー間の通信を保護できます。

SSL をコンシューマ接続に使用するには、使用する公開鍵/秘密鍵ペアをアップロードおよび指定して、SSL セッションを確立する必要があります。鍵ペアのロードについては、「鍵ペア リソースのアップロード」を参照してください。

SSL は、サービス トラフィックの保護以外の目的でもシステムで使用されるので注意してください。たとえば、ACE Web Application Firewall Manager は、SSL を介して Web コンソールにサービスを提供します。また、ログおよび管理情報は SSL により ACE Web Application Firewall と Manager 間で渡されます。そのため、Web コンソールには、SSL 認証を設定するためのエリアがいくつかあります。この章では、サービス トラフィック固有に SSL を使用するように ACE Web Application Firewall をセットアップする方法について説明します。

サービス コンシューマ接続の保護

コンシューマ接続に SSL を使用するには、ACE Web Application Firewall は、公開鍵/秘密鍵ペアを使用する必要があります。この鍵ペアは、自己署名証明書、または Certificate Authority(CA; 認証局)により署名された証明書のいずれかです。組織内部のユーザの場合、通常、自己署名証明書で十分です。これ以外の目的の場合、CA 署名付き入り証明書を使用する必要があります。

特定の種類のクライアントに対応するために、場合によっては、(ここで説明しているように)ACE Web Application Firewall のポートに使用される証明書をサーバ証明書として設定する必要があります。つまり、証明書には、 TLS Web Server 認証 X509v3 Extended Key Usage 属性が必要になります。これは特定のクライアントに対してだけ必要です。通常、ACE Web Application Firewall システムでは、サーバ証明書を使用する必要はなく、サーバ証明書でなくても問題ない場合があります。

暗号化したチャネルを ACE Web Application Firewall とコンシューマとの間に設定するには、次の手順を実行します。


ステップ 1 操作メニューで [HTTP Ports & Hostnames] リンクをクリックします。

ステップ 2 SSL 接続を設定するポートがすでに存在する場合、そのポートの [edit] リンクをクリックします。このポートが存在しない場合、 第 8 章「ポートおよびホスト名に関する作業」 に示すようにポートを開きます。

通常、SSL にはポート番号 443 が使用されます。ただし、保護されていない HTTP 通信のデフォルト ポート番号である、ポート 80 など、任意のポート番号を使用できます。

ステップ 3 [Edit Port] ページで、[SSL] チェックボックスをクリックします。このオプションが選択されると、SSL 暗号化がそのポートの通信に使用されます。

ステップ 4 [Public/Private Keypairs] メニューで、接続に使用する鍵ペアを選択します。

使用する鍵ペアが ACE Web Application Firewall Manager にアップロードされていない場合、「鍵ペア リソースのアップロード」の指示に従い鍵ペアをアップロードします。

ステップ 5 SSL 接続のセットアップ中、ACE Web Application Firewall およびクライアントは、メッセージ暗号化または認証に使用される SSL 暗号スイートなど、接続に関するさまざまなパラメータをネゴシエーションします。デフォルトでは、ACE Web Application Firewall は、ポートで許可する暗号スイートを限定しません。64 または 56 ビット鍵など、ほとんどの暗号化メカニズムを許可します。

具体的には、使用されるデフォルトの暗号スイート リストは、ALL:!ADH:!EXPORT:!SSLv2:!LOW:+HIGH:+MEDIUM です。

ポートで ACE Web Application Firewall により許可される暗号スイートを限定するには、[SSL Cipher Suite] メニューから [custom] を選択します。表示されるテキスト フィールドに、http://www.openssl.org/docs/apps/ciphers.html で説明されているように、標準の OpenSSL Cipher 文字列形式で許可される暗号スイートのセットを入力します。

たとえば、長さが 128 ビット以上で非同期 DH ではない鍵を使用するアルゴリズムだけを許可する場合、次のように入力します。

HIGH:MEDIUM:!ADH

これは、次のことを指定したことと同じです。

DHE-RSA-AES256-SHA:DHE-DSS-AES256-SHA:AES256-SHA: EDH-RSA-DES-CBC3-SHA:EDH-DSS-DES-CBC3-SHA: DES-CBC3-SHA:DES-CBC3-MD5:DHE-RSA-AES128-SHA: DHE-DSS-AES128-SHA:AES128-SHA:DHE-DSS-RC4-SHA: KRB5-RC4-MD5:KRB5-RC4-SHA:RC4-SHA:RC4-MD5: RC2-CBC-MD5:RC4-MD5:KRB5-DES-CBC3-MD5: KRB5-DES-CBC3-SHA

クライアントが、指定された SSL 暗号スイートを使用できない場合、接続は許可されません。この場合、イベント ログに「Terminating HTTP session: 400 Bad request.」のような警告レベルのイベントが示されます。


) 暗号スイート文字列の入力は慎重に行ってください。ACE Web Application Firewall Manager インターフェイスでは、入力した値が確認されません。入力し間違えたり、意味のない値を入力したりすると、ポートが利用できなくなります。


ステップ 6 [Save Changes] をクリックしてポート設定を終了します。


 

これで、仮想 Web アプリケーションまたは仮想サービス オブジェクトがポートを使用するように設定できます。たとえば、仮想 Web アプリケーションでは、次の手順を実行します。


ステップ 1 操作メニューで [Virtual Web Applications] をクリックします。

ステップ 2 トラフィックを保護するサービスの基本仮想サービス オブジェクトまたはハンドラを選択します。

ステップ 3 仮想サービスのプロパティ ページの [Consumer Interface] ヘッダーの横にある [Edit] をクリックします。

ステップ 4 [Port] の値には、SSL に設定したポートをリストから選択します。

ステップ 5 [Save Changes] をクリックして、アクティブ サブポリシーの変更を確認します。


 

これで、クライアント側の SSL 設定は終了です。ポリシーを導入して、この変更を Firewall に適用します。

サービス プロバイダー接続の保護

SSL 暗号化を ACE Web Application Firewall とバックエンド サービス プロバイダー間の接続に設定できます。

バックエンド サーバ接続を保護するには、サーバ証明書を確認するための適切なセキュリティ リソース(リモート サーバ証明書、またはリモート サーバで使用される信頼できる CA の証明書いずれか)が必要になります。CA の信頼性を指定するには、その証明書をポリシーにインポートする必要があります。デフォルトでは、ポリシーには CA 証明書は事前にロードされていません。

ACE Web Application Firewall は、双方向 SSL もサポートしています。双方向 SSL では、ACE Web Application Firewall はそれ自体をバックエンド システムに対して認証します。双方向 SSL を使用するには、ACE Web Application Firewall の公開鍵/秘密鍵ペアを ACE Web Application Firewall Manager にロードする必要があります。

双方向 SSL を設定するには、次の手順を実行します。


ステップ 1 操作メニューの [Destination HTTP Servers] リンクをクリックします。

ステップ 2 SSL を設定するサーバがすでに存在する場合、そのサーバの [view] リンクをクリックします。

目的のサーバがサーバ リストに表示されていない場合、[Add a New Server] ボタンをクリックして、「宛先 HTTP サーバの追加」に説明されているようにバックエンド サーバを設定します。

ステップ 3 [Edit Server] ページで、汎用設定ヘッダーの横にある [Edit] リンクをクリックします。

ステップ 4 サーバとの通信を SSL チャネルを介して行うには、[SSL] オプションを有効にします。

SSL チャネルを設定するコントロールが有効になります。

ステップ 5 双方向 SSL では、サーバは、クライアント(この場合 ACE Web Application Firewall)に、SSL ネゴシエーションの一環としてそれ自体を認証するように指示します。この場合、使用するクライアント公開鍵/秘密鍵ペアを、[If requested, use client public/private keypair] メニューから指定します。

ステップ 6 サーバが提供する証明書が ACE Web Application Firewall でどのように確認されるかを指定します。

Web サービスが提供する任意の証明書を許可するには、[Require remote server certificate signed by this CA certificate] オプションをそのデフォルト値である [none] のままにします。これは、デフォルトの設定です。ACE Web Application Firewall は、サーバが提供する任意の証明書を許可します。

指定した認証局(CA)により署名される任意の証明書を許可するには、[Require remote server certificate signed by this CA certificate] オプションを有効にして、メニューにリストされている CA を 1 つ以上選択します。目的の証明書がメニューに表示されていない場合、[Upload] を選択して、証明書を ACE Web Application Firewall Manager の信頼できる認証局のリストに追加します。

特定の証明書と同じ証明書を許可するには、[Require a certificate from the remote server that is identical to this certificate] をクリックして、メニューから証明書を選択します。目的の証明書がメニューに表示されていない場合、[Upload] を選択して、証明書を ACE Web Application Firewall Manager のリモート サーバ証明書のリストに追加します。

ステップ 7 SSL 接続のセットアップ中、ACE Web Application Firewall およびバックエンド サーバは、メッセージ暗号化または認証に使用される SSL 暗号スイートなど、接続に関するさまざまなパラメータをネゴシエーションします。デフォルトでは、ACE Web Application Firewall は、許可する暗号スイートを限定しません。64 または 56 ビット鍵など、ほとんどの暗号化メカニズムを許可します。

ACE Web Application Firewall がバックエンド サーバとの接続の確立で許可する暗号スイートを制限するには、[SSL Cipher Suite] メニューで [custom] を選択します。表示されるテキスト フィールドに、http://www.openssl.org/docs/apps/ciphers.html で説明されているように、標準の OpenSSL Cipher 文字列形式でサーバ接続に使用する暗号スイートを入力します。

たとえば、長さが 128 ビット以上で非同期 DH ではない鍵を使用するアルゴリズムだけを許可する場合、テキスト フィールドに次のように入力します。

HIGH:MEDIUM:!ADH

これは、次のことを指定したことと同じです。

DHE-RSA-AES256-SHA:DHE-DSS-AES256-SHA:AES256-SHA:EDH-RSA-DES-CBC3-SHA:EDH-DSS-DES-CBC3-SHA: DES-CBC3-SHA:DES-CBC3-MD5:DHE-RSA-AES128-SHA: DHE-DSS-AES128-SHA:AES128-SHA:DHE-DSS-RC4-SHA: KRB5-RC4-MD5:KRB5-RC4-SHA:RC4-SHA:RC4-MD5: RC2-CBC-MD5:RC4-MD5:KRB5-DES-CBC3-MD5: KRB5-DES-CBC3-SHA

設定する SSL 暗号スイートのいずれもサーバで使用できない場合、接続ネゴシエーションは失敗し、これがイベント ログに記録されます。


) 暗号スイートをフィールドに入力する場合は注意してください。ACE Web Application Firewall Manager の Web コンソール インターフェイスでは、入力した値が確認されません。入力し間違えたり、意味のない値を入力したりすると、Firewall がサーバと接続できなくなります。


ステップ 8 [Save Changes] をクリックしてサーバ設定を完了します。


 

これで SSL 設定は完了です。ポリシーを導入すると、設定したサーバに依存する仮想サービスが、SSL を使用してバックエンド サーバと通信するようになります。