創(chuàng)建GVSM(NIST FIPS)密碼機(jī)集群
本文中含有需要您注意的重要提示信息,忽略該信息可能對(duì)您的業(yè)務(wù)造成影響,請(qǐng)務(wù)必仔細(xì)閱讀。
加密服務(wù)為您提供密碼機(jī)實(shí)例集群功能,實(shí)現(xiàn)將處于同一地域不同可用區(qū)、用于相同業(yè)務(wù)的一組密碼機(jī)實(shí)例關(guān)聯(lián)起來(lái),進(jìn)行統(tǒng)一管理,為業(yè)務(wù)應(yīng)用提供密碼計(jì)算的高可用性、負(fù)載均衡以及橫向擴(kuò)展的能力。本文介紹如何使用密碼機(jī)實(shí)例集群。
如果您需要?jiǎng)?chuàng)建KMS硬件密鑰管理實(shí)例的密碼機(jī)集群,請(qǐng)參見(jiàn)配置KMS硬件密鑰管理實(shí)例的密碼機(jī)集群。
適用場(chǎng)景
應(yīng)用程序可以通過(guò)集群內(nèi)的任何一個(gè)密碼機(jī)實(shí)例使用同一個(gè)密鑰。
應(yīng)用程序用于生產(chǎn)環(huán)境,從而要求加密服務(wù)提供業(yè)務(wù)連續(xù)性。
注意事項(xiàng)
一個(gè)集群中包括一個(gè)主密碼機(jī)實(shí)例與若干個(gè)非主密碼機(jī)實(shí)例。集群內(nèi)一個(gè)可用區(qū)的密碼機(jī)實(shí)例使用同一VPC子網(wǎng)。
前提條件
已購(gòu)買(mǎi)并啟用密碼機(jī)實(shí)例。具體操作,請(qǐng)參見(jiàn)購(gòu)買(mǎi)并啟用密碼機(jī)實(shí)例。
警告為了保證密碼機(jī)實(shí)例數(shù)據(jù)的安全,請(qǐng)不要在實(shí)際生產(chǎn)環(huán)境中使用測(cè)試密鑰。
僅啟用主密碼機(jī)實(shí)例即可,無(wú)需啟用子密碼機(jī)。
已購(gòu)買(mǎi)Linux系統(tǒng)(CentOS 8或Alibaba Cloud Linux)的ECS實(shí)例,且ECS實(shí)例需要和密碼機(jī)實(shí)例在同一VPC。具體操作,請(qǐng)參見(jiàn)Linux系統(tǒng)實(shí)例快速入門(mén)。
說(shuō)明該ECS實(shí)例用于安裝密碼機(jī)管理工具,而非用于業(yè)務(wù)服務(wù)器。
創(chuàng)建并激活集群
登錄加密服務(wù)管理控制臺(tái),在頂部菜單欄,選擇目標(biāo)地域。
在實(shí)例列表頁(yè)面,定位到主密碼機(jī)實(shí)例,單擊操作列的創(chuàng)建集群。
在創(chuàng)建并激活集群面板,完成①創(chuàng)建集群,然后單擊下一步。
配置項(xiàng)
說(shuō)明
集群名稱(chēng)
自定義集群的名稱(chēng)。名稱(chēng)不能重復(fù)且長(zhǎng)度不允許超過(guò)24個(gè)字符。
設(shè)置集群訪問(wèn)白名單
允許訪問(wèn)集群的IP地址。如果未設(shè)置白名單,則所有IP地址都能訪問(wèn)集群,如果設(shè)置了白名單,則不在白名單內(nèi)的訪問(wèn)請(qǐng)求將被拒絕。
您可以輸入單個(gè)IP地址或網(wǎng)段地址,每行輸入1條數(shù)據(jù),最多可以輸入10條數(shù)據(jù)。
重要集群的白名單優(yōu)先級(jí)高于集群中密碼機(jī)實(shí)例的白名單。例如,您設(shè)置的集群中密碼機(jī)實(shí)例的白名單為10.10.10.10,集群的白名單為172.16.0.1,則您只能通過(guò)172.16.0.1訪問(wèn)集群中的密碼機(jī)實(shí)例。
不支持配置為0.0.0.0/0(放行所有來(lái)源IP)。
基于安全考慮,不推薦您放行所有來(lái)源IP。如果因臨時(shí)測(cè)試等原因確實(shí)需要放行所有來(lái)源IP,不配置白名單即可。
指定集群的交換機(jī)(2~4個(gè))
根據(jù)業(yè)務(wù)需要選擇可用區(qū)的交換機(jī)。
在密碼機(jī)實(shí)例集群中,您至少配置2個(gè)交換機(jī)才能成功創(chuàng)建并激活集群。
在創(chuàng)建并激活集群面板,完成②激活集群,然后單擊下一步。
導(dǎo)入集群證書(shū)。
在導(dǎo)入集群證書(shū)區(qū)域,單擊集群CSR證書(shū)下載CSR證書(shū)文件,然后上傳到ECS實(shí)例上保存。例如,保存為cluster.csr。
創(chuàng)建私鑰,并根據(jù)提示設(shè)置私鑰口令。例如,保存為issuerCA.key。
openssl genrsa -aes256 -out issuerCA.key 2048
創(chuàng)建自簽名證書(shū)。例如,保存為issuerCA.crt。
openssl req -new -x509 -days 3652 -key issuerCA.key -out issuerCA.crt
簽署集群CSR證書(shū),頒發(fā)的集群證書(shū)存儲(chǔ)在cluster.crt文件中。
說(shuō)明該步驟會(huì)使用到cluster.csr、issuerCA.key、issuerCA.crt文件。
openssl x509 -req -in cluster.csr -days 3652 -CA issuerCA.crt -CAkey issuerCA.key -set_serial 01 -out cluster.crt
返回加密服務(wù)管理控制臺(tái),導(dǎo)入集群證書(shū)并單擊提交。
在請(qǐng)輸入簽發(fā)者證書(shū)(PEM編碼)區(qū)域,輸入issuerCA.crt文件的內(nèi)容。
在請(qǐng)輸入簽發(fā)集群證書(shū)(PEM編碼)區(qū)域,輸入cluster.crt文件的內(nèi)容。
初始化主密碼機(jī)實(shí)例。
重要僅支持通過(guò)密碼機(jī)管理實(shí)例工具初始化主密碼機(jī)實(shí)例,密碼機(jī)實(shí)例管理工具僅支持安裝在Linux操作系統(tǒng)。
步驟
說(shuō)明
步驟1:下載密碼機(jī)實(shí)例管理工具。
CentOS
方式一:下載密碼機(jī)實(shí)例管理工具。
方式二:執(zhí)行如下命令下載密碼機(jī)實(shí)例管理工具,該操作需要您的ECS服務(wù)器連接公網(wǎng)。
wget -O hsm-client-v2.03.15.10-1.x86_64.rpm 'https://yundun-hsm4.oss-ap-southeast-1.aliyuncs.com/hsm-client-v2.03.15.10-1.x86_64.rpm'
方式三:在實(shí)例列表頁(yè)面,找到目標(biāo)密碼機(jī)實(shí)例,通過(guò)單擊規(guī)格列的圖標(biāo)。
方式四:在激活集群頁(yè)面,單擊下載密碼機(jī)實(shí)例管理工具。
Debian
訪問(wèn)hsm-client-2.03.15.10-20240710_1.x86_64.deb,下載密碼機(jī)實(shí)例管理工具。
步驟2:安裝密碼機(jī)管理工具。
執(zhí)行如下命令:請(qǐng)將程序和配置文件安裝在/opt/hsm目錄下。
CentOS
sudo yum install -y hsm-client-v2.03.15.10-1.x86_64.rpm
Debian
sudo dpkg -i hsm-client-2.03.15.10-20240710_1.x86_64.deb
步驟3:修改客戶(hù)端配置文件。
在密碼機(jī)管理工具的安裝目錄下,修改/opt/hsm/etc/hsm_mgmt_tool.cfg文件中的servers配置項(xiàng)。
name、hostname修改為主密碼機(jī)的私有IP地址,您可以在實(shí)例列表頁(yè)面查詢(xún)IP。
owner_cert_path修改為issuerCA.crt的文件路徑。
{
"servers": [
{
"name" : "172.16.XX.XX",
"hostname" : "172.16.XX.XX",
"port" : 2225,
"certificate": "/opt/hsm/etc/client.crt",
"pkey": "/opt/hsm/etc/client.key",
"CAfile": "",
"CApath": "/opt/hsm/etc/certs",
"ssl_ciphers": "",
"server_ssl" : "yes",
"enable" : "yes",
"owner_cert_path":"<issuerCA.crt file path>"
}],
"scard": {
"enable": "no",
"port": 2225,
"ssl": "no",
"ssl_ciphers": "",
"certificate": "cert-sc",
"pkey": "pkey-sc"
}
}
步驟4:登錄主密碼機(jī)并查看用戶(hù)列表。
通過(guò)以下命令登錄主密碼機(jī)。
/opt/hsm/bin/hsm_mgmt_tool /opt/hsm/etc/hsm_mgmt_tool.cfg
執(zhí)行
listUsers
命令顯示用戶(hù)列表。cloudmgmt>listUsers Users on server 0(172.16.XX.XX): Number of users found:2 User Id User Type User Name MofnPubKey LoginFailureCnt 2FA 1 PRECO admin NO 0 NO 2 AU app_user NO 0 NO
步驟5:將PRECO用戶(hù)改為CO用戶(hù)。
執(zhí)行
loginHSM
命令并以PRECO身份登錄加密機(jī)。server0>loginHSM PRECO admin password loginHSM success
執(zhí)行
changePswd
命令修改PRECO用戶(hù)的密碼,當(dāng)您更改密碼后,PRECO用戶(hù)將成為CO用戶(hù)。cloudmgmt>changePswd PRECO admin <NewPassword> *************************CAUTION******************************** This is a CRITICAL operation, should be done on all nodes in the cluster. Cav server does NOT synchronize these changes with the nodes on which this operation is not executed or failed, please ensure this operation is executed on all nodes in the cluster. **************************************************************** Do you want to continue(y/n)?y Changing password for admin(PRECO) on 1 nodes
通過(guò)
listUsers
命令查看用戶(hù)列表,驗(yàn)證PRECO用戶(hù)是否更改為CO用戶(hù)。cloudmgmt>listUsers Users on server 0(172.16.XX.XX): Number of users found:2 User Id User Type User Name MofnPubKey LoginFailureCnt 2FA 1 CO admin NO 0 NO 2 AU app_user NO 0 NO
步驟6:創(chuàng)建密碼機(jī)操作員(CU用戶(hù))
警告請(qǐng)您先創(chuàng)建CU用戶(hù),再將子密碼機(jī)添加到集群,否則創(chuàng)建的CU用戶(hù)不會(huì)自動(dòng)同步至子密碼機(jī)。
執(zhí)行
createUser
命令創(chuàng)建一個(gè)CU。CU用戶(hù)名和密碼支持ASCII字符,其中CU用戶(hù)名不超過(guò)20個(gè)字符,密碼為8~32個(gè)字符。
本文以CU用戶(hù)名為
crypto_user
為例,您可以根據(jù)業(yè)務(wù)需要自主命名。如果您是配置KMS硬件密鑰管理實(shí)例的密碼機(jī)集群,CU用戶(hù)名請(qǐng)使用kmsuser
。createUser CU crypto_user <enter password>
執(zhí)行
listUsers
命令,查看CU是否已經(jīng)創(chuàng)建成功。預(yù)期輸出:
cloudmgmt>listUsers Users on server 0(172.16.XX.XX): Number of users found:3 User Id User Type User Name MofnPubKey LoginFailureCnt 2FA 1 CO admin NO 0 NO 2 AU app_user NO 0 NO 3 CU crypto_user NO 0 NO
步驟7:驗(yàn)證主密碼機(jī)狀態(tài)
返回到加密服務(wù)控制臺(tái),在激活集群頁(yè)面單擊圖標(biāo)刷新密碼機(jī)狀態(tài),然后單擊下一步。
在③添加加密機(jī)頁(yè)面,根據(jù)提示添加子密碼機(jī)到集群,然后單擊完成。
如果需要更多的密碼機(jī)實(shí)例,您需要購(gòu)買(mǎi)密碼機(jī)實(shí)例,并將密碼機(jī)實(shí)例添加到集群。
使用密碼機(jī)實(shí)例集群
您可以通過(guò)OpenSSL引擎、JCE或PKCS#11庫(kù)提供的接口使用密碼機(jī)集群。更多信息,請(qǐng)參見(jiàn)OpenSSL動(dòng)態(tài)引擎、JCE或PKCS #11庫(kù)。
管理密碼機(jī)集群
擴(kuò)展集群
您可以將處于不同可用區(qū)的密碼機(jī)實(shí)例加入到同一集群進(jìn)行統(tǒng)一管理,提高加密服務(wù)的高可用性。添加到集群的密碼機(jī)實(shí)例需符合以下要求:
密碼機(jī)實(shí)例未初始化。
密碼機(jī)實(shí)例為已啟用或未啟用狀態(tài)。
密碼機(jī)實(shí)例與主密碼機(jī)為同一類(lèi)型密碼機(jī)。
密碼機(jī)實(shí)例未配置交換機(jī)或與主密碼機(jī)屬于同一交換機(jī)。
如果密碼機(jī)實(shí)例已配置了密碼機(jī)實(shí)例白名單,加入集群后該密碼機(jī)實(shí)例的訪問(wèn)白名單將繼承集群的訪問(wèn)白名單,原密碼機(jī)實(shí)例白名單將被清空。
在實(shí)例列表頁(yè)面,定位到目標(biāo)主密碼機(jī)實(shí)例,單擊操作列的擴(kuò)展集群。
通過(guò)以下方式添加密碼機(jī)實(shí)例到集群。
還未購(gòu)買(mǎi)密碼機(jī)實(shí)例時(shí),在添加密碼機(jī)實(shí)例到集群 對(duì)話框,單擊訂購(gòu)密碼機(jī),新購(gòu)密碼機(jī)實(shí)例。
購(gòu)買(mǎi)的密碼機(jī)實(shí)例會(huì)自動(dòng)添加到集群,同時(shí)加密服務(wù)會(huì)自動(dòng)為該密碼機(jī)實(shí)例分配IP地址,并完成集群內(nèi)數(shù)據(jù)的同步。
已購(gòu)買(mǎi)密碼機(jī)實(shí)例時(shí),在添加密碼機(jī)實(shí)例到集群 對(duì)話框,選擇需要添加的密碼機(jī)實(shí)例,單擊,然后單擊確定。
修改集群名稱(chēng)和訪問(wèn)白名單
在實(shí)例列表頁(yè)面,找到目標(biāo)主密碼機(jī)實(shí)例,單擊實(shí)例ID。
在彈出的實(shí)例詳情頁(yè)面,修改集群名稱(chēng)和訪問(wèn)白名單。
修改白名單時(shí),您可以輸入單個(gè)IP地址或網(wǎng)段地址,每行輸入1條數(shù)據(jù),最多可以輸入10條數(shù)據(jù)。
將子密碼機(jī)移出集群
僅支持將子密碼機(jī)實(shí)例移出集群,不支持將主密碼機(jī)實(shí)例移出集群。
停用子密碼機(jī)。您需要先停用子密碼機(jī)后,才可以將子密碼機(jī)移出集群。
在實(shí)例列表頁(yè)面,找到目標(biāo)子密碼機(jī)實(shí)例,單擊操作列的停用。
在彈出的對(duì)話框,再次單擊停用。
將子密碼機(jī)移出集群。
單擊目標(biāo)子密碼機(jī)實(shí)例操作列的移出集群。
在彈出的對(duì)話框,再次單擊移出集群。
將子密碼機(jī)切換為主密碼機(jī)
您可以手動(dòng)將子密碼機(jī)切換為集群中的主密碼機(jī)。
在實(shí)例列表頁(yè)面,找到目標(biāo)子密碼機(jī)實(shí)例,單擊操作列的切換主機(jī)。
在彈出的對(duì)話框,單擊切換。