4.6. JBoss EAP 6 Web サーバーでの SSL 暗号化の実装
はじめに
多くの Web アプリケーションには、HTTPS
接続とも呼ばれるクライアントとサーバー間の SSL 暗号化接続が必要です。以下の手順を使用して、サーバーまたはサーバーグループで 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 コマンドを変更し、jboss.domain.config.dir
プロパティーのインスタンスを jboss.server.config.dir
に置き換えます( jboss.domain.config.dir
はスタンドアロンモードでは使用できません)。
警告
Red Hat は、影響を受けるすべてのパッケージで TLSv1.1 または TLSv1.2 を利用するために SSL を明示的に無効にすることを推奨します。
手順4.4 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.domain.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)
アプリケーションをデプロイします。
設定したプロファイルを使用するサーバーグループにアプリケーションをデプロイします。スタンドアロンサーバーを使用する場合は、サーバーにアプリケーションをデプロイします。新しい SSL 暗号化接続を使用する HTTPS リクエスト。