2.8. クラスターセキュリティー
データを保護すると共に、ネットワーク侵入を防ぐことは、デプロイメント計画で最も重要な要素です。機密な顧客情報が公開インターネットに漏洩したり、データが侵害され、ハッカーが機密情報を一般に公開できるようになるので、ビジネスの評判に大打撃を与えます。
これを念頭に、ユーザーを認証し、ネットワーク通信を暗号化するには、強固なセキュリティーストラテジーが必要になります。では、Data Grid デプロイメントのパフォーマンスに対する代償は何ですか ?計画時のこれらの考慮事項はどのように調整すればいいですか
認証
ユーザー認証情報の検証時のパフォーマンスに対する影響は、メカニズムとプロトコルによって異なります。Data Grid は、Hot Rod 経由でユーザーごとに認証情報を 1 回検証し、HTTP 経由で全要求を場合によっては検証する場合があります。
SASL メカニズム | HTTP メカニズム | パフォーマンスへの影響 |
---|---|---|
|
|
|
|
|
Hot Rod および HTTP 要求の両方の場合には、
Hot Rod エンドポイントの場合には、 |
|
| Kerberos サーバー、キー配布センター (KDC) は認証を処理し、ユーザーにトークンを発行します。Data Grid のパフォーマンスは、別のシステムがユーザー認証操作を処理するという利点が得られます。ただし、これらのメカニズムにより、KDC サービス自体のパフォーマンスによっては、ネットワークのボトルネックが生じる可能性があります。 |
|
| Data Grid ユーザーに一時的なアクセストークンを発行するための OAuth 標準を実装するフェデレーションされたアイデンティティープロバイダー。ユーザーは、Data Grid に直接認証するのではなく、アイデンティティーサービスで認証し、アクセストークンを要求ヘッダーとして渡します。認証を直接処理する場合と比較すると、Data Grid がユーザーのアクセストークンを検証する場合のパフォーマンスへの影響が少なくなります。KDC と同様に、実際のパフォーマンスの影響は、アイデンティティープロバイダー自体の QoS(Quality of Service) によって異なります。 |
|
| Data Grid Server にトラストストアを提供し、クライアントが信頼ストアに対して提示する証明書を比較することで、受信接続を認証できるようにします。 トラストストアに、通常は認証局 (CA) である署名証明書のみが含まれる場合 (通常は証明局 (CA))、その CA が署名した証明書を提示するクライアントは Data Grid に接続できます。これによりセキュリティーが低下し、MITM 攻撃に対して脆弱になりますが、クライアントごとに公開証明書を認証するよりも高速です。 トラストストアに、署名証明書に加えてすべてのクライアント証明書が含まれる場合には、トラストストアに存在する署名済み証明書を提示するクライアントのみが Data Grid に接続できます。この場合、Data Grid は、証明書が署名されていることを検証せずに、クライアントが提示する証明書の共通の Common Name (CN) をトラストストアと比較し、より多くのオーバーヘッドを追加します。 |
暗号化
クラスタートランスポートを暗号化すると、ノード間でデータを渡して、MITM 攻撃から Data Grid デプロイメントを保護するので、データのセキュリティーを確保できます。ノードは、クラスターに参加する際に TLS/SSL ハンドシェイクを実行し、パフォーマンスが大幅に低下し、追加のラウンドトリップのレイテンシーが増加します。ただし、各ノードが接続を確立すると、接続がアイドル状態にならないことを想定して、そのままずっと接続を確保します。
リモートキャッシュの場合、Data Grid Server はクライアントとのネットワーク通信を暗号化することもできます。パフォーマンス上の観点では、クライアントとリモートキャッシュ間の TLS/SSL 接続の影響は同じです。セキュアな接続の交渉に時間がかかり、追加の作業が必要になりますが、接続が確立されると、暗号化からのレイテンシーが原因で Data Grid のパフォーマンス影響を与えることはありません。
TLSv1.3 を使用する以外に、暗号化を使用した時のパフォーマンスの低下を緩和する方法として唯一、Data Grid を実行する JVM を設定することができます。たとえば、標準の Java 暗号化の代わりに OpenSSL ライブラリーを使用する場合は、結果として最大 20% 早くなり、より効率的に処理できます。
認可
ロールベースアクセス制御 (RBAC) により、データに対する操作を制限でき、追加のセキュリティーをデプロイメントに提供します。RBAC は、Data Grid クラスター全体に分散されたデータに、最小限のユーザーアクセス権限を指定するポリシーを実装するのに最適な方法です。Data Grid ユーザーは、キャッシュからデータの読み取り、作成、変更、または削除を行うのに十分なレベルの権限が必要です。
別のセキュリティーレイヤーを追加してデータを保護すると、常にパフォーマンスが低下します。Data Grid は、ユーザーによるデータの操作を許可する前にアクセス制御リスト (ACL) で各操作を検証するので、認可の操作ではレイテンシーが長くなります。ただし、認可によるパフォーマンスへの影響は、暗号化よりもはるかに低いため、通常、利点で欠点が補填されます。