概要
この記事は、Cisco ACI を使用する際の HTTPS アクセスのカスタム証明書を設定する方法の例を示します。
この製品のドキュメントセットは、偏向のない言語を使用するように配慮されています。このドキュメントセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブ ランゲージの取り組みの詳細は、こちらをご覧ください。
このドキュメントは、米国シスコ発行ドキュメントの参考和訳です。リンク情報につきましては、日本語版掲載時点で、英語版にアップデートがあり、リンク先のページが移動/変更されている場合がありますことをご了承ください。あくまでも参考和訳となりますので、正式な内容については米国サイトのドキュメントを参照ください。
この章は、次の項で構成されています。
この記事は、Cisco ACI を使用する際の HTTPS アクセスのカスタム証明書を設定する方法の例を示します。
Cisco Application Policy Infrastructure Controller(APIC)で証明書署名要求(CSR)を生成するために使用される秘密キーのエクスポートはサポートされていません。証明書の CSR を生成するために使用された秘密キーを共有することにより、「Subject Alternative Name(SAN)」フィールドのワイルドカード(「* cisco.com」など)を介して複数のサーバで同じ証明書を使用する場合は、秘密キーを Cisco Application Centric Infrastructure(ACI)ファブリックの外部に配置し、Cisco ACI ファブリックにインポートします。
証明書署名要求(CSR)を生成する前に、公開中間証明書とルート CA 証明書をダウンロードしてインストールする必要があります。ルート CA 証明書は技術的には CSR を生成するために必要ではありませんが、シスコでは、対象とする CA 機関と CSR への署名に使用される実物の間の不一致を防ぐために、CSR を生成する前にルート CA 証明書が必要です。Cisco APIC は、送信された証明書が設定された CA によって署名されていることを確認します。
更新された証明書の生成に同じ公開キーと秘密キーを使用するには、次のガイドラインを満たす必要があります。
元の CSR にはキー リング内の秘密キーとペアになる公開キーが含まれているため、元の CSR を維持する必要があります。
Cisco APIC で公開キーと秘密キーを再使用する場合は、元の証明書に使用されたものと同じ CSR を更新された証明書に再送信する必要があります。
更新された証明書に同じ公開キーと秘密キーを使用する場合は、元のキー リングを削除しないでください。キー リングを削除すると、CSR で使用されている関連秘密キーが自動的に削除されます。
Cisco ACI マルチサイト、VCPlugin、VRA、および SCVMM は、証明書ベースの認証ではサポートされません。
Cisco APIC クラスタごとに 1つのSSL証明書のみが許可されます。
以降のリリースからリリース 4.0(1) にダウングレードする前に、証明書ベースの認証を無効にする必要があります。
証明書ベースの認証セッションを終了するには、ログアウトして CAC カードを削除する必要があります。
Cisco APIC に設定されたカスタム証明書は、リーフ スイッチとスパイン スイッチに展開されます。ファブリック ノードに接続するために使用される URL または DN が [サブジェクト(Subject)] または [サブジェクト代替名(Subject Alternative Name)] フィールド内にある場合、ファブリック ノードは証明書でカバーされます。
Cisco APIC GUI は、最大サイズが 4k バイトの証明書を受け入れることができます。
HTTPS アクセスに使用している自己署名 SSL 証明書の有効期限が切れると、証明書は自動的に更新されます。
SSL 暗号は、有効化、無効化、または完全に削除できます。必要な暗号設定に応じて、必要な正確な組み合わせを理解する必要があります。暗号が残らない方法で暗号を無効化および有効化することは設定ミスであり、NGINX の検証に失敗します。
NGINX は OpenSSL 暗号リスト形式を使用します。形式については、OpenSSL Web サイトにアクセスしてください。
暗号を有効にすると、その暗号が NGINX 構成ファイルに書き込まれます。暗号を無効にすると、その暗号が NGINX 構成ファイルに前に感嘆符 (!) を付けて書き込まれます。たとえば、「EEDCH」を無効にすると、「!EEDCH」と書き込まれます。暗号を削除すると、その暗号が NGINX 構成ファイルに暗号がまったく書き込まれなくなります。
(注) |
OpenSSL 暗号リスト形式のドキュメントには次のように記載されています。「 (!) が使用されている場合、暗号はリストから完全に削除されます。削除された暗号は、明示的に指定されていても、リストに再び表示されることはありません」これにより、暗号の「有効」状態に関係なく、「無効」に設定された暗号を参照する組み合わせ暗号が削除される可能性があります。 例:「EEDCH」を無効にし、「EECDH+aRSA+SHA384」を有効にします。これにより、次が NGINX 構成ファイルに書き込まれます:「!EEDCH:EECDH+aRSA+SHA384」。「!EEDCH」は、「EECDH+aRSA+SHA384」が追加されないようにします。これにより、暗号が使用されないことで NGINX 検証に失敗するため、NGINX の更新(カスタム HTTPS 証明書の適用など)が成功しなくなります。 |
Cisco Application Policy Infrastructure Controller(APIC)に暗号の変更を加える前に、openssl ciphers -V 'cipher_list'
コマンドを使用して、計画した暗号の組み合わせの結果を検証し、暗号出力が目的の結果と一致することを確認します。
例:
apic# openssl ciphers -V 'EECDH+aRSA+SHA256:EECDH+aRSA+SHA384'
0xC0,0x27 - ECDHE-RSA-AES128-SHA256 TLSv1.2 Kx=ECDH Au=RSA Enc=AES(128) Mac=SHA256
0xC0,0x28 - ECDHE-RSA-AES256-SHA384 TLSv1.2 Kx=ECDH Au=RSA Enc=AES(256) Mac=SHA384
テストした暗号リストがエラーまたは「暗号が一致しません」という結果になった場合は、この設定を Cisco APIC に適用しないでください。これを行うと、Cisco APIC GUI にアクセスできなくなったり、カスタム証明書アプリケーションが壊れたりするなど、NGINX の問題が発生する可能性があります。
例:
apic# openssl ciphers -V '!EECDH:EECDH+aRSA+SHA256:EECDH+aRSA+SHA384'
Error in cipher list
132809172158128:error:1410D0B9:SSL routines:SSL_CTX_set_cipher_list:no cipher match:ssl_lib.c:1383:
注意 |
ダウンタイムの可能性があるため、メンテナンス時間中にのみこのタスクを実行してください。 |
ダウンタイムは外部ユーザまたはシステムからの Cisco Application Policy Infrastructure Controller(APIC)APIC クラスタおよびスイッチへのアクセスには影響しますが、Cisco APIC とスイッチの接続には影響しませスイッチで実行されている NGINX プロセスのため、外部接続にも影響が及びますが、ファブリックのデータ プレーンには影響ありません。Cisco APIC、設定、管理、トラブルシューティングなどへのアクセスは影響を受けることになります。Cisco APIC および スイッチで実行されている NGINX Web サーバーは、この操作中に再起動されます。
適切な認証局を作成できるように、信頼できる証明書を取得する機関を決定します。
ステップ 1 |
メニュー バーで、 の順にクリックします。 |
||
ステップ 2 |
[ナビゲーション(Navigation)] ペインで、[セキュリティ(Security)] を選択します。 |
||
ステップ 3 |
作業ペインで、 の順に選択します。 |
||
ステップ 4 |
[認証局の作成(Create Certificate Authority)] 画面で、[Name(名前)] フィールドに、認証局の名前を入力します。 |
||
ステップ 5 |
(オプション)認証局の [説明(Description)] を入力します。 |
||
ステップ 6 |
[証明書チェーン(Certificate Chain)] フィールドで、Cisco APIC の証明書署名要求(CSR)に署名する認証局の中間証明書とルート証明書をコピーします。 証明書は、Base64 エンコード X.509 CER(Cisco Emergency Responder)フォーマットである必要があります。中間証明書はルート CA 証明書の前に配置されます。次の例のようになります。
|
||
ステップ 7 |
[保存(Save)] をクリックします。 |
||
ステップ 8 |
作業ペインで、 の順に選択します。 キーリングを使用すると、以下を管理できます。
|
||
ステップ 9 |
[Create Key Ring] ダイアログボックスで、[Name] フィールドに、名前を入力します。 |
||
ステップ 10 |
(オプション)キーリングの [説明(Description)] を入力します。 |
||
ステップ 11 |
[認証局(Certificate Authority)] フィールドで、[認証局の選択(Select Certificate Authority)] をクリックし、以前に作成した認証局を選択するか、[認証局の作成(Create Certificate Authority)] を選択します。 |
||
ステップ 12 |
[秘密キー(Private Key)] フィールドで必要なラジオボタンを選択します。
|
||
ステップ 13 |
秘密キーを入力します。このオプションは、[秘密キー(Private Key)]の [既存キーのインポート(Import Existing Key)] オプションを選択した場合にのみ表示されます。 |
||
ステップ 14 |
[秘密キー(Private Key)] フィールドで [新しいキーの生成(Generate New Key)] オプションを選択した場合は、[キー タイプ(Key Type)] で必要なラジオ ボタンを選択します。
|
||
ステップ 15 |
キーリングで Cisco APIC を使用して CSR を生成する場合は、その内容を [証明書(Certificate)] フィールドに追加しないでください。前の手順で Cisco APIC を使用せずに秘密キーおよび CSR を生成していて、CA によって署名された証明書がある場合は、その内容を [証明書(Certificate)] フィールドに追加します。 |
||
ステップ 16 |
暗号に必要なキー強度を選択します。このオプションは、[秘密キー(Secret Key)]で [新しいキーの生成(Generate New Key)] オプションを選択した場合にのみ表示されます。RSA の場合は [モジュラス(Modulus)] ドロップダウン リストで、ECC [キー タイプ(Key Type)] の場合は [ECC カーブ(ECC Curvce)] ラジオ ボタンで選択します。
|
||
ステップ 17 |
[保存(Save)] ( [キーリングの作成(Create Key Ring)] 画面) をクリックします。 |
||
ステップ 18 |
[作業(Work)]ペインで、 を選択します(または、必要なキーリングの行をダブルクリックします)。 署名付き証明書と秘密キーを入力していない場合は、[作業(Work)] ペインの [キーリング(Key Rings)] 領域で、作成されたキーリングの [管理状態(Admin State)] に [開始(Started)] と表示され、CSR が生成されるのを待ちます。手順 19 に進みます。 署名付き証明書と秘密キーの両方を入力した場合は、[キーリング(Key Rings)] 領域に、作成されたキーリングの [管理状態(Admin State)] が [完了(Completed)] と表示されます。手順 22 に進みます。
展開ボタンをクリックすると、新しい画面に選択したキーリングが表示されます。 |
||
ステップ 19 |
[証明書要求(Certificate Request)] ペインで、[証明書要求の作成(Create Certificate Request)] をクリックします。 [証明書要求(Certificate Request)] ウィンドウが表示されます。 |
||
ステップ 20 |
[証明書要求の設定( Certificate Request Settings)] ペインに、上で入力した情報が表示されます(手順 19)。 |
||
ステップ 21 |
[作業(Work)]ペインで、 を選択します(または、必要なキーリングの行をダブルクリックします)。 新しい画面に選択したキーリングが表示されます。
キーが正常に確認されて、[作業(Work)] ペインの [管理状態(Admin State)] が [完了済み(Completed)] に変わり、HTTP ポリシーで使用できるようになります。 |
||
ステップ 22 |
メニュー バーで、 を選択します。 |
||
ステップ 23 |
[ナビゲーション(Navigation)] ペインで、 をクリックします。 |
||
ステップ 24 |
[Work] ペインの [Admin Key Ring] ドロップダウン リストで目的のキー リングを選択します。 |
||
ステップ 25 |
(オプション)証明書ベースの認証では、[Client Certificate TP] ドロップダウン リストで、以前に作成したローカル ユーザ ポリシーを選択し、[Client Certificate Authentication state] の [Enabled] をクリックします。 |
||
ステップ 26 |
[Submit] をクリックします。 |
証明書の失効日には注意し、期限切れになる前に必要な措置を取ってください。更新された証明書に同じキー ペアを保持するには、CSR を保持します。CSR にはキーリング内の秘密キーとペアになる公開キーが含まれています。証明書が期限切れになる前に、同じ CSR を再送信してください。削除したり、新しいキーリングを作成したりしないでください。キーリングを削除すると、 Cisco APICに保存されている秘密キーが削除されます。
証明書ベースの認証を有効にするには、次の手順を実行します。 例:
|