最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2022年06月07日 09:51:38   作者:字母哥哥  
這篇文章主要介紹了docker?API管理接口增加CA安全認(rèn)證,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

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

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

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

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

正常情況下CA機(jī)構(gòu)有自己的私鑰,因?yàn)槲覀兪悄MCA機(jī)構(gòu),所以這個(gè)私鑰需要我們自己創(chuàng)建。執(zhí)行下文中的命令,輸入2次密碼(密碼務(wù)必記住,后文中需要使用),執(zhí)行完命令之后,當(dāng)前目錄下生成一個(gè)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)建機(jī)構(gòu)CA證書,執(zhí)行該命令首先會(huì)提示輸入密碼(上文中設(shè)置的)。正常請(qǐng)開給你下,該流程是某公司向CA提機(jī)構(gòu)提交自己公司的相關(guān)信息,CA授權(quán)機(jī)構(gòu)根據(jù)這些信息(審核信息之后)生成一個(gè)用于該公司的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)前目錄下生成一個(gè)ca.pem,該證書就是CA證書

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

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

openssl genrsa -out server-key.pem 4096

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

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

模擬授權(quán)機(jī)構(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ù)器端證書會(huì)提示輸入密碼,輸入上文中設(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個(gè)文件ca.srl、server-cert.pem,我們需要的是server-cert.pem作為服務(wù)端CA證書

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

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

openssl genrsa -out key.pem 4096

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

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

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

echo extendedKeyUsage = clientAuth >> extfile.cnf

執(zhí)行下列命令同樣會(huì)提示輸入密碼,生成2個(gè)文件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ā)請(qǐng)求文件,已經(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。將這三個(gè)文件放入/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配置使用客戶端證書

我們?cè)贗DEA docker插件客戶端證書配置處做如下選擇:“File -> Settings -> Build、Execution、Deployment -> Docker”

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

到此這篇關(guān)于docker API管理接口增加CA安全認(rèn)證的文章就介紹到這了,更多相關(guān)docker 增加CA安全認(rèn)證內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Docker一鍵部署springcloud項(xiàng)目的方法

    Docker一鍵部署springcloud項(xiàng)目的方法

    本文主要介紹了Docker一鍵部署springcloud項(xiàng)目的方法,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • docker使用dockercompose編排一個(gè)Hadoop集群方式

    docker使用dockercompose編排一個(gè)Hadoop集群方式

    這篇文章主要介紹了docker使用dockercompose編排一個(gè)Hadoop集群方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • 快速修改運(yùn)行中的docker容器端口映射的三種方式

    快速修改運(yùn)行中的docker容器端口映射的三種方式

    當(dāng)docker?start運(yùn)行容器后并沒有提供一個(gè)-p選項(xiàng)或設(shè)置,讓你修改指定端口映射規(guī)則,那么這種情況我們?cè)撛趺刺幚砟?今天教如何修改運(yùn)行中的docker容器的端口映射,感興趣的朋友跟隨小編一起看看吧
    2023-01-01
  • Docker多階段鏡像構(gòu)建的實(shí)現(xiàn)

    Docker多階段鏡像構(gòu)建的實(shí)現(xiàn)

    本篇文章主要介紹了Docker多階段鏡像構(gòu)建的實(shí)現(xiàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-04-04
  • docker鏡像如何啟動(dòng)es/kibana

    docker鏡像如何啟動(dòng)es/kibana

    這篇文章主要介紹了docker鏡像如何啟動(dòng)es/kibana問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • Docker鏡像重命名的實(shí)現(xiàn)方法

    Docker鏡像重命名的實(shí)現(xiàn)方法

    本文主要介紹了Docker鏡像重命名的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • docker 安裝 php-fpm 服務(wù) / 擴(kuò)展 / 配置的示例教程詳解

    docker 安裝 php-fpm 服務(wù) / 擴(kuò)展 / 配置的示例教程詳解

    這篇文章主要介紹了docker 安裝 php-fpm 服務(wù) / 擴(kuò)展 / 配置,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-05-05
  • Docker安裝MongoDB并使用Navicat連接的操作方法

    Docker安裝MongoDB并使用Navicat連接的操作方法

    MongoDB是一個(gè)基于分布式文件存儲(chǔ)的數(shù)據(jù)庫,MongoDB最大的特點(diǎn)是它支持的查詢語言非常強(qiáng)大,其語法有點(diǎn)類似于面向?qū)ο蟮牟樵冋Z言,幾乎可以實(shí)現(xiàn)類似關(guān)系數(shù)據(jù)庫單表查詢的絕大部分功能,這篇文章主要介紹了Docker安裝MongoDB并使用Navicat連接,需要的朋友可以參考下
    2022-10-10
  • Docker實(shí)現(xiàn)TLS和CA認(rèn)證的方法步驟

    Docker實(shí)現(xiàn)TLS和CA認(rèn)證的方法步驟

    為了更便捷地連接Docker服務(wù)器,Docker服務(wù)器需要開放2375端口才能連接docker,本文主要介紹了Docker實(shí)現(xiàn)TLS和CA認(rèn)證的方法步驟,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-06-06
  • docker引起服務(wù)器磁盤爆滿的問題解決

    docker引起服務(wù)器磁盤爆滿的問題解決

    本文主要介紹了docker引起服務(wù)器磁盤爆滿的問題解決,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06

最新評(píng)論

徐州市| 云阳县| 兴业县| 铅山县| 区。| 长沙县| 北京市| 长岭县| 布拖县| 河曲县| 高雄市| 民和| 桦南县| 时尚| 鲁甸县| 桃江县| 赤城县| 临武县| 宁国市| 大竹县| 黑山县| 集安市| 乌海市| 泰安市| 十堰市| 湄潭县| 贺兰县| 咸宁市| 石门县| 乌海市| 南丹县| 朝阳市| 麦盖提县| 吉隆县| 库伦旗| 汕头市| 通渭县| 静安区| 乐至县| 清徐县| 贵定县|