本文檔說明如何獲取讓我們加密證書、將其安裝在思科業務控制台上以及如何使用命令列介面(CLI)設定自動續訂。如果要瞭解有關管理證書的一般資訊,請檢視Cisco Business Dashboard上的管理證書一文。
Let'S Encrypt是一種憑證授權機構,它使用自動程式向公眾提供免費的網域驗證(DV)安全通訊端層(SSL)憑證。Let's Encrypt提供可輕易存取的機制,以取得Web伺服器的簽署憑證,讓一般使用者確信他們存取的是正確的服務。有關詳細資訊,請訪問讓我們加密網站。
透過Cisco Business Dashboard使用讓我們加密證書非常簡單。雖然思科業務控制台對於證書安裝有一些特殊要求,除了將證書提供給Web伺服器外,使用提供的命令列工具自動頒發和安裝證書仍是可行的。本文檔的其餘部分將介紹頒發證書和自動更新證書的過程。
本文檔使用HTTP質詢來驗證域所有權。這要求從網際網路透過標準埠TCP/80和TCP/443訪問控制台Web伺服器。如果無法從網際網路連線至Web伺服器,請考慮改用DNS挑戰。有關詳細資訊,請參閱使用Let's Encrypt for Cisco Business Dashboard with DNS。
第一步是獲取使用ACME協定證書的軟體。在本例中,我們使用certbot client,但是還有其他許多選項可用。
要自動更新證書,必須在控制台上安裝certbot客戶端。要在儀表板伺服器上安裝certbot客戶端,請使用以下命令:
必須注意的是,在本文中,藍色部分是來自CLI的提示和輸出。白色文本列出命令。綠色命令(包括dashboard.example.com、pnpserver.example.com和user@example.com)應替換為適合您的環境的DNS名稱。
接下來,需要將Dashboard Web伺服器設定為託管驗證主機名所有權所需的質詢檔案。為此,我們將為這些檔案建立一個目錄並更新Web伺服器配置檔案。然後,我們將重新啟動Dashboard應用程式以使更改生效。使用以下命令:
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使用以下命令請求證書:
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 pem -k /etc/letsencrypt/live/dashboard.example.com/privkey.pem -c /tmp/cbdchain.pem此命令指示Let's Encrypt服務驗證透過連線到每個名稱上託管的Web服務所提供的主機名的所有權。這意味著儀表板Web服務必須可以從Internet訪問並且託管在埠80和443上。使用控制台管理使用者介面(UI)中「系統」(System) >「平台設定」(Platform Settings) >「Web伺服器」(Web Server)頁面上的訪問控制設定,可以限制對控制台應用的訪問。有關詳細資訊,請參閱《Cisco Business Dashboard Administration Guide》(思科業務控制台管理指南)。
需要命令上的引數,原因如下:
certonly | 要求憑證並下載檔案。請勿嘗試安裝它們。對於Cisco Business Dashboard,證書不僅由Web伺服器使用,也由PnP服務和其他功能使用。因此,certbot使用者端無法自動安裝憑證。 |
—webroot -w ... | 將質詢檔案安裝在上面建立的目錄中,以便可以透過儀表板Web伺服器訪問它們。 |
-d dashboard.example.com -d pnpserver.example.com |
應包含在證書中的FQDN。列出的第一個名稱將包含在證書的「公用名稱」欄位中,而所有名稱將列在「使用者-替代名稱」欄位中。 pnpserver.<domain>名稱是執行DNS發現時「網路即插即用」功能使用的特殊名稱。有關詳細資訊,請參閱《Cisco Business Dashboard管理指南》。 |
—deploy-hook「……」 | 使用cisco-business-dashboard命令列實用程式可以獲取從讓我們加密服務接收的私鑰和證書鏈,並以與透過控制台使用者介面(UI)上傳檔案相同的方式將它們載入到控制台應用程式中。 錨定憑證鏈結的根憑證也會新增至此處的憑證檔案。這是使用網路即插即用部署的特定平台所必需的。 |
請按照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 pem -k /etc/letsencrypt/live/dashboard.example.com/privkey.pem -c /tmp/cbdchain.pem"輸入電子郵件地址或C以取消。
輸入電子郵件地址(用於緊急續約和安全通知)(輸入「c」以輸入A同意,或輸入C取消。
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -輸入Y作為「是」,輸入N作為「否」。
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -證書已經頒發,可以在檔案系統的/etc/letsencrypt/live子目錄中找到:
取得新憑證包含憑證的目錄具有受限的許可權,因此只有root使用者可以檢視檔案。尤其是,privkey.pem檔案是敏感的,對此檔案的訪問應僅限於授權的人員。
儀表板現在應使用新憑證執行。如果您在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#獨立,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:調試:certbot.plugins.selection:
請求的身份驗證器<certbot.cli。
位於0x7f1152969240>的預設對象和安裝程式<certbot.cli。
_預設對象為0x7f1152969240>
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:無續訂失敗
經過足夠的時間後,證書到期日期將在三十天內,certbot客戶端將更新證書並將更新後的證書自動應用到儀表板應用程式。
有關使用certbot客戶端的詳細資訊,請參閱certbot文檔頁。
修訂 | 發佈日期 | 意見 |
---|---|---|
1.0 |
27-Aug-2020 |
初始版本 |