第5章 Data Grid Server 接続の暗号化
Data Grid の公開鍵と秘密鍵が含まれるキーストアを設定することにより、SSL/TLS 暗号化を使用して Data Grid Server の接続をセキュアにすることができます。相互 TLS が必要な場合、クライアント証明書認証を設定することもできます。
5.1. Data Grid Server キーストアの設定 リンクのコピーリンクがクリップボードにコピーされました!
キーストアを Data Grid Server に追加し、その ID をクライアントに対して検証する SSL/TLS 証明書を提示します。セキュリティーレルムに TLS/SSL アイデンティティーが含まれる場合は、そのセキュリティーレルムを使用する Data Grid Server エンドポイントへの接続を暗号化します。
前提条件
- Data Grid Server の証明書または証明書チェーンが含まれるキーストアを作成します。
Data Grid Server は、JKS、JCEKS、PKCS12、BKS、BCFKS、および UBER のキーストア形式をサポートします。
実稼働環境では、サーバー証明書は Root または Intermediate CA のいずれかの信頼される認証局によって署名される必要があります。
手順
-
Data Grid Server の SSL/TLS アイデンティティーが含まれるキーストアを
$RHDG_HOME/server/confディレクトリーに追加します。 -
server-identities定義を Data Grid Server セキュリティーレルムに追加します。 -
path属性でキーストアファイル名を指定します。 -
キーストアパスワードと証明書エイリアスに
keystore-passwordおよびalias属性を指定します。
Data Grid Server キーストアの設定
<security xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:infinispan:server:12.1 https://infinispan.org/schemas/infinispan-server-12.1.xsd"
xmlns="urn:infinispan:server:12.1">
<security-realms>
<security-realm name="default">
<server-identities>
<ssl>
<!-- Adds a keystore that contains server certificates
that provide SSL/TLS identities to clients. -->
<keystore path="server.pfx"
relative-to="infinispan.server.config.path"
keystore-password="secret"
alias="rhdg-server"/>
</ssl>
</server-identities>
</security-realm>
</security-realms>
</security>
次のステップ
クライアントが Data Grid Server の SSL/TLS ID を確認できるように、トラストストアを使用してクライアントを設定します。
5.1.1. キーストアの自動生成 リンクのコピーリンクがクリップボードにコピーされました!
Data Grid サーバーを設定し、起動時にキーストアを自動的に生成します。
自動生成されたキーストア:
- 実稼働環境では使用しないでください。
- 必要に応じて生成されます。たとえば、クライアントから最初の接続を取得する際などに生成されます。
- Hot Rod クライアントで直接使用可能な証明書が含まれます。
手順
-
サーバー設定に
keystore要素のgenerate-self-signed-certificate-host属性を含めます。 - サーバー証明書のホスト名を値として指定します。
生成されたキーストアを持つ SSL サーバーアイデンティティー
<security xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:infinispan:server:12.1 https://infinispan.org/schemas/infinispan-server-12.1.xsd"
xmlns="urn:infinispan:server:12.1">
<security-realms>
<security-realm name="default">
<server-identities>
<ssl>
<!-- Generates a keystore that includes a self-signed certificate with the specified hostname. -->
<keystore path="server.p12"
relative-to="infinispan.server.config.path"
keystore-password="secret"
alias="server"
generate-self-signed-certificate-host="localhost"/>
</ssl>
</server-identities>
</security-realm>
</security-realms>
</security>
5.1.2. TLS バージョンおよび暗号スイートの設定 リンクのコピーリンクがクリップボードにコピーされました!
SSL/TLS 暗号化を使用してデプロイメントのセキュリティーを保護する場合は、特定のバージョンの TLS プロトコルと、プロトコル内の特定の暗号スイートを使用するように Data Grid Server を設定できます。
手順
-
engine要素を Data Grid Server の SSL 設定に追加します。 enabled-protocols属性を持つ 1 つ以上の TLS バージョンを使用するように Data Grid を設定します。Data Grid Server は、デフォルトで TLS バージョン 1.2 および 1.3 をサポートします。該当する場合は、クライアント接続のセキュリティープロトコルを制限するために、
TLSv1.3のみを設定できます。Data Grid は、TLSv1.1の有効化を推奨していません。これは、サポートが制限された古いプロトコルで、セキュリティー保護が弱いからです。1.1 より古いバージョンの TLS を有効にすることはできません。警告Data Grid Server の SSL
engine設定を変更する場合は、enabled-protocols属性を使用して TLS バージョンを明示的に設定する必要があります。enabled-protocols属性を省略すると、すべての TLS バージョンが許可されます。<engine enabled-protocols="TLSv1.3 TLSv1.2" />enabled-ciphersuites属性で 1 つ以上の暗号スイートを使用するように Data Grid を設定します。使用する予定のプロトコル機能 (例:
HTTP/2 ALPN) をサポートする暗号スイートを設定していることを確認する必要があります。
SSL エンジンの設定
<security xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:infinispan:server:12.1
https://infinispan.org/schemas/infinispan-server-12.1.xsd"
xmlns="urn:infinispan:server:12.1">
<security-realms>
<security-realm name="default">
<server-identities>
<ssl>
<keystore path="server.p12"
relative-to="infinispan.server.config.path"
keystore-password="secret" alias="server"/>
<!-- Configures Data Grid Server to use specific TLS versions and cipher suites. -->
<engine enabled-protocols="TLSv1.3"
enabled-ciphersuites="TLS_AES_256_GCM_SHA384 TLS_AES_128_GCM_SHA256 TLS_AES_128_CCM_8_SHA256"/>
</ssl>
</server-identities>
</security-realm>
</security-realms>
</security>