目標

本檔案將說明如何取得Let's Encrypt憑證、將其安裝在Cisco Business Dashboard上，以及使用指令行介面(CLI)設定自動續訂。 如果您想瞭解有關管理證書的一般資訊，請檢視Cisco Business Dashboard上的文章Manage Certificates。

本文檔中描述的流程已在Cisco Business Dashboard 2.2.2版及更高版本中自動執行。有關詳細資訊，請參閱《管理指南》的 System > Managing Certificates部分。

簡介

Let's Encrypt是一個證書頒發機構，它使用自動過程向公眾提供免費的域驗證(DV)安全套接字層(SSL)證書。Let's Encrypt提供一種易於訪問的機制來獲取Web伺服器的簽名證書，使終端使用者確信他們訪問的是正確的服務。如需詳細資訊，請參閱讓我們加密網站。

在Cisco Business Dashboard上使用Let's Encrypt certificates相當簡單。儘管Cisco Business Dashboard對證書安裝有一些特殊要求，除了僅向Web伺服器提供證書外，使用提供的命令列工具自動頒發和安裝證書仍是可行的。本文檔的其餘部分將介紹頒發證書和自動續訂證書的過程。

本文檔使用HTTP挑戰來驗證域所有權。這要求儀表板的Web伺服器可以通過標準埠TCP/80和TCP/443從Internet訪問。如果無法從Internet訪問Web伺服器，請考慮改用DNS挑戰。如需詳細資訊，請檢視使用Let's Encrypt for Cisco Business Dashboard with DNS。

步驟1

第一步是獲取使用ACME協定證書的軟體。在本例中，我們使用certbot client，但還有許多其他選項可用。

步驟2

要自動續訂證書，必須在控制面板上安裝certbot客戶端。要在儀表板伺服器上安裝certbot客戶端，請使用以下命令：

必須注意的是，本文中藍色部分是來自CLI的提示和輸出。白色文本列出命令。綠色命令(包括dashboard.example.com、pnpserver.example.com和user@example.com)應替換為適合您的環境的DNS名稱。

cbd:~$sudo apt更新 cbd:~$sudo apt install software-properties-common cbd:~$sudo add-apt-repository ppa:certbot/certbot cbd:~$sudo apt更新 cbd:~$sudo apt install certbot

步驟3

接下來，需要將Dashboard 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建立的質詢檔案的位置/.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.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.com/privkey.pem -c /tmp/cbdchain.pem

此命令指示Let's Encrypt服務驗證通過連線到每個名稱上承載的Web服務提供的主機名的所有權。這意味著儀表板Web服務必須可以從Internet訪問，並且託管在埠80和443上。可以使用儀表板管理使用者介面(UI)中「系統」>「平台設定」>「Web伺服器」頁上的「訪問控制」設定來限制對儀表板應用程式的訪問。 有關詳細資訊，請參閱《Cisco Business Dashboard管理指南》。

需要命令上的引數的原因如下：

certonly

請求證書並下載檔案。請勿嘗試安裝。對於Cisco Business Dashboard，證書不僅由Web伺服器使用，還由PnP服務和其他功能使用。因此，certbot客戶端無法自動安裝證書。

—webroot -w ...

將質詢檔案安裝在上面建立的目錄中，以便通過儀表板Web伺服器訪問它們。

-d dashboard.example.com

-d pnpserver.example.com

應包括在證書中的FQDN。列出的第一個名稱將包含在證書的「公用名」欄位中，並且所有名稱將列在「主題 — 替代名稱」欄位中。

pnpserver.<domain>名稱是執行DNS發現時網路即插即用功能使用的特殊名稱。有關詳細資訊，請參閱《思科業務控制面板管理指南》。

—deploy-hook "。."

使用cisco-business-dashboard命令列實用程式提取從Let's Encrypt服務接收的私鑰和證書鏈，並以與通過儀表板使用者介面(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.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.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)ancel:A

步驟8

輸入Y表示「是」，輸入N表示「否」。

— — — — — — — — — — — — — — — — — — —

您是否願意將您的電子郵件地址與Electronic Frontier共用

Foundation，Let's Encrypt專案的創始合作夥伴，非營利組織

開發Certbot的組織？我們希望向您傳送有關我們工作的電子郵件

加密網路、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.com/privkey.pem -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中

配置目錄。您應該製作一個

立即安全備份此資料夾。此配置目錄將

還包含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自述檔案

cbd:~$

包含證書的目錄具有受限許可權，因此只有根使用者才能檢視檔案。尤其是privkey.pem檔案是敏感的，對此檔案的訪問應僅限於授權人員。

步驟10

儀表板現在應使用新證書運行。如果您通過在Web瀏覽器中輸入在位址列中建立證書時指定的任何名稱來開啟儀表板使用者介面(UI)，則Web瀏覽器應指示連線是受信任和安全的。

請注意，Let's Encrypt簽發的憑證有效期相對較短 — 目前為90天。適用於Ubuntu Linux的certbot套件設定為每天檢查兩次憑證的有效性，並在接近到期時續訂憑證，因此無需採取任何行動將憑證保持最新。要驗證定期檢查是否正確執行，請在最初建立證書後等待至少12小時，然後檢查certbot日誌檔案是否有類似以下消息： cbd:~$ sudo tail /var/log/letsencrypt/letsencrypt.log

2020-07-31 16:50:52,783:DEBUG:certbot.main:certbot版本：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。

位於0x7f1152969240>和安裝程式<certbot.cli的預設對象(_D)。

0x7f處的預設對象(_D1152969240>

2020-07-31 16:50:52,811:INFO:certbot.renewal：證書尚未到期續訂

2020-07-31 16:50:52,812:DEBUG:certbot.plugins.selection：請求的身份驗證器

webroot和安裝程式無

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

在證書到期日期經過三十天內的足夠時間後，certbot客戶端將自動更新證書並將更新的證書應用到儀表板應用程式。

有關使用certbot使用者端的詳細資訊，請參閱certbot檔案頁面。