はじめに
このドキュメントでは、Cisco Telemetry Broker(CTB)ManagerノードのサーバID証明書(SA)を置き換える方法について説明します。
前提条件
要件
次の項目に関する知識があることが推奨されます。
- Cisco Telemetry Brokerアプライアンス管理
- x509証明書
使用するコンポーネント
このドキュメントで使用するアプライアンスは、バージョン2.0.1を実行しています
- Cisco Telemetry Broker Managerノード
- Cisco Telemetry Brokerブローカーノード
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
設定
証明書の要件
Cisco Telemetry Broker Managerで使用されるx509証明書は、次の要件を満たす必要があります。
- 証明書と秘密キーは一致するペアでなければなりません
- 証明書と秘密キーはPEMでエンコードする必要があります
- 秘密キーはパスフレーズで保護しないでください
証明書と秘密キーがペアで一致していることを確認する
CTB Managerにadminユーザとしてログインします。
「 sudo openssl req -in server.csr -pubkey -noout -outform pem | sha256sum
コマンドは、証明書署名要求(CSR)ファイルから公開キーのSHA-256チェックサムを出力します。
「 sudo openssl pkey -in server.key -pubout -outform pem | sha256sum
コマンドは、秘密キーファイルから公開キーのSHA-256チェックサムを出力します。
「 sudo openssl x509 -in server.crt -pubkey -noout -outform pem | sha256sum
コマンドは、発行された証明書ファイルから公開キーのSHA-256チェックサムを出力します。
証明書と秘密キーの出力が一致している必要があります。証明書署名要求(CSR)が使用されていない場合、server.crtファイルは存在しません。
admin@ctb-manager:~$ sudo openssl req -in server.csr -pubkey -noout -outform pem | sha256sum
3e8e6b0d397ada1be7e89be21eb555c9527741460074385730d524c60e3ae315 -
admin@ctb-manager:~$
admin@ctb-manager:~$ sudo openssl pkey -in server.key -pubout -outform pem | sha256sum
3e8e6b0d397ada1be7e89be21eb555c9527741460074385730d524c60e3ae315 -
admin@ctb-manager:~$ sudo openssl x509 -in server.crt -pubkey -noout -outform pem | sha256sum
3e8e6b0d397ada1be7e89be21eb555c9527741460074385730d524c60e3ae315 -
秘密キーがパスフレーズで保護されていないことを確認する
CTB Managerにadminユーザとしてログインします。を実行します。 ssh-keygen -yf server.key
コマンドを使用して、アップグレードを実行します。
秘密鍵が必要ない場合、パスフレーズは要求されません。
admin@ctb-manager:~$ ssh-keygen -yf server.key
ssh-rsa {removed for brevity}
admin@ctb-manager:~$
証明書と秘密キーがPEMでエンコードされていることの確認
注:これらの検証は、証明書をインストールする前に実行できます。
CTB Managerにadminユーザとしてログインします。
次のコマンドを使用して、server.crtファイルの内容を表示します。 sudo cat server.crt
コマンドを使用して、アップグレードを実行します。証明書ファイル名に合わせてコマンドを調整します。
admin@ctb-manager:~$ sudo cat server.crt
-----BEGIN CERTIFICATE-----
{removed_for_brevity}
-----END CERTIFICATE-----
admin@ctb-manager:~$
次のコマンドを使用して、server.keyファイルを sudo cat server.key
コマンドを使用して、アップグレードを実行します。秘密キーのファイル名に合わせてコマンドを調整します。
admin@ctb-manager:~$ sudo cat server.key
-----BEGIN PRIVATE KEY-----
{removed_for_brevity}
-----END PRIVATE KEY-----
admin@ctb-manager:~$
自己署名証明書
自己署名証明書の生成
- インストール時に設定したユーザとして、SSH(セキュアシェル)を介してCTBマネージャにログインします。通常、このユーザは「admin」ユーザです。
-
sudo openssl req -x509 -newkey rsa:{key_len} -nodes -keyout key.pem -out cert.pem -sha256 -days 3650 -subj /CN={ctb_manager_ip}
コマンドを使用して、アップグレードを実行します。
- 次のコマンドを使用して、cert.pemファイルを表示します。
cat cert.pem
コマンドを実行し、バッファに内容をコピーして、選択したテキストエディタにローカルワークステーションに貼り付けることができるようにします。ファイルを保存します。これらのファイルは、 /home/admin
ディレクトリ。
admin@ctb-manager:~$ cat cert.pem
-----BEGIN CERTIFICATE-----
{removed_for_brevity}
-----END CERTIFICATE-----
admin@ctb-manager:~$
- 次のコマンドでkey.pemファイルを表示します。
sudo cat key.pem
コマンドを実行し、バッファに内容をコピーして、選択したテキストエディタにローカルワークステーションに貼り付けることができるようにします。ファイルを保存します。このファイルをSCP経由で /home/admin
ディレクトリ。
admin@ctb-manager:~$ sudo cat key.pem
-----BEGIN PRIVATE KEY-----
{removed_for_brevity}
-----END PRIVATE KEY-----
admin@ctb-manager:~$
自己署名証明書のアップロード
認証局(CA)が発行した証明書
証明機関が発行する証明書署名要求(CSR)を生成する
- インストール時に設定したユーザとして、SSH(セキュアシェル)を介してCTBマネージャにログインします。通常、このユーザは「admin」ユーザです。
-
openssl req -new -newkey rsa:{key_len} -nodes -addext "subjectAltName = DNS:{ctb_manager_dns_name},IP:{ctb_manager_ip}" -keyout server.key -out server.csr
コマンドを使用して、アップグレードを実行します。最後の2行の「extra」属性は、必要に応じて空白にしておくことができます。
- 変更:
{ctb_manager_dns_name}
CTBマネージャノードのDNS名を使用
- 変更:
{ctb_manager_ip}
CTBマネージャノードのIPを使用
- 変更:
{key_len}
2048、4096、8192などの任意の秘密キー長を使用します。
admin@ctb-manager:~$ openssl req -new -newkey rsa:4096 -nodes -addext "subjectAltName = DNS:ctb-manager,IP:10.209.35.152" -keyout server.key -out server.csr
Generating a RSA private key
......................++++
....................................++++
writing new private key to 'server.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:US
State or Province Name (full name) [Some-State]:North Carolina
Locality Name (eg, city) []:RTP
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Cisco Systems Inc
Organizational Unit Name (eg, section) []:TAC
Common Name (e.g. server FQDN or YOUR name) []:ctb-manager
Email Address []:noreply@cisco.com
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
- CSRとキーファイルをローカルマシンにSCPし、CSRをCAに提供します。PEM形式でのCAによるCSRの発行は、このドキュメントの範囲外です。
チェーンを使用した証明書の作成
CAはPEM形式でサーバID証明書を発行します。CTBマネージャノードのすべてのチェーン証明書とサーバID証明書を含むチェーンファイルを作成する必要があります。
テキストエディタで、前の手順で署名した証明書を組み合わせ、チェーン内のすべての証明書(信頼できるCAを含む)を、次に示す順序でPEM形式の1つのファイルに追加して、ファイルを作成します。
— BEGIN CERTIFICATE —
{CTB Manager Issued Certificate}
— END CERTIFICATE —
— BEGIN CERTIFICATE —
{Issuing Certificate Authority Certificate}
— END CERTIFICATE —
— BEGIN CERTIFICATE —
{Intermediate Certificate Authority Certificate}
— END CERTIFICATE —
— BEGIN CERTIFICATE —
{Root Certificate Authority Certificate}
— END CERTIFICATE —
この新しい証明書ファイルとチェーンファイルの先頭または末尾にスペースと空白行が含まれていないこと、および上記の順序であることを確認します。
認証局が発行した証明書のアップロード
確認
CTBマネージャノードのWebコンソールにログインし、 Settings > TLS Certificate
新しい有効期限などの証明書の詳細を表示したり、ブラウザを使用してシリアル番号などの詳細な情報を表示したりできます。
CTB証明書の詳細
CTBマネージャノードのWeb UIで、CTBブローカノードにアラームが表示されていないことを確認します。
トラブルシュート
チェーン証明書がないなど、証明書が不完全な場合、CTBブローカノードノードはマネージャノードと通信できず、ブローカノードリストの「Status」列に「Not Seen Since」と表示されます。
ブローカーノードは、この状態でトラフィックの複製と分散を続行します。
CTBマネージャノードのCLIにログインし、 sudo grep -ic begin /var/lib/titan/titanium_frontend/ssl/cert.pem
コマンドを発行して、cert.pemファイル内の証明書の数を確認します。
admin@ctb-manager:~$ sudo grep -ic begin /var/lib/titan/titanium_frontend/ssl/cert.pem
[sudo] password for admin:
3 <-- Output
admin@ctb-manager:~$
返される出力値は、チェーン内のCAデバイスの数にCTB Managerを加えた数と等しくなる必要があります。
自己署名証明書を使用している場合は、1の出力が予想されます。
PKIインフラストラクチャが、発行側CAでもある単一のルートCAで構成されている場合は、2の出力が予想されます。
PKIインフラストラクチャがルートCAと発行側CAで構成されている場合、3の出力が予想されます。
PKIインフラストラクチャがルートCA、下位CA、および発行側CAで構成されている場合は、4の出力が予想されます。
次のような別のアプリケーションで証明書を表示したときにリストされるPKIと出力を比較します Microsoft Windows Crypto Shell Extensions
を参照。
PKI インフラストラクチャ
この図では、PKIインフラストラクチャにルートCAと発行側CAが含まれています。
このシナリオでは、コマンドの出力値は3になると想定されています。
出力が期待どおりにならない場合は、「チェーンによる証明書の作成」セクションの手順を確認して、証明書が失われたかどうかを判断します。
で証明書を表示する場合 Microsoft Windows Crypto Shell Extensions
ローカルマシンに証明書を確認するための十分な情報がない場合は、すべての証明書が表示されるとは限りません。
sudo ctb-mayday
コマンドをCLIから実行して、TACが確認できるmaydayバンドルを生成します。