NDB サーバーと NDB スイッチの間で NXAPI を使用する TLS 自己署名証明書を生成する
このセクションでは、NDB サーバーと NDB スイッチの間で TLS 自己署名証明書を生成する方法について説明します。TLS を有効にするには、スイッチごとに証明書とキーを生成する必要があります。NDB スイッチと NDB サーバー間の TLS 通信では、ポート 443 のみを使用します。
NDB サーバーと NDB スイッチの間で NXAPI を使用する TLS 自己署名証明書を生成するには、次の手順を実行します。
(注) |
TLS を構成した後で、ポート 80 を使用して通信するようにコントローラーを構成することはできません。 |
自己署名証明書とキーの生成
このセクションでは、自己署名証明書とキーを生成する方法について説明します。
始める前に
conf t
ip domain-name cisco.com
hostname N9k-117
end
スイッチの FQDN は N9K-117.cisco.com に設定されています。 手順
ステップ 1 |
サーバにログインします。 |
||
ステップ 2 |
openssl req コマンドを使用して、秘密キーと自己署名証明書を生成します。 例:
|
||
ステップ 3 |
NDB スイッチにログインします。 |
||
ステップ 4 |
証明書ファイル sw1-ca.pem とキー ファイル sw1-ca.key をスイッチにコピーします。copy コマンドを使用します。 例:
|
||
ステップ 5 |
スイッチに証明書ファイル sw1-ca.pem とキーファイル sw1-ca.key を設定します。nxapi コマンドを使用します。 例:
|
||
ステップ 6 |
nxapi certificate コマンドを使用して、スイッチの自己署名証明書を有効にします。 例:
|
||
ステップ 7 |
サーバにログインします。 |
||
ステップ 8 |
copy コマンドを使用して、sw1-ca.key および sw1-ca.pem ファイルをコピーし、.PEM 形式に変換します。 例:
|
||
ステップ 9 |
cat コマンドを使用して、秘密キーと証明書ファイルを連結します。 例:
|
||
ステップ 10 |
openssl コマンドを使用して、.pem ファイルを .p12 ファイル形式に変換します。パスワードで保護された .p12 証明書ファイルを作成するように指示メッセージが表示されたら、エクスポート パスワードを入力します。 例:
|
||
ステップ 11 |
keytool コマンドを使用して、sw1-ndb.p12 をパスワード保護された Java キーストア(tlsKeyStore)ファイルに変換します。インストールされている java ディレクトリの jre/bin を使用します。 例:
|
||
ステップ 12 |
keytool コマンドを使用して、java tlsKeyStore のコンテンツをリストして検証します。 例:
|
次のタスク
TLS TrustStore ファイルの作成
TrustStore は、1 つ以上のスイッチに対して生成された自己署名証明書から作成されます。このファイルはコントローラ内の 1 つ以上のスイッチの証明書を保持します。このセクションでは、自己署名証明書とキーの生成セクションで作成した自己署名証明書を使用して TrustStore を作成する方法について説明します。コントローラに複数のスイッチがある場合、各スイッチには個別の証明書ファイルがあります(たとえば、sw1-ndb-cert.pem、sw2-ndb-cert.pem)。
手順
ステップ 1 |
サーバにログインします。 |
||
ステップ 2 |
keytool コマンドを使用して、証明書ファイル(たとえば、sw1-ndb-cert.pem)を Java TrustStore(tlsTrustStore)ファイルに変換します。パスワードで保護された Java TrustStore(tlsTrustStore)ファイルを作成するためにパスワードを求められたら、入力します。パスワードは 6 文字以上にする必要があります。java ディレクトリにインストールされている jre/bin を使用します。 例:
|
||
ステップ 3 |
keytool コマンドを使用して、同じ tlsTrustStore 内の複数のスイッチのキーを一覧表示して確認します。 例:
|
TLS を使用した NDB の開始
TLS を使用して NDB を開始するには、次の手順を実行します。
手順
ステップ 1 |
NDB サーバーにログインします。 |
||
ステップ 2 |
runndb.sh コマンドを使用して、NDB アプリケーションを停止します(実行中の場合)。 例:
|
||
ステップ 3 |
作成した tlsKeystore および tlsTruststore ファイルを NDB の構成フォルダ(ndb/configuration)にコピーします。 例:
|
||
ステップ 4 |
runndb.sh スクリプトを使用して、TLS で NDB アプリケーションを開始します。 例:
例:デフォルトのユーザー名(admin)とデフォルト以外のパスワード(たとえば、pwd123)で NDB を起動するには:
|
Nexus Dashboard Data Broker での TLS KeyStore と TrustStore パスワードの構成
Nexus Dashboard Data Broker がパスワードで保護された TLS KeyStore と TrustStore のファイルを読み取れるようにするには、TLS KeyStore と TrustStore のパスワードを構成する必要があります。Nexus Dashboard Data Broker で TLS KeyStore と TrustStore のパスワードを構成するには、次の手順を実行します。
手順
ステップ 1 |
Nexus Dashboard Data Broker サーバーにログインします。 |
||
ステップ 2 |
bin ディレクトリに移動します。 例:
|
||
ステップ 3 |
ndb config-keystore-passwords コマンドを使用して、TLS KeyStore と TrustStore のパスワードを構成します。 例:
Nexus Dashboard Data Broker が AAA(Tacacs/LDAP/Radius)で構成されており、上記のコマンドで ndb config-keystore-passwords が失敗し、401 unauthorized エラーが表示された場合:
Nexus Dashboard Data Broker で TLS を有効にすると、Nexus Dashboard Data Broker サーバーと Nexus Dashboard Data Broker スイッチ間のすべての接続がポート 443 を使用して確立されます。ポート 443 を使用するように Nexus Dashboard Data Broker のデバイス接続を変更してください。 これらの手順を正常に完了すると、ポート 443 を使用してコントローラに Nexus スイッチを追加できます。スイッチの FQDN を使用して、デバイスを Nexus Dashboard Data Broker コントローラに追加します。 スイッチの WebUI Sandbox を使用して証明書情報を確認できます。 |