アプリにおける NXAPI に対して NDB サーバーと NDB スイッチの間での TLS 自己署名証明書の生成
このセクションでは、アプリ展開で NDB サーバーと NDB スイッチの間で TLS 自己署名証明書を生成する方法について説明します。TLS を有効にするには、スイッチごとに証明書とキーを生成する必要があります。NDBswitch と NDB サーバー間の TLS 通信は、ポート 443 のみを使用します。
NDB サーバーと NXAPI の NDB スイッチの間で TLS 自己署名証明書を生成するには、次の手順を実行します。
(注) |
TLS を構成した後でポート 80 を使用して、通信するためのコントローラを構成できません。 |
自己署名証明書とキーの生成
この手順で、自己署名証明書を生成します。
始める前に
スイッチの完全修飾ドメイン名(FQDN)として機能する各 NDB スイッチに対して ip domain-name コマンドを使用して、スイッチにドメイン名が構成されていることを確認してください。次に例を示します。
conf t
ip domain-name cisco.com hostname N9k-117
end
スイッチの FQDN は、N9K-117.cisco.com に対して構成されます。
手順
ステップ 1 |
ルート ユーザーとしてアプリ コンテナの 1 つにログインします。 ND/ APIC コンテナにログインするためには、Cisco Nexus Dashboard のコンテナへのログイン または Cisco APIC のコンテナへのログイン を参照してください。 |
||
ステップ 2 |
openssl req コマンドを使用して、秘密キーと自己署名証明書を生成します。 このコマンドは、証明書ファイル(sw1-ca.pem)と秘密キー(sw1-ca.key)を作成します。
|
||
ステップ 3 |
scp コマンドを使用して、証明書ファイル、sw1-ca.pem とキーファイル、sw1-ca.key をスイッチにコピーします。 例:
|
||
ステップ 4 |
cat コマンドを使用して、sw1-ca.pem ファイルの内容を取得します。同じ内容をコピーします。 他のすべてのコンテナーに同じ名前のファイルを作成し、コピーした内容を vi エディタを使用してそのファイルに貼り付け、変更したファイルを保存します。同じ手順を実行して、 |
||
ステップ 5 |
証明書ファイル、sw1-ca.pem、およびキーファイル、sw1-ca.key を nxapi コマンドを使用してスイッチで構成します。 例:
|
||
ステップ 6 |
nxapi certificate コマンドを使用して、スイッチで自己署名証明書を有効にします。 例:
|
||
ステップ 7 |
アプリのコンテナーに root ユーザーとしてログインします。 |
||
ステップ 8 |
copy コマンドを使用して、sw1-ca.key および sw1-ca.pem ファイルをコピーし、.PEM 形式に変換します。 例:
|
||
ステップ 9 |
cat コマンドを使用して、秘密キーと証明書ファイルを連結します。 例:
|
||
ステップ 10 |
openssl コマンドを使用して、.pem ファイルを .p12 ファイル形式に変換します。パスワードで保護された.p12 証明書ファイルを作成するように求められたら、エクスポート パスワードを入力します。 例:
|
||
ステップ 11 |
keytool コマンドを使用して、sw1-ndb.p12 をパスワードで保護された Java KeyStore (tlsKeyStore) ファイルに変換します。インストールされている java ディレクトリの 例:
|
||
ステップ 12 |
keytool コマンドを使用して、java tlsKeyStore のコンテンツを一覧表示して確認します。 例:
|
TLS トラストストア ファイルの作成
トラストストアは、1 つ以上のスイッチに対して生成される自己署名証明書から作成されます。コントローラでは 1 つ以上のスイッチに対して証明書を保持します。このセクションでは、自己署名証明書とキーの生成セクションで作成した自己署名証明書を使用してトラストストアを作成する方法について説明します。コントローラーに複数のスイッチがある場合、各スイッチには個別の証明書ファイル(たとえば、sw1-ndb-cert.pem、sw2-ndb-cert.pem)があります。
TLS トラストストア ファイルを生成するには、次の手順を使用します。
(注) |
すべてのアプリ コンテナーでこの手順を実行します。 |
手順
ステップ 1 |
ルートユーザーとしてアプリ コンテナにログインします。 ND/ APIC コンテナにログインするためには、Cisco Nexus Dashboard のコンテナへのログイン または Cisco APIC のコンテナへのログイン を参照してください。 |
ステップ 2 |
keytool コマンドを使用して、sw1-ndb-cert.pem などの証明書ファイルを Java トラストストア(tlsTrustStore)ファイルに変換します。指示メッセージが表示されたときにパスワードを入力して、パスワード保護された Java TrustStore(tlsTrustStore)ファイルを作成します。パスワードは少なくとも 6 文字でなければなりません。Java ディレクトリにインストールされている jre/bin を使用します。 例:
NDB コントローラが複数のスイッチを管理する場合、すべてのスイッチに対してこの手順を繰り返して、同じ TrustStore にすべてのスイッチを追加してください。次に例を示します。
|
ステップ 3 |
keytool コマンドを使用して同じ tlsTrustStore の複数のスイッチに対するキーをリストし、検証します。 例:
|
TLS での Nexus Dashboard Data Broker の起動
TLS を使用して Nexus Dashboard Data Broker を起動するには、この手順を使用します。
手順
ステップ 1 |
ルートユーザーとしてアプリ コンテナにログインします。 ND/ APIC コンテナにログインするためには、Cisco Nexus Dashboard のコンテナへのログイン または Cisco APIC のコンテナへのログイン を参照してください。 |
||
ステップ 2 |
作成した tlsKeystore および tlsTruststore ファイルをデータ ブローカーの構成フォルダーにコピーします。 例:
|
||
ステップ 3 |
ホスト上のアプリ タイルからアプリを再起動します。 |
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 |
ルート ユーザーとしてアプリ コンテナにログインします。 ND/ APIC コンテナにログインするためには、Cisco Nexus Dashboard のコンテナへのログイン または Cisco APIC のコンテナへのログイン を参照してください。 |
||
ステップ 2 |
例: |
||
ステップ 3 |
ndb config-keystore-passwords コマンドを使用して、TLS キーストアとトラストストアのパスワードを構成します。 例:
このコマンドでパスワードの入力を求められたら、admin と入力します。
TLS が Nexus Dashboard Data Broker で有効になった後で、Nexus Dashboard Data Broker サーバーと Nexus Dashboard Data Broker スイッチの間のすべての接続が ポート 443 を使用して確立されます。ポート 443 を使用するように Nexus Dashboard Data Broker のデバイス接続を変更してください。 これらの手順を正常に完了したら、ポート 443 を使用してコントローラにネクサス スイッチを追加できます。スイッチの FQDN を使用して、Nexus Dashboard Data Broker コントローラにデバイスを追加します。スイッチの WebUI サンドボックス分析を使用して、証明書情報を検証します。 |