NXAPI に対して NDB サーバーと NDB スイッチの間での TLS 自己署名証明書の生成
このセクションでは、NDB サーバーと NDB スイッチの間で TLS 自己署名証明書を生成する方法について説明します。TLS を有効にするには、スイッチごとに証明書とキーを生成する必要があります。NDB サーバーと NDB スイッチの間で TLS 通信は、ポート 443 のみを使用します。
NDB サーバーと NXAPI の NDB スイッチの間で 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 |
copy コマンドを使用して、証明書ファイル sw1-ca.pem とキー ファイル sw1-ca.key をスイッチにコピーします。 例:
|
||
ステップ 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 トラストストア ファイルの作成
トラストストアは、1 つ以上のスイッチに対して生成された自己署名証明書から作成されます。コントローラ内に 1 つ以上のスイッチの証明書を保持します。このセクションでは、「自己署名証明書とキーの生成」セクションで作成した自己署名証明書を使用してトラストストアを作成する方法について説明します。コントローラに複数のスイッチがある場合、各スイッチには個別の証明書ファイルがあります(たとえば、sw1-ndb-cert.pem、sw2-ndb-cert.pem)。
手順
ステップ 1 |
サーバにログインします。 |
||
ステップ 2 |
keytool コマンドを使用して、証明書ファイル(たとえば、sw1-ndb-cert.pem)を Java トラストストア(tlsTrustStore)ファイルに変換します。パスワードで保護された Java トラストストア(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 キーストアおよびトラストストア ファイルを読み取れるようにするには、TLS キーストアおよびトラストストアのパスワードを構成する必要があります。Nexus Dashboard Data Broker で TLS キーストアとトラストストアのパスワードを構成するには、次の手順を実行します。
手順
ステップ 1 |
Nexus Dashboard Data Broker サーバーにログインします。 |
||
ステップ 2 |
bin ディレクトリに移動します。 例:
|
||
ステップ 3 |
ndb config-keystore-passwords コマンドを使用して、TLS キーストアとトラストストアのパスワードを構成します。 例:
Nexus Dashboard Data Broker が AAA (Tacacs/LDAP/Radius) で構成されており、上記のコマンドで ndb config-keystore-passwords が失敗し、401 未承認エラーが表示された場合:
Nexus Dashboard Data Broker で TLS を有効にすると、Nexus Dashboard Data Broker サーバーと Nexus Dashboard Data Broker スイッチ間のすべての接続がポート 443 を使用して確立されます。ポート 443 を使用するように Nexus Dashboard Data Broker のデバイス接続を変更してください。 これらの手順を正常に完了すると、ポート 443 を使用してコントローラにネクサス スイッチを追加できます。スイッチの FQDN を使用して、デバイスを exus Dashboard Data Broker コントローラに追加します。 スイッチの WebUI Sandbox を使用して証明書情報を確認できます。 |