目的

このドキュメントでは、Let's Encrypt証明書を取得し、Cisco Business Dashboardにインストールし、コマンドラインインターフェイス(CLI)を使用して自動更新を設定する方法について説明します。 証明書の管理に関する一般的な情報が必要な場合は、「Cisco Business Dashboardの証明書の管理」を参照してください。

このドキュメントで説明するプロセスは、Cisco Business Dashboardバージョン2.2.2以降で自動化されています。詳細については、『 アドミニストレーションガイド』の「システム」>「証明書の管理」セクションを参照してください。

概要

Encryptは、自動化されたプロセスを使用して、無料のドメイン検証(DV)セキュアソケットレイヤ(SSL)証明書を公開する認証局です。Encryptは、Webサーバの署名済み証明書を取得するための簡単にアクセス可能なメカニズムを提供し、エンドユーザが正しいサービスにアクセスしているという安心感を与えます。詳細については、Let's Encrypt Webサイトを参照してください。

Cisco Business Dashboardで証明書を暗号化する方法は簡単です。Cisco Business Dashboardには、証明書をWebサーバで使用できるようにするだけでなく、証明書のインストールに関する特別な要件もありますが、提供されているコマンドラインツールを使用して、証明書の発行とインストールを自動化することも可能です。このドキュメントの残りの部分では、証明書を発行し、証明書の更新を自動化するプロセスについて説明します。

このドキュメントでは、HTTPの課題を使用してドメインの所有権を検証します。これには、ダッシュボードWebサーバが標準ポートTCP/80およびTCP/443でインターネットから到達可能である必要があります。Webサーバがインターネットから到達可能でない場合は、代わりにDNSチャレンジを使用することを検討してください。詳細については、「Let's Encrypt for Cisco Business Dashboard with DNS」を参照してください。

手順 1

最初のステップは、ACMEプロトコル証明書を使用するソフトウェアを取得することです。この例では、certbotクライアントを使用していますが、他にも多くのオプションがあります。

手順 2

証明書の更新を自動化するには、certbotクライアントをダッシュボードにインストールする必要があります。Dashboardサーバにcertbotクライアントをインストールするには、次のコマンドを使用します。

この記事では、青色のセクションがプロンプトとCLIからの出力であることに注意してください。白いテキストには、コマンドがリストされています。dashboard.example.com、pnpserver.example.com、user@example.comなどの緑色のコマンドは、環境に適したDNS名に置き換える必要があります。

cbd:～$sudo apt update cbd:～$sudo apt install software-properties-common cbd:～$sudo add-apt-repository ppa:certbot/certbot cbd:～$sudo apt update cbd:～$sudo apt install certbot

手順 3

次に、ホスト名の所有権を確認するために必要なチャレンジファイルをホストするようにダッシュボードWebサーバを設定する必要があります。そのためには、これらのファイルのディレクトリを作成し、Webサーバ設定ファイルを更新します。次に、ダッシュボードアプリケーションを再起動して、変更を有効にします。次のコマンドを使用します。

cbd:～$sudo mkdir /usr/lib/ciscobusiness/dashboard/www/letsencrypt cbd:～$sudo chmod 755 /usr/lib/ciscobusiness/dashboard/www/letsencrypt cbd:～$sudo bash -c 'cat > /var/lib/ciscobusiness/dashboard/nginx/nginx-loc-letsencrypt.conf' << EOF

# certbot location /.well-known/acme-challenge {

root/usr/lib/ciscobusiness/dashboard/www/letsencrypt;

}

EOF

cbd:～$ cbd:～$sudo chown cbd:cbd /var/lib/ciscobusiness/dashboard/nginx/nginx-loc-letsencrypt.conf cbd:～$sudo chmod 640 /var/lib/ciscobusiness/dashboard/nginx/nginx-loc-letsencrypt.conf cbd:～$cisco-business-dashboard stop cbd:～$cisco-business-dashboard start

手順 4

次のコマンドを使用して証明書を要求します。

cbd:～$sudo certbot certonly —webroot -w /usr/lib/ciscobusiness/dashboard/www/letsencrypt/ -d dashboard.example.com -d pnpserver.example.com —deploy-hook "cat /etc/letsencrypt/live/dashboard.com /fullchain.pem > /tmp/cbdchain.pem;/usr/bin/cisco-business-dashboard importcert -t pem -k /etc/letsencrypt/live/dashboard.example.com /privkey.pem -c /tmp/cbdchain.pem

このコマンドは、各名前でホストされるWebサービスに接続して提供されるホスト名の所有権を検証するために、暗号化サービスに指示します。これは、ダッシュボードWebサービスがインターネットからアクセス可能で、ポート80および443でホストされている必要があることを意味します。ダッシュボード管理ユーザーインターフェイス(UI)の[システム(System)] > [プラットフォーム設定(Platform Settings)] > [Webサーバ(Web Server)]ページのアクセス制御 詳細については、『Cisco Business Dashboard Administration Guide』を参照してください。

コマンドのパラメータは、次の理由で必要になります。

ceronly

証明書を要求し、ファイルをダウンロードします。インストールしないでください。Cisco Business Dashboardの場合、証明書はWebサーバだけでなく、PnPサービスやその他の機能でも使用されます。その結果、certbotクライアントは証明書を自動的にインストールできません。

—webroot -w..

ダッシュボードWebサーバからアクセスできるように、上記で作成したディレクトリにチャレンジファイルをインストールします。

-d dashboard.example.com

-d pnpserver.example.com

証明書に含める必要があるFQDN。リストされた最初の名前が証明書の[Common Name]フィールドに含まれ、すべての名前が[Subject-Alt-Name]フィールドにリストされます。

pnpserver.<ドメイン>名は、DNS検出を実行するときにネットワークプラグアンドプレイ機能で使用される特別な名前です。詳細については、『Cisco Business Dashboard Administration Guide』を参照してください。

—deploy-hook "..."

Let's Encryptサービスから受信した秘密キーと証明書チェーンをcisco-business-dashboardのコマンドラインユーティリティを使用して、ファイルがDashboard User Interface(UI)を介してアップロードされたのと同じ方法でダッシュボードアプリケーションにロードします。

証明書チェーンをアンカーするルート証明書も、ここで証明書ファイルに追加されます。これは、ネットワークプラグアンドプレイを使用して展開されている特定のプラットフォームで必要です。

手順 5

certbotクライアントによって生成される手順に従って、証明書を作成するプロセスを実行します。

cbd:～$sudo certbot certonly —webroot -w /usr/lib/ciscobusiness/dashboard/www/letsencrypt/ -d dashboard.example.com -d pnpserver.example.com —deploy-hook "cat /etc/letsencrypt/live/dashboard.com /fullchain.pem > /tmp/cbdchain.pem;/usr/bin/cisco-business-dashboard importcert -t pem -k /etc/letsencrypt/live/dashboard.example.com /privkey.pem -c /tmp/cbdchain.pem"

デバッグログを/var/log/letsencrypt/letsencrypt.logに保存しています

選択されたプラグイン：オーセンティケータWebRoot、インストーラなし

手順 6

キャンセルする電子メールアドレスまたはCを入力してください。

電子メールアドレスを入力します（緊急の更新およびセキュリティ通知に使用されます）(「c」を入力して

キャンセル):user@example.com

ステップ7

同意するにはAを、キャンセルするにはCを入力してください。

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

サービス利用規約については、

https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdfあなたは

ACMEサーバに登録するには、

https://acme-v02.api.letsencrypt.org/directory

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

(A)gree/(C)キャンセル：A

手順 8

[はい]にはYを、[いいえ]にはNを入力します。

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

電子フロンティアと電子メールアドレスを共有していただけますか？

Let's Encryptプロジェクトの設立パートナーであり、非営利団体

セルトボットを開発した組織？私たちの仕事に関するメールをあなたに送りたいのですが

web、EFFニュース、キャンペーン、およびデジタルの自由をサポートする方法を暗号化する。

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

(Y)es/(N)o:Y

手順 9

証明書が発行され、ファイルシステムの/etc/letsencrypt/liveサブディレクトリにあります。

新しい証明書の取得

次の課題の実行：

dashboard.example.comのhttp-01チャレンジ

pnpserver.example.comのhttp-01チャレンジ

一致しないすべてのドメインのwebrootパス/usr/lib/ciscobusiness/dashboard/www/letsencryptを使用します。

検証を待っています…

問題のクリーンアップ

deploy-hookコマンドの実行：cat /etc/letsencrypt/live/dashboard.example.com/fullchain.pem /etc/ssl/certs/DST_Root_CA_X3.pem > /tmp/cbdchain.pem/usr/bin/cisco-business-dashboard importcert -t pem -k /etc/letsencrypt/live/dashboard.example -c /tmp/cbdchain.pem

特記事項：

-おめでとうございます。証明書とチェーンは次の場所に保存されました：

/etc/letsencrypt/live/dashboard.example.com/fullchain.pem

キーファイルの保存先：

/etc/letsencrypt/live/dashboard.example.com/privkey.pem

お客様の証明書の有効期限は2020-10-29です。新しい証明書または証明書を取得するには、この有効期限が切れます

将来この証明書のバージョンは、certbotを実行するだけです

再び。非対話形式で証明書の*all*を更新するには、次のコマンドを実行します。

「certbot renew」

– アカウントの資格情報がCertbotに保存されました

/etc/letsencryptの設定ディレクトリ。次のコマンドを

このフォルダの安全なバックアップを今すぐ作成します。この設定ディレクトリは、

また、証明書とCertbotによって取得された秘密キーも含まれています

このフォルダを定期的にバックアップすることは理想的です。

- Certbotをご希望の場合は、以下の方法でサポートを検討してください。

ISRGへの寄付/暗号化：https://letsencrypt.org/donate

EFFへの寄付：https://eff.org/donate-le

cbd:～$ sudo ls /etc/letsencrypt/live/dashboard.example.com

/ cert.pem chain.pem fullchain.pem privkey.pem README

cbd:～$

証明書を含むディレクトリには制限されたアクセス許可があるため、ルートユーザだけがファイルを表示できます。特にprivkey.pemファイルは機密性が高く、このファイルへのアクセスは権限のあるユーザのみに制限する必要があります。

手順 10

新しい証明書を使用してダッシュボードが実行されます。証明書を作成するときに指定した名前をアドレスバーに入力してWebブラウザでダッシュボードのユーザーインターフェイス(UI)を開くと、接続が信頼され、セキュリティ保護されていることをWebブラウザが示します。

Let's Encryptで発行された証明書の有効期間は比較的短く、現在90日です。Ubuntu Linux用のcertbotパッケージは、証明書の有効性を1日2回確認し、有効期限が近づいている場合は証明書を更新するように構成されているため、証明書を最新の状態に保つ必要はありません。定期的なチェックが正しく行われていることを確認するには、最初に証明書を作成してから12時間以上待ってから、certbotログファイルで次のようなメッセージを確認します。 cbd:～$ sudo tail /var/log/letsencrypt/letsencrypt.log

2020-07-31 16:50:52,783:DEBUG:certbot.main:certbot version:0.31.0

2020-07-31 16:50:52,784:DEBUG:certbot.main：引数：['-q']

2020-07-31 16:50:52,785:DEBUG:certbot.main：検出されたプラグイン：

(PluginEntryPoint#manual,

PluginEntryPoint#null,PluginEntryPoint#standalone,PluginEntryPoint#webroot)

2020-07-31 16:50:52,793:DEBUG:certbot.log：ルートログレベルを30に設定

2020-07-31 16:50:52,793:INFO:certbot.log：デバッグログの保存先

/var/log/letsencrypt/letsencrypt.log

2020-07-31 16:50:52,802:DEBUG:certbot.plugins.selection:

要求されたオーセンティケータ<certbot.cli。

_Default object at 0x7f1152969240>およびinstaller <certbot.cli。

_0x7f1152969240のデフォルトオブジェクト>

2020-07-31 16:50:52,811:INFO:certbot.renewal：証明書はまだ更新の期限ではありません

2020-07-31 16:50:52,812:DEBUG:certbot.plugins.selection:Requested authenticator

webrootとinstallerなし

2020-07-31 16:50:52,812:DEBUG:certbot.renewal:no renewal failures

証明書の有効期限が30日以内に経過すると、certbotクライアントは証明書を更新し、更新された証明書をダッシュボードアプリケーションに自動的に適用します。

certbotクライアントの使用方法の詳細については、certbotのドキュメントページを参照してください。