服務器(centos7)使用docker被病毒攻擊,導致cpu100解決方案


這是我參考的文章:

https://blog.csdn.net/boling_cavalry/article/details/100601169
https://www.cnblogs.com/zhenglisai/p/8416353.html

使用top命令查看cpu一直是100,並且docker多出來了很多不爲人知的鏡像和容器

由於本人是第一次服務器遇到這種情況。所以請教了一個大佬,說是我的docker API沒有設置密碼,導致了被攻擊,使用我服務器進行挖礦

下面是我的top截圖,以及服務器系統日誌的記錄的被攻擊日誌,還有docker多出來的容器截圖

top查看cpu100
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
以上就是我服務器被攻擊的記錄,下面是解決方案

docker開啓remote api訪問,並使用TLS加密

這裏是官方的權威文檔:官方安全文檔
默認情況下,Docker通過非網絡UNIX套接字運行。它還可以選擇使用HTTP套接字進行通信。
如果您需要通過網絡以安全方式訪問Docker,可以通過指定該tlsverify標誌並將Docker的tlscacert標誌指向 受信任的CA證書來啓用TLS 。
在守護程序模式下,它僅允許來自由該CA簽名的證書驗證的客戶端的連接。在客戶端模式下,它僅連接到具有該CA簽名的證書的服務器。

創建密鑰的過程:

  1. 創建自定義文件夾mkdir /root/work
  2. 切換到該文件夾:cd /root/work
  3. 使用腳本生成祕鑰文件:
    #!/bin/bash
    #創建根證書RSA私鑰:
    #頁面提示Enter pass phrase for ca-key.pem,此時輸入祕鑰的密碼,我這裏輸入了1234,回車後會要求再輸入一次,兩次密碼一致就會在當前目錄生成CA祕鑰文件ca-key.pem
    openssl genrsa -aes256 -out ca-key.pem 4096
    #以此祕鑰創建CA證書,自己給自己簽發證書,自己就是CA機構,也可以交給第三方機構去簽發:
    #此時生成的ca.pem文件就是CA證書;
    openssl req -new -x509 -days 1000 -key ca-key.pem -sha256 -subj “/CN=" -out ca.pem
    #創建服務端私鑰:
    openssl genrsa -out server-key.pem 4096
    #生成服務端證書籤名請求(csr即certificate signing request,裏面包含公鑰與服務端信息)
    openssl req -subj "/CN=
    ” -sha256 -new -key server-key.pem -out server.csr
    #生成簽名過的服務端證書(期間會要求輸入密碼1234):
    openssl x509 -req -days 1000 -sha256 -in server.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out server-cert.pem
    #此時生成的server-cert.pem文件就是已蓋章生效的服務端證書;
    #生成客戶私鑰:
    openssl genrsa -out key.pem 4096
    #生成客戶端證書籤名請求:
    openssl req -subj “/CN=client” -new -key key.pem -out client.csr
    #生成名爲extfile.cnf的配置文件:
    echo extendedKeyUsage=clientAuth > extfile.cnf
    #生成簽名過的客戶端證書(期間會要求輸入密碼1234):
    openssl x509 -req -days 1000 -sha256 -in client.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out cert.pem -extfile extfile.cnf
    #將多餘的文件刪除:
    rm -rf ca.srl client.csr extfile.cnf server.csr
    chmod -v 0400 ca-key.pem key.pem server-key.pem
    chmod -v 0444 ca.pem server-cert.pem cert.pem
  4. 打開文件:vim /lib/systemd/system/docker.service
  5. 修改ExecStart配置:ExecStart=/usr/bin/dockerd -H unix:///var/run/docker.sock -D -H tcp://0.0.0.0:2375 –tlsverify –tlscacert=/root/work/ca.pem — tlscert=/root/work/server-cert.pem –tlskey=/root/work/server-key.pem
  6. 加載上述配置,再重啓docker服務:systemctl daemon-reload && systemctl restart docker
  7. 完成。歡迎留言評論
發佈了11 篇原創文章 · 獲贊 5 · 訪問量 2105
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章