• Facebook
  • Twitter
  • Youtube
  • 裏地付き
  • RSS
  • ドキュメント
  • 比較
  • ブログ
  • ダウンロード
  • お問い合わせ
ダウンロード
目次を表示/非表示

Windows および Linux での SSL/TLS 暗号化の構成

通信を保護したい場合はSSL/TLS暗号化を設定する必要があります。 NCache サーバーとクライアント、特にデータセキュリティが重要な本番環境や分散環境では、TLS証明書を作成または取得し、適切な証明書ストアに配置することから始まります。その後は、証明書の名前と拇印をメモし、提供されたコマンドまたは設定ファイルを使用してTLSを有効にし、すべてのサーバーとクライアントが同じ設定を使用していることを確認して再起動するだけです。 NCache 変更を安全に適用するためのサービス。

お願い

以下の手順に進む前に、キャッシュとクライアントのプロセスが停止していることを確認してください。

証明書の配置に関する考慮事項

Windows と Linux の両方における証明書の配置に関する考慮事項は次のとおりです。

  • Windows
  • Linux

テスト証明書(ルート証明書と中間証明書を含む)をお持ちの場合は、その証明書をローカル マシンの個人証明書と信頼済み​​ルート証明書の両方に追加する必要があります。信頼済みルート証明書と個人証明書が別々にある場合は、個人証明書を個人証明書ストアに、CA ルート証明書を信頼済みルート証明書ストアにそれぞれ個別に追加する必要があります。相互TLSでない場合は、サーバー証明書を設定します。クライアントは、サーバー証明書を発行した認証局を信頼する必要があります。相互TLSの場合は、サーバー証明書とクライアント証明書の両方を設定します。サーバーはクライアント証明書の発行者を信頼し、クライアントはサーバー証明書の発行者を信頼する必要があります。

お願い

NCache は、証明書ストアに保存されている証明書を自動的に利用します。 正しいユーザー アカウントで起動すると、 NCache サービスは、適切な証明書ストアから関連する証明書を自動的に識別して使用します。

お願い

ブリッジ ノードとサーバー ノードからクライアントを実行しない場合、それらのノードにクライアント証明書をインストールする必要はありません。

ルート証明書と個人証明書が別々にある場合は、それぞれ個別に追加する必要があります。

非相互TLSの場合は、サーバー証明書を設定します。相互TLSの場合は、サーバー証明書とクライアント証明書の両方を設定します。クライアントの発行者証明書はサーバーのマシンストアに存在する必要があり、同様に、クライアントもサーバーの発行者証明書をマシンストアに登録する必要があります。

お願い

クライアントとサーバー間の通信で相互TLSが有効になっている場合、 NCache キャッシュサーバーに接続するツールは、設定済みのクライアント証明書を使用する必要があります。

お願い

5.3 SP5以降クライアントとサーバーは異なる証明書を持つことができます。

TLS証明書の選択と認証

サーバーの証明書の選択

Windowsでは、サーバーが起動すると、レジストリから構成済みの証明書のサムプリントを読み取ります。次に、ローカルマシンと現在のユーザーの信頼済みルートストア、続いてローカルマシンと現在のユーザーの個人ストアを確認します。サーバーは、最初に見つかった一致する証明書を選択します。その後、サーバーはこの選択された証明書のサムプリントを読み取り、クライアントと共有することで、安全な通信を実現します。

Linux では、設定された証明書が見つからない場合 My 格納、 NCache また検索します Root(根) 保管してください。

クライアントの証明書の選択

クライアントとサーバー間の通信で相互TLSが有効になっている場合、クライアントは認証のために設定済みのクライアント証明書をサーバーに提示します。

相互TLS認証

相互クライアント・サーバーTLSの場合、クライアントは設定済みの証明書をサーバーに提示します。サーバーは、クライアント証明書を発行した認証局を信頼する必要があります。

相互サーバー間TLS接続の場合、接続するサーバーは有効な証明書を提示する必要があり、各サーバーは他のサーバーが使用する証明書を発行した認証局を信頼する必要があります。

TLS 暗号化を構成する方法

TLS 暗号化を構成するには、以下を参照してください。

  • Windows
  • Linux

Windows マシンに TLS 証明書をインストールするには、次の手順に従う必要があります。

ステップ1 - マシンログイン: マシンにログインします。
ステップ 2 - 自己署名証明書を作成する: 作成(自己署名証明書は、 Microsoft WCF 証明書ドキュメント) するか、エクスポート可能な秘密キーを含む TLS 証明書を取得します。

重要
  • 証明書は認証局 (CA) によって承認される必要があります。これを構成の一部として反映するには、「基本制約」セクションで以下が指定されていることを確認してください。 件名タイプ=CA に選出しました。 証明書の詳細。同様に、これは次の方法で実現できます。 -TextExtension 値を持つ属性 @("2.5.29.19={text}CA=true") 次のコマンドを使用して証明書を生成する場合: New-SelfSignedCertificate.
  • 自己生成した証明書を使用することはお勧めしません。 製造 環境によっては使用できない場合もあります。ただし、テスト環境では使用できます。

ステップ3 - 証明書のインポート: 適切なマシンに証明書をインポートします。 Microsoft 証明書のインストール ガイド.

ステップ 4 - Microsoft 管理コンソールを開きます。 メディア掲載 勝利+ R、タイプ MMC、プレス Enter.

Microsoft 管理コンソール (MMC) ウィンドウにスナップインの追加と削除ダイアログが表示されている

ステップ5 - 証明書の選択: Microsoft管理コンソール(MMC)では、 File メニューは、クリック スナップインの追加または削除。 選択する 証明書 利用可能なスナップインのリストから選択し、 追加

利用可能なスナップインのリストから証明書を選択する

ステップ6 - アカウントを選択: からアカウントの種類を選択します 私のユーザーアカウント, サービスアカウント, コンピューターアカウント. あなたは選ぶことができます 私のユーザーアカウント または、証明書を配置した場所に基づいてローカル マシンにアクセスします。

ユーザーアカウント、サービスアカウント、コンピューターアカウントからアカウントの種類を選択します。

ステップ 7 - 証明書を見つける: の左側のペインで、 MMC、展開する 証明書 ナビゲートします 現在のユーザー > 個人 > 証明書 リストされている TLS 証明書を見つけます。 クライアント認証 として 意図された目的 ダブルクリックします。証明書の配置については、 証明書の配置に関する考慮事項.

目的としてクライアント認証が記載されているTLS証明書を見つけます。

設定済みのユーザーアカウントに権限を付与する必要があることに注意してください(マシンの管理者以外証明書の秘密鍵にアクセスするため。

  • 証明書を右クリックして、以下を選択します。 すべてのタスク -> 秘密鍵の管理

gMSA証明書の権限

  • 権限ウィンドウで、 加えます 追加をクリックして必要なユーザーアカウントを付与します 読み取り権限「適用」をクリックしてください。

gMSAパーミッションプライベートキー

お願い

設定したユーザーアカウントに証明書の秘密鍵にアクセスする権限がない場合、 NCache クライアントがセキュア通信の初期化中に証明書を取得できず、TLSハンドシェイクの失敗と実行時例外が発生します。

ステップ8 - 拇印を取得する: 証明書ダイアログボックスで、 Details タブで見つける 拇印それをクリックして、ボックスから16進数文字をコピーします。証明書のサムプリントにコロン(:)や余分なスペースがある場合は削除します。サムプリントは次の手順で必要になるため、保存してください。

指紋を取得する

ステップ9 - 証明書名をコピーします。 同様にコピーします 証明書名 (CN) をクリックすると 件名 プロパティを設定し、その後に続くもののみをコピーする CN = この場合は「Example」です。証明書名は次の手順で必要になるため、保存しておいてください。

CNの後にある証明書名をコピーして保存します

ステップ 10 - サービスが実行されていることを確認します。 あなたが NCache サービスは、証明書のインポートに使用されたのと同じユーザーで実行されています。

ステップ11 - TLSセキュリティを有効にする: TLSセキュリティを有効にするには、次のPowerShellコマンドレットを使用します。 有効にする-NCacheTLS コマンドを実行する際は、手順 8 と 9 で保存したサーバーの証明書名と拇印を必ず指定してください。同様に、上記の手順に従ってクライアント証明書を追加できます。

その Enable-NCacheTLS コマンドレットは、 NCache マシンにインストールされています。クライアントマシンでは NCache インストールされていない場合は、TLS を手動で設定してください。 tls.ncconf 付属のファイル NCache NuGetパッケージ.

以下の例は、クライアントとサーバー間、およびサーバーとサーバー間の通信の両方でTLSを有効にする方法を示しています。

非相互TLSの設定

非相互TLSは、接続するクライアントまたはサーバーがクライアント証明書を提示する必要なく、クライアントとサーバー間およびサーバー間の通信を暗号化します。

Enable-NCacheTLS -Node "20.200.20.39,20.200.20.40" -ServerCertificateCN "Example" `
                 -ServerCertificateThumbprint "596846ab6bdd9edb03cdfbdfa1aa7b0b05e744a6" `
                 -ServerToServerCommunication -ClientServerCommunication

通常のTLSの場合(相互TLSなし) tls.ncconf 以下のタグが含まれています。

<tls-info>
 <server-certificate-cn>certificate-name</server-certificate-cn>
 <server-certificate-thumbprint>your-thumbprint</server-certificate-thumbprint>
 <client-certificate-cn></client-certificate-cn>
 <client-certificate-thumbprint></client-certificate-thumbprint>
 <enable>true</enable>
 <enable-client-server-tls>true</enable-client-server-tls>
 <enable-server-to-server-tls>true</enable-server-to-server-tls>
 <use-mutual-tls-for-client-to-server>false</use-mutual-tls-for-client-to-server>
 <use-mutual-tls-for-server-to-server>false</use-mutual-tls-for-server-to-server>
 <protocol-version>tls12</protocol-version>
</tls-info>

相互TLSの設定

相互TLSでは、サーバー証明書とクライアント証明書の両方が必要です。各側は、相手側が提示した証明書を認証します。

Enable-NCacheTLS -Node "20.200.20.39,20.200.20.40" -ServerCertificateCN "Example" `
                 -ServerCertificateThumbprint "596846ab6bdd9edb03cdfbdfa1aa7b0b05e744a6" `
                 -ClientCertificateCN "MyClientCert" `
                 -ClientCertificateThumbprint "1234567890EFGHIJKL" `
                 -ServerToServerCommunication -ClientServerCommunication `
                 -UseMutualTLSForClientToServer True -UseMutualTLSForServerToServer True

相互TLSの場合、 tls.ncconf 以下のタグが含まれています。

<tls-info>
 <server-certificate-cn>certificate-name</server-certificate-cn>
 <server-certificate-thumbprint>your-thumbprint</server-certificate-thumbprint>
 <client-certificate-cn>certificate-name</client-certificate-cn>
 <client-certificate-thumbprint>your-thumbprint</client-certificate-thumbprint>
 <enable>true</enable>
 <enable-client-server-tls>true</enable-client-server-tls>
 <enable-server-to-server-tls>true</enable-server-to-server-tls>
 <use-mutual-tls-for-client-to-server>true</use-mutual-tls-for-client-to-server>
 <use-mutual-tls-for-server-to-server>true</use-mutual-tls-for-server-to-server>
 <protocol-version>tls12</protocol-version>
</tls-info>

さまざまなシナリオでTLSを有効にする例については、以下を参照してください。 有効にする-NCacheTLS ページで見やすくするために変数を解析したりすることができます。

お願い

Status ProtocolVersion 上記のコマンドでパラメータが指定されていない場合、デフォルトのプロトコルが使用されます。 TLS 1.2.

重要

クラスターの接続性と均一性を確保するために、すべてのサーバー ノードとクライアント ノードで構成値が一貫していることを確認してください。

ステップ12 - サービスとプロセスを再起動します。 必要なプロパティを設定したら、キャッシュ、クライアント プロセス、および NCache サービス。 ことを確認してください。 NCache サービスは、証明書のインポートに使用されたのと同じユーザーで実行されています。

Linux マシンに TLS 証明書をインストールするには、次の手順に従う必要があります。 次の手順は Ubuntu を使用して実行されますが、Fedora、Red Hat などを使用する場合は異なる場合があることに注意してください。

ステップ1 - マシンログイン: マシンにログインします。
ステップ 2 - 自己署名証明書を作成する: 作成(自己署名証明書は、 OpenSSLドキュメント) するか、エクスポート可能な秘密キーを含む TLS 証明書を取得します。
これを行うには、次のコマンドを実行します。 自己署名証明書を作成する OpenSSL を使用する場合:

openssl req -new -x509 -days 365 -keyout ncachetest-private-key.pem -out ncachetest-certificate.crt -addext "basicConstraints=critical,CA:TRUE"

これにより、ncachetest-private-key.pem (秘密鍵) と ncachetest-certificate.crt (証明書) の 2 つのファイルが作成されます。

重要
  • 証明書には 基本的な制約 拡張機能は次のように設定されています CA:TRUEを選択します。 -addext "basicConstraints=critical,CA:TRUE" 引数は、Windows の Linux/OpenSSL 相当のものを適用します。 CA=true 証明書のプロパティ。
  • 自己生成した証明書を使用することはお勧めしません。 製造 環境によっては使用できない場合もあります。ただし、テスト環境では使用できます。

ステップ3 - pfxファイルを作成する: TLS を使用するには NCache、 あなたには必要だ .PFX ファイル。すでにお持ちの場合は、 .crt (NAIST) と .PEM ファイル、その方法は次のとおりです pfxファイルを作成する:

openssl pkcs12 -export -out ncachetest-certificate.pfx -inkey ncachetest-private-key.pem -in ncachetest-certificate.crt

ステップ4 - 拇印と証明書名を取得します。 ゲット 拇印/指紋 (NAIST) と 証明書名 以下のコマンドを実行し、証明書のサムプリントにコロン(:)や余分なスペースがある場合は削除してください。証明書名とサムプリントは、次の手順で必要になるため、両方とも保存しておいてください。

openssl x509 -noout -in ncachetest-certificate.crt -fingerprint -subject | sed 's/://g'

ステップ5 - サーバーマシンに信頼済み証明書をインストールする: クライアント・サーバー間またはサーバー・サーバー間の通信で相互TLSが有効になっている場合、各サーバーは、接続元のクライアントまたはサーバーが提示する証明書を発行した認証局を信頼する必要があります。対応するルートCA証明書をシステム信頼ストアに次のようにインストールしてください。

  • システム全体に適用する必要がある証明書を保存するディレクトリを作成します。 例えば:
sudo mkdir -p /usr/local/share/ca-certificates/
  • この新しく作成されたディレクトリに証明書をコピーします。
sudo cp ncachetest-certificate.crt /usr/local/share/ca-certificates/
  • 次のコマンドを使用して、システムの証明書ストアを更新します。
sudo update-ca-certificates

ステップ 6 - 証明書を展開する: install-pfxcertificate PowerShell コマンドレットを使用して PFX 証明書をインポートします NCache 証明書ストア。Linux で PowerShell を起動します。 ncache ユーザー、またはそれを実行するユーザーアカウントの下で NCache サービスを起動してから、コマンドレットを実行します。

デフォルトでは、このコマンドレットは証明書を Root(根) お店:

install-pfxcertificate -filepath "/home/ncache/ncachetest-certificate.pfx" -password "pass123"

証明書をインストールするには My ストア、指定 -StoreName My パラメータ を使用します。

install-pfxcertificate -filepath "/home/ncache/ncachetest-certificate.pfx" -password "pass123" -StoreName My
お願い

install-pfxcertificate あります NCache PowerShell コマンドレットは、 NCache インストールされています。 と同じユーザーアカウントで実行してください。 NCache サービスが実行されることで、インストールされた証明書にアクセスできるようになります。

ステップ7 - TLSセキュリティを有効にする:

  • PowerShell コマンドレットの使用: 以下を使用してください PowerShellコマンドレット TLS セキュリティを有効にします。ここで使用されるプロパティの詳細については、以下で説明する証明書要素を参照してください。実行すると、 enable-ncachetls コマンドを実行する際は、証明書のインストール時に手順 4 で保存したクライアントとサーバーのそれぞれの証明書名と拇印を必ず指定してください。
重要

その enable-ncachetls コマンドは以下とともにインストールされます NCache それ以外の場合は利用できません。クライアント マシンに NCache インストール済みの場合、TLS を手動で有効にする必要があります。 tls.ncconf ファイルは以下から入手可能です NCache NuGetおよびMavenパッケージ。

以下の例は、クライアントとサーバー間、およびサーバーとサーバー間の通信の両方でTLSを有効にする方法を示しています。

非相互TLSの設定

非相互TLSは、接続するクライアントまたはサーバーがクライアント証明書を提示する必要なく、クライアントとサーバー間およびサーバー間の通信を暗号化します。

次のPowerShellコマンドを使用する場合 NCache インストールされています:

enable-ncachetls -node "20.200.20.39,20.200.20.40" -servercertificatecn "Example" `
                 -servercertificatethumbprint "596846ab6bdd9edb03cdfbdfa1aa7b0b05e744a6" `
                 -servertoservercommunication -clientservercommunication

それ以外の場合は、以下を使用してください。 tls.ncconf 構成:

<tls-info>
  <server-certificate-cn>certificate-name</server-certificate-cn>
  <server-certificate-thumbprint>your-thumbprint</server-certificate-thumbprint>
  <client-certificate-cn></client-certificate-cn>
  <client-certificate-thumbprint></client-certificate-thumbprint>
  <enable>true</enable>
  <enable-client-server-tls>true</enable-client-server-tls>
  <enable-server-to-server-tls>true</enable-server-to-server-tls>
  <use-mutual-tls-for-client-to-server>false</use-mutual-tls-for-client-to-server>
  <use-mutual-tls-for-server-to-server>false</use-mutual-tls-for-server-to-server>
  <protocol-version>tls12</protocol-version>
</tls-info>

相互TLSの設定

相互TLSでは、サーバー証明書とクライアント証明書の両方が必要です。各側は、相手側が提示した証明書を認証します。

次のPowerShellコマンドを使用する場合 NCache インストールされています:

enable-ncachetls -node "20.200.20.39,20.200.20.40" -servercertificatecn "Example" `
                 -servercertificatethumbprint "596846ab6bdd9edb03cdfbdfa1aa7b0b05e744a6" `
                 -clientcertificatecn "MyClientCert" -clientcertificatethumbprint "1234567890EFGHIJKL" `
                 -servertoservercommunication -clientservercommunication `
                 -usemutualtlsforclienttoserver true -usemutualtlsforservertoserver true

それ以外の場合は、以下を使用してください。 tls.ncconf 構成:

<tls-info>
  <server-certificate-cn>certificate-name</server-certificate-cn>
  <server-certificate-thumbprint>your-thumbprint</server-certificate-thumbprint>
  <client-certificate-cn>certificate-name</client-certificate-cn>
  <client-certificate-thumbprint>your-thumbprint</client-certificate-thumbprint>
  <enable>true</enable>
  <enable-client-server-tls>true</enable-client-server-tls>
  <enable-server-to-server-tls>true</enable-server-to-server-tls>
  <use-mutual-tls-for-client-to-server>true</use-mutual-tls-for-client-to-server>
  <use-mutual-tls-for-server-to-server>true</use-mutual-tls-for-server-to-server>
  <protocol-version>tls12</protocol-version>
</tls-info>

Javaクライアントの場合は、閉じタグの前に以下の要素を追加してください。 </tls-info> 要素。これらの要素は、クライアント証明書とそのパスワードを含む PFX ファイルを指定します。.NET クライアントでは必須ではありません。 NCache インストール済みの証明書を自動的に解決します。

<pfx-path>/path/to/pfx-file</pfx-path>
<pfx-password>pfx-file-password</pfx-password>
お願い

Status ProtocolVersion 上記のコマンドでパラメータが指定されていない場合、デフォルトのプロトコルが使用されます。 TLS 1.2.

重要

クラスターの接続性と均一性を確保するために、すべてのサーバー ノードとクライアント ノードで構成値が一貫していることを確認してください。

ステップ8 - サービスとプロセスを再起動します。 必要なプロパティを設定したら、キャッシュ、クライアント プロセス、および NCache サービス。 ことを確認してください。 NCache サービスは、証明書のインポートに使用されたのと同じユーザーで実行されています。

お願い

証明書を有効にしたら、次のことを確認してください。

  • その NCache サービスは、証明書のインポートに使用されたのと同じユーザーで実行されています。
  • すべてのクライアントアプリケーションは64ビットマシンで実行されます。

TLSを介したクライアント接続の成功を確認する

TLSを介したクライアント接続の成功を確認するために、 テストストレス PowerShell を使用したコマンドレット。次の例では、Test-Stress をキャッシュに対して実行します。 デモキャッシュ.

Test-Stress -CacheName demoCache

これは、Microsoft ネットワーク モニターを使用して確認することもできます。 TLS が有効になっている場合、 プロトコル名 プロセスの PowerShellの このコマンドを実行すると TLS.

お願い

UseMutualTLSForClientToServer, EnableBridgeTLS, EnableClientServerTLS, EnableServerToServerTLS, UseMutualTLSForServerToServer 場合は動作しません Enable はtrueに設定されていません tls.ncconf個別に有効になっているかどうかに関係なく、有効になります。

トラブルシューティング

TLS を介したクライアント接続は、次の理由により失敗する可能性があります。

  • レジストリエントリが欠落している場合、接続が失敗する可能性があります。 すべてのエントリがレジストリに作成されていることを確認してください。
  • Status NCache サービスが証明書のインストールに使用したアカウントとは異なるユーザーアカウントで実行されている場合、サービスが証明書にアクセスできない可能性があります。
  • 設定された証明書のサムプリントが間違っているか、インストールされている証明書と一致しない場合、接続に失敗します。
  • クライアントの信頼されたルートにサーバーの CA がない場合。
  • If UseMutualTLSForClientToServer or UseMutualTLSForServerToServer が true であり、サーバーの信頼されたルートにはクライアントまたは他のサーバーの CA がありません。
  • プロパティの値がクライアント マシンとサーバー マシンで同じでない場合、「復号化操作が失敗しました」というエラーが表示されます。

も参照してください

キャッシュのセキュリティを構成する
キャッシュの暗号化を構成する

お問い合わせ

電話

+1 214-619-2601   (米国)

+44 20 7993 8327   (英国)

 
Eメール

sales@alachisoft.com

support@alachisoft.com

NCache
  • エディションの比較
  • NCache アーキテクチャ
  • ベンチマーク
ダウンロード
価格
遊び場を試してみる

デプロイメント
  • クラウド (SaaS & ソフトウェア)
  • オンプレミス
  • Kubernetes
  • デッカー
技術的なユースケース
  • ASP.NETセッション
  • ASP.NET Core セッション
  • Pub / Subメッセージング
  • リアルタイムASP.NET SignalR
  • インターネットのもの(IoT)
  • NoSQLデータベース
  • ストリーム処理
  • Microservices
資料
  • 雑誌の記事
  • サードパーティの記事
  • 記事
  • 動画
  • ホワイトペーパー
  • 作品
  • トーク
  • ブログ
  • ドキュメント
顧客のケーススタディ
  • お客様の声
  • Customers
サポート
  • デモを予約
  • フォーラム(Googleグループ)
  • ヒント
会社
  • リーダーシップ
  • Partners
  • ニュース
  • イベント
  • Careers
お問い合わせ

  • 英語中国語(簡体字)仏語ドイツ語イタリア語日本語韓国語ポルトガル語スペイン語

  • お問い合わせ
  •  
  • サイトマップ
  •  
  • 利用規約
  •  
  • プライバシーポリシー
©著作権 Alachisoft 2002 - . All rights reserved. NCache はダイヤテック株式会社の登録商標です。
トップに戻る