欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

docker開通2375端口防漏洞問題

 更新時間:2023年08月08日 09:10:34   作者:你瞅口舍灬  
這篇文章主要介紹了docker開通2375端口防漏洞問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

前言

最近因為自己的云服務(wù)器開放了Docker 2375端口,導(dǎo)致被注入蠕蟲,一直在跑挖礦程序。

所以大家一定要注意外網(wǎng)環(huán)境下不要輕易打開此端口,如果要對外開放此端口,可以參考下面的解決方案,下面就Docker對外開放2375端口引發(fā)安全漏洞進行一個詳細的說明。

緣由

2375:未加密的docker socket,遠程root無密碼訪問主機為了實現(xiàn)集群管理,Docker提供了遠程管理接口。

Docker Daemon作為守護進程,運行在后臺,可以執(zhí)行發(fā)送到管理接口上的Docker命令。

正是因為錯誤的使用了Docker遠端接口,引起安全漏洞。

啟動Docker Daemon時,加入-H 0.0.0.0:2375,Docker Daemon就可以接收遠端的Docker Client發(fā)送的指令。

注意,Docker是把2375端口作為非加密端口暴露出來,一般是用在內(nèi)網(wǎng)環(huán)境中。

此時,沒有任何加密和認證過程,只要知道Docker主機的IP,任何人都可以管理這臺主機上的容器和鏡像。

黑客可以掃描出主機上的暴露的端口,因為沒有加密,知道了主機IP以后,黑客就可以為所欲為了。

解決方案

知道了來龍去脈,下面就如何安全開放Docker 2375端口進行一個詳細的介紹。

我們可以通過添加安全傳輸層協(xié)議(TLS)和CA認證對2375端口進行一個驗證。

這樣黑客只要拿不到我們的證書秘鑰,就無法進行攻擊了。

1. 創(chuàng)建一個目錄用于存儲生成的證書和秘鑰

mkdir /docker-ca && cd /docker-ca

2. 使用openssl創(chuàng)建CA證書私鑰

期間需要輸入兩次密碼,生成文件為ca-key.pem

openssl genrsa -aes256 -out ca-key.pem 4096
Enter pass phrase for ca-key.pem: Your password
(hylink2014)

3. 根據(jù)私鑰創(chuàng)建CA證書

期間需要輸入上一步設(shè)置的私鑰密碼,然后依次輸入國家是 CN,省例如是Guangdong、市Guangzhou、組織名稱、組織單位、姓名或服務(wù)器名、郵件地址,都可以隨意填寫,生成文件為ca.pem(注意證書有效期)

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

4. 創(chuàng)建服務(wù)端私鑰

生成文件為server-key.pem

openssl genrsa -out server-key.pem 4096

5. 創(chuàng)建服務(wù)端證書簽名請求文件

用于CA證書給服務(wù)端證書簽名。IP需要換成自己服務(wù)器的IP地址,或者域名都可以。生成文件server.csr

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

6. 配置白名單,用多個用逗號隔開

例如: IP:192.168.0.1,IP:0.0.0.0,這里需要注意,雖然0.0.0.0可以匹配任意,但是仍然需要配置你的服務(wù)器IP,如果省略會造成錯誤

echo subjectAltName = IP:Your server IP,IP:0.0.0.0 >> extfile.cnf
echo subjectAltName = IP:35.1.176.8,IP:0.0.0.0 >> extfile.cnf

7. 將Docker守護程序密鑰的擴展

使用屬性設(shè)置為僅用于服務(wù)器身份驗證

echo extendedKeyUsage = serverAuth >> extfile.cnf

8. 創(chuàng)建CA證書簽名好的服務(wù)端證書

期間需要輸入CA證書私鑰密碼,生成文件為server-cert.pem

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

9. 創(chuàng)建客戶端私鑰

生成文件為key.pem

openssl genrsa -out key.pem 4096

10. 創(chuàng)建客戶端證書簽名請求文件

用于CA證書給客戶證書簽名,生成文件client.csr

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

11. 要使密鑰適合客戶端身份驗證

請創(chuàng)建擴展配置文件

echo extendedKeyUsage = clientAuth >> extfile.cnf

12. 創(chuàng)建CA證書簽名好的客戶端證書

期間需要輸入CA證書私鑰密碼,生成文件為cert.pem

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

13. 刪除不需要的文件

兩個證書簽名請求

rm -v client.csr server.csr

14. 修改證書為只讀權(quán)限保證證書安全

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

15. 歸集服務(wù)器證書

cp server-*.pem /etc/docker/ && cp ca.pem /etc/docker/ 

最終生成文件如下,有了它們我們就可以進行基于TLS的安全訪問了

ca.pem CA證書

  • ca-key.pem CA證書私鑰
  • server-cert.pem 服務(wù)端證書
  • server-key.pem 服務(wù)端證書私鑰
  • cert.pem 客戶端證書
  • key.pem 客戶端證書私鑰

16. 配置Docker支持TLS

修改docker.service文件

vi /usr/lib/systemd/system/docker.service

實際位置:

vi /etc/systemd/system/docker.service

修改以ExecStart開頭的配置,開啟TLS認證,并配置好CA證書、服務(wù)端證書和服務(wù)端私鑰

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

重新加載daemon

systemctl daemon-reload && systemctl restart docker

重啟docker

service docker restart

17. 在客戶端測試連接

保存相關(guān)客戶端的pem文件到本地

IDEA->Preferences->Bulild, Execution,Deployment->Docker->TCP socket

到此,Docker對外開放2375端口再也不怕被攻擊了!

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Docker大型項目容器化改造

    Docker大型項目容器化改造

    今天小編就為大家分享一篇關(guān)于Docker大型項目容器化改造,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • docker部署code-server的方法

    docker部署code-server的方法

    這篇文章主要介紹了docker部署code-server的方法,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-09-09
  • docker之如何搭建VXXXN

    docker之如何搭建VXXXN

    文章介紹了如何快速搭建IPsec-vvv-server并配置以啟動和運行,首先在服務(wù)器上執(zhí)行相關(guān)命令,然后查看運行情況并配置安全組開放指定端口,測試使用Win10系統(tǒng)自帶的VXXXN應(yīng)用連接失敗,但手機連接成功,文章提供了一定的配置指導(dǎo),并鼓勵大家參考和支持
    2025-01-01
  • Docker安裝官方Redis鏡像并啟用密碼認證

    Docker安裝官方Redis鏡像并啟用密碼認證

    這篇文章主要介紹了Docker安裝官方Redis鏡像并啟用密碼認證,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-02-02
  • docker運行jar包加載外部配置文件方式

    docker運行jar包加載外部配置文件方式

    這篇文章主要介紹了docker運行jar包加載外部配置文件方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • 關(guān)于docker部署的jenkins跑git上的程序的問題

    關(guān)于docker部署的jenkins跑git上的程序的問題

    這篇文章主要介紹了docker部署的jenkins跑git上的程序的相關(guān)知識,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-11-11
  • 使用docker命令不需要敲sudo的操作

    使用docker命令不需要敲sudo的操作

    這篇文章主要介紹了使用docker命令不需要敲sudo的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • k8s和Docker關(guān)系簡單說明

    k8s和Docker關(guān)系簡單說明

    這篇文章主要介紹了k8s和Docker關(guān)系簡單說明,本文利于圖文講解的很透徹,有需要的同學(xué)可以研究下
    2021-03-03
  • Docker容器日志查看和清理的圖文教程

    Docker容器日志查看和清理的圖文教程

    docker容器在運行過程中會產(chǎn)生日志,日志的量跟具體的容器有關(guān),下面這篇文章主要給大家介紹了關(guān)于Docker容器日志查看和清理的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-02-02
  • docker nginx 配置文件要點及注意事項

    docker nginx 配置文件要點及注意事項

    本文介紹了Nginx的配置要點及注意事項,包括訪問靜態(tài)資源、負載均衡等,在訪問靜態(tài)資源時,可以使用root或alias指令指定路徑,本文給大家介紹的非常詳細,感興趣的朋友一起看看吧
    2025-02-02

最新評論