11.12. SSL 暗号化
11.12.1. JBoss EAP 6 Web サーバーでの SSL 暗号化の実装
はじめに
多くの Web アプリケーションでは、クライアントとサーバー間で SSL 暗号化接続 (HTTPS
接続とも呼ばれます) が必要です。以下の手順を使用すると、サーバーまたはサーバーグループで HTTPS
を有効にできます。
警告
Red Hat は、影響するすべてのパッケージで TLSv1.1 または TLSv1.2 を利用するために SSL を明示的に無効化することを推奨しています。
前提条件
- SSL 暗号化キーセットと SSL 暗号化証明書。これらは、証明書署名認証局から購入したり、コマンドラインユーティリティーを使用して生成したりできます。Red Hat Enterprise Linux のユーティリティーを使用して暗号化キーを生成するには、「SSL 暗号化キーおよび証明書の生成」を参照してください。
- 特定の環境と設定に関する以下の詳細。
- 証明書ファイルが保存されている完全なディレクトリー名。
- 暗号化キーの暗号化パスワード。
- ドメインコントローラーまたはスタンドアロンサーバーに接続する稼働中の管理 CLI。
- 適切な暗号化スイートを選択します。
暗号化スイート
暗号化スイートを構成するために使用される暗号プリミティブは複数あります。推奨される暗号プリミティブは最初の表に記載されています。2 つ目の表には、既存のソフトウェアとの互換性を維持するために使用できる 可能性がある 暗号プリミティブが記載されていますが、推奨されるプリミティブよりも安全性が低くなります。
警告
Red Hat は、厳選された強力な暗号を
cipher-suite
に使用することを推奨します。弱い暗号を使用するとセキュリティーリスクが増大します。互換性の問題がある可能性があるため、特定の暗号化スイートを決定する前に JDK ベンダーのドキュメントを確認してください。
2048 ビットキーと OAEP を使用する RSA |
CBC モードの AES-128 |
SHA-256 |
HMAC-SHA-256 |
HMAC-SHA-1 |
1024 以上のキーサイズとレガシーパディングを使用する RSA |
AES-192 |
AES-256 |
3DES (トリプル DES で、2 つまたは 3 つの 56 ビットキー) |
RC4 (非推奨) |
SHA-1 |
HMAC-MD5 |
コネクターの SSL プロパティーに設定できるパラメーターの完全リストは、「SSL コネクターリファレンス」を参照してください。
注記
この手順では、管理対象ドメインを使用する JBoss EAP 6 設定に適切なコマンドを使用します。スタンドアロンサーバーを使用する場合は、管理 CLI コマンドの先頭から
/profile=default
を削除して管理 CLI コマンドを変更します。
警告
Red Hat は、影響するすべてのパッケージで TLSv1.1 または TLSv1.2 を利用するために SSL を明示的に無効化することを推奨しています。
手順11.39 JBoss Web Server が HTTPS を使用するよう設定
新しい HTTPS コネクターを追加します。
https
スキームとhttps
ソケットバインディング (デフォルトは8443
) を使用し、セキュアとして設定される HTTPS という名前のセキュアなコネクターを作成します。/profile=default/subsystem=web/connector=HTTPS/:add(socket-binding=https,scheme=https,protocol=HTTP/1.1,secure=true)
SSL 暗号化証明書およびキーを設定します。
例の値を独自の値に置き換え、SSL 証明書を設定します。この例では、キーストアはサーバー設定ディレクトリー (管理対象ドメインではEAP_HOME/domain/configuration/
) へコピーされることを前提としています。/profile=default/subsystem=web/connector=HTTPS/ssl=configuration:add(name=https,certificate-key-file="${jboss.server.config.dir}/keystore.jks",password=SECRET, key-alias=KEY_ALIAS, cipher-suite=CIPHERS)
プロトコルを
TLSv1
に設定します。/profile=default/subsystem=web/connector=HTTPS/ssl=configuration/:write-attribute(name=protocol,value=TLSv1)
アプリケーションをデプロイします。
設定したプロファイルを使用するサーバーグループにアプリケーションをデプロイします。スタンドアロンサーバーを使用する場合、アプリケーションをサーバーにデプロイします。アプリケーションに対する HTTPS 要求は新しい SSL 暗号化接続を使用します。