日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

目錄
  • 一、模擬創(chuàng)建CA證書(中間邊框的部分)
  • 二、簽發(fā)服務(wù)器端證書(右邊藍(lán)色背景部分)
  • 三、簽發(fā)客戶端證書(左邊黃色背景的部分)
  • 四、簽發(fā)證書收尾工作
  • 五、配置docker服務(wù)端
  • 六、IDEA配置使用客戶端證書

前文中我們曾經(jīng)介紹過《使用IDEA遠(yuǎn)程工具》連接Docker REST API,我們會發(fā)現(xiàn)一個問題,任何知道Docker 服務(wù)器IP、端口的第三方都可以訪問這個API,非常的不安全。為了保證Docker API的安全性,我們有必要使用數(shù)字證書進(jìn)行安全驗證。

  • 為docker服務(wù)端配置服務(wù)端證書,用于驗證客戶端請求
  • 為訪問docker 服務(wù)的客戶端配置客戶端證書,用于驗證服務(wù)端發(fā)送的交互信息的安全性。

如果只在自己公司內(nèi)部使用到數(shù)字證書,就沒有必要花錢向?qū)I(yè)的CA機構(gòu)進(jìn)行認(rèn)證授權(quán)(價格不菲),采用自生成的CA證書在公司內(nèi)部使用也是完全可以的。下圖是CA證書及子證書的簽發(fā)過程,請結(jié)合文章進(jìn)行理解。

詳解docker?API管理接口增加CA安全認(rèn)證

一、模擬創(chuàng)建CA證書(中間邊框的部分)

正常情況下CA機構(gòu)有自己的私鑰,因為我們是模擬CA機構(gòu),所以這個私鑰需要我們自己創(chuàng)建。執(zhí)行下文中的命令,輸入2次密碼(密碼務(wù)必記住,后文中需要使用),執(zhí)行完命令之后,當(dāng)前目錄下生成一個ca-key.pem文件(上圖中紅色背景代表)。

# openssl genrsa -aes256 -out ca-key.pem 4096
Generating RSA private key, 4096 bit long modulus
e is 65537 (0x10001)
Enter pass phrase for ca-key.pem:
Verifying - Enter pass phrase for ca-key.pem:

該命令用于創(chuàng)建機構(gòu)CA證書,執(zhí)行該命令首先會提示輸入密碼(上文中設(shè)置的)。正常請開給你下,該流程是某公司向CA提機構(gòu)提交自己公司的相關(guān)信息,CA授權(quán)機構(gòu)根據(jù)這些信息(審核信息之后)生成一個用于該公司的CA證書(該公司范圍的根證書)。

openssl req -new -x509 -days 3650 -key ca-key.pem -sha256 -out ca.pem

然后提示需要輸入國家、省份、地市、公司、組織、服務(wù)器地址或域名、郵箱聯(lián)系方式,其中國家和服務(wù)器地址或域名要填上,否則后續(xù)無法使用。

# 國家:CN
Country Name (2 letter code) [XX]: CN
# 省份: 可以不填,直接回車
State or Province Name (full name) []:
# 地市:可以不填,直接回車
Locality Name (eg, city) [Default City]:
# 公司: 可以不填,直接回車
Organization Name (eg, company) [Default Company Ltd]:
# 組織: 可以不填,直接回車
Organizational Unit Name (eg, section) []:
# 服務(wù)器地址或域名,按要求填寫
Common Name (eg, your name or your server's hostname) []:  192.168.1.111
# 郵箱聯(lián)系方式,可以不填,直接回車
Email Address []:

當(dāng)前目錄下生成一個ca.pem,該證書就是CA證書

二、簽發(fā)服務(wù)器端證書(右邊藍(lán)色背景部分)

CA證書還可以用于簽發(fā)子證書(數(shù)字證書),下面我們就模擬簽發(fā)一個服務(wù)端證書。仍然需要先創(chuàng)建一個服務(wù)器端私鑰server-key.pem

openssl genrsa -out server-key.pem 4096

創(chuàng)建服務(wù)器端CSRserver.csr,該文件作為向授權(quán)機構(gòu)申請簽發(fā)子證書的申請文件

openssl req -subj "/CN=192.168.1.111" -sha256 -new -key server-key.pem -out server.csr

模擬授權(quán)機構(gòu)創(chuàng)建配置文件,serverAuth表示服務(wù)端證書

echo subjectAltName = IP:192.168.1.111,IP:0.0.0.0 >> extfile.cnf 
echo extendedKeyUsage = serverAuth >> extfile.cnf

創(chuàng)建服務(wù)器端證書會提示輸入密碼,輸入上文中設(shè)置的密碼即可。

openssl x509 -req -days 3650 -sha256 -in server.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out server-cert.pem -extfile extfile.cnf

生成2個文件ca.srl、server-cert.pem,我們需要的是server-cert.pem作為服務(wù)端CA證書

三、簽發(fā)客戶端證書(左邊黃色背景的部分)

下面我們就模擬簽發(fā)一個客戶端證書。仍然需要先創(chuàng)建一個客戶端私鑰key.pem

openssl genrsa -out key.pem 4096

創(chuàng)建客戶端CSRclient.csr,該文件作為向授權(quán)機構(gòu)申請簽發(fā)子證書的申請文件

openssl req -subj '/CN=client' -new -key key.pem -out client.csr

模擬授權(quán)機構(gòu)創(chuàng)建配置文件,clientAuth 表示客戶端證書

echo extendedKeyUsage = clientAuth >> extfile.cnf

執(zhí)行下列命令同樣會提示輸入密碼,生成2個文件ca.srlcert.pem,我們需要的是cert.pem作為客戶端證書

openssl x509 -req -days 3650 -sha256 -in client.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out cert.pem -extfile extfile.cnf

四、簽發(fā)證書收尾工作

刪除證書簽發(fā)請求文件,已經(jīng)失去用處。

rm -v client.csr server.csr

為上文中生成的各種證書授予文件訪問權(quán)限。

chmod -v 0400 ca-key.pem key.pem server-key.pem;
chmod -v 0444 ca.pem server-cert.pem cert.pem;

查看CA證書有效期

# openssl x509 -in ca.pem -noout -dates
notBefore=Apr 10 01:17:55 2022 GMT
notAfter=Apr  7 01:17:55 2032 GMT

五、配置docker服務(wù)端

然后我們?yōu)閐ocker服務(wù)端配置證書,分別是ca.pem、server-cert.pem、server-key.pem。將這三個文件放入/etc/docker/cert/目錄下。

mkdir /etc/docker/cert/;
cp ./ca.pem ./server-cert.pem ./server-key.pem  /etc/docker/cert/;

修改vim /lib/systemd/system/docker.service文件中的ExecStart這一行,修改為如下的一段

ExecStart=/usr/bin/dockerd --tlsverify --tlscacert=/etc/docker/cert/ca.pem --tlscert=/etc/docker/cert/server-cert.pem --tlskey=/etc/docker/cert/server-key.pem -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

修改之后重啟docker服務(wù)

#重啟
systemctl daemon-reload && systemctl restart docker

六、IDEA配置使用客戶端證書

我們在IDEA docker插件客戶端證書配置處做如下選擇:“File -> Settings -> Build、Execution、Deployment -> Docker”

詳解docker?API管理接口增加CA安全認(rèn)證

  • Engine API URL的位置寫https://<ip>:2375,記住是https,不是http,也不是tcp
  • 將客戶端的需要的三個證書文件ca.pem、cert.pem、key.pem放入一個目錄下,并使選擇該目錄作為Certificates folder。

分享到:
標(biāo)簽:增加 安全認(rèn)證 接口 服務(wù)器 詳解
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運動步數(shù)有氧達(dá)人2018-06-03

記錄運動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定