寶塔面板配置https雙向認(rèn)證(訪問設(shè)備驗證)并保存密鑰到y(tǒng)ubikey等支持piv協(xié)議的usbkey
寶塔官網(wǎng)的教程需要安裝付費插件【堡塔限制訪問型證書】,對于一個想要安全,不信任第三方的白嫖怪運維肯定不能忍,所以本篇教程將會在不用到【堡塔限制訪問型證書】的前提下使用自簽名證書開啟訪問設(shè)備驗證(ps:【堡塔限制訪問型證書】的原理其實也是自簽名證書
在配置之前需要打開寶塔面板的面板SSL功能,登錄寶塔面板-->前往面板設(shè)置-->最上方的安全設(shè)置-->面板SSL--> 面板SSL配置,填寫你的ssl證書的對應(yīng)內(nèi)容(熱知識:pem和crt證書只是后綴名不同,也就是說這里可以填寫crt的證書內(nèi)容)這個證書和下面生成的無關(guān),官方教程指路https://www.bt.cn/bbs/thread-105443-1-1.html
?生成root證書(需要安裝openssl)
1.1 生成私鑰,最后一個選項為res的位數(shù),理論上越大越安全

2 生成證書請求文件(csr),需要輸入一些信息(實際上這些信息并沒有什么卵用,用來分辨是哪一個證書的,都可以忽略(直接回車)
Country Name:國家代碼,中國為CN
State or Province Name:州或省名稱
Locality Name:城市名稱
Organization Name:組織名稱
Organizational Unit Name:組織單位名稱
Common Name:常見名,可以寫服務(wù)器的域名或名字,最好不要忽略
Email Address:郵件地址
A challenge password:證書密碼,可以為空
An optional company name:可選組織名稱

3 生成root證書,最后一個數(shù)字為證書有效期,單位為天

2. 使用root證書簽發(fā)客戶端證書,這個證書是用來登錄服務(wù)器的
????2.1 生成私鑰,最后一個選項為res的位數(shù),理論上越大越安全,但是yubikey最大支持2048位,并且2048完全夠用

????2.2?生成證書請求文件(csr),此部分與1.2基本一致,不再贅述,Common Name可以設(shè)置為使用者的名字,方便區(qū)分

????2.3 使用 1 生成的root證書簽發(fā)客戶端證書,最后一個數(shù)字為證書有效期,單位為天,推薦為365,過期重新生成

????2.4 將證書轉(zhuǎn)換為p12格式(PKCS#12)方便使用,推薦設(shè)置一個密碼,防止證書泄露

3. 部署
????3.1 為了防止無法進入服務(wù)器,首先部署客戶端證書(若使用yubikey不推薦安裝到系統(tǒng))
????????3.1.1 部署到系統(tǒng)
????????windows:下載,雙擊打開后一路默認(rèn),提示輸入密碼時輸入前文設(shè)置的密碼
????????linux:以firefox瀏覽器為例,右上角三個橫線->設(shè)置->高級->證書->點擊查看證書,選擇個人,點擊導(dǎo)入,提示輸入密碼時輸入前文設(shè)置的密碼
????????3.1.2 部署到y(tǒng)ubikey
????????打開YubiKey Manager,點擊Applications并選擇PIV(下載鏈接https://www.yubico.com/support/download/yubikey-manager/#h-downloads)


選擇Change PIN修改PIN及PUK,PIN默認(rèn)為123456,PUK默認(rèn)為12345678,如果是新的可以勾選Use default使用默認(rèn)密碼
PIN:訪問或修改證書密鑰時,需要先輸PIN碼,至少6個字符,最多8個ASCII字符,輸錯3次被鎖定,防止窮舉爆破
PUK:輸錯3次被PIN碼被鎖定后,可使用PUK碼恢復(fù)PIN碼,同樣的輸錯3次被鎖定,另外還可以禁用PUK碼

修改好之后可以導(dǎo)入證書了,選擇Configure Certificates->Authentication (Slot 9a)->Import,導(dǎo)入證書,導(dǎo)入時需要依次輸入證書密碼和PIN


PIV選項如果為灰色,點擊Interfaces并勾選PIV

若報錯

原因可能為系統(tǒng)智能卡服務(wù)未啟動,右鍵此電腦->管理->服務(wù)和應(yīng)用程序->服務(wù),找到smart card開頭的服務(wù),并設(shè)置為自動(右鍵->屬性->啟動類型,設(shè)置為自動)

3.2部署到服務(wù)器
????登錄寶塔面板后臺,點擊設(shè)置,找到訪問設(shè)備驗證

? ? 用記事本打開之前生成的crl和crt文件,并分別粘貼到注銷列表(crl) 和 證書(cert)中

勾選我已經(jīng)了解詳情并愿意承擔(dān)風(fēng)險,點擊保存,配置完成
配置完成之后未插入yubikey或未安裝證書是會報錯ERR_BAD_SSL_CLIENT_AUTH_CERT
安裝好證書或插入yubikey后會提示選擇證書,點擊確定

安裝到系統(tǒng)的點擊后會直接進入面板,保存到y(tǒng)ubikey中的會彈出智能卡的對話框,輸入PIN后即可登錄成功,linux中需要碰一下yubikey的金屬部分,在windows下使用時有一個騷操作,使用yubikey的OTP功能中的靜態(tài)密碼,將短按的靜態(tài)密碼設(shè)置為和PIN相同,這樣也可以通過觸屏金屬部分登錄(OTP靜態(tài)密碼功能會模擬成hid協(xié)議的鍵盤替你輸入PIN)