docker被入侵后.............


服務器上線后,怎么發現總有個 xmrig 的容器在跑,刪了還出來

那么恭喜你!!你的服務器已經被入侵了!!
$ docker ps
IMAGE               COMMAND                  CREATED           STATUS                           PORTS    NAMES
linuxrun/cpu2     "./xmrig --algo=cr...."    4 hours ago     Exited (137) 7 minutes ago                  linuxrun-cpu2

這就是有人在你的 Docker 宿主上跑了一個 xmrig 挖礦的蠕蟲,因為你的系統被入侵了……
 
在你說 Docker 不安全之前,先檢討一下自己是不是做錯了。
檢查一下 dockerd 引擎是否配置錯誤:ps -ef | grep dockerd,如果你看到的是這樣子的:
$ ps -ef | grep dockerd
123  root   12:34   /usr/bin/dockerd -H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375
 
如果在其中沒有 --tlsverify 類的 TLS 配置參數,那就說明你將你的系統大門徹底敞開了。這是配置上嚴重的安全事故。
-H tcp://0.0.0.0:2375 是說你希望通過 2375/tcp 來操控你的 Docker 引擎,但是如果你沒有加 --tlsverify 類的配置,就表明你的意圖是允許任何人來操控你的 Docker 引擎,而 Docker 引擎是以 root 權限允許的,
因此,你等於給了地球上所有人你服務器的 root 權限,而且還沒密碼。
 
如果細心一些,去查看 dockerd 的服務日志,journalctl -u docker,日志中有明確的警告,警告你這么配置是極端危險的:
$ journalctl -u docker
...
level=warning msg="[!] DON'T BIND ON ANY IP ADDRESS WITHOUT setting --tlsverify IF YOU DON'T KNOW WHAT YOU'RE DOING [!]"
...
如果這些你都忽略了,那么被別人入侵就太正常了,是你自己邀請別人來的。所以,Docker 服務綁定端口,必須通過 TLS 保護起來,以后見到 -H tcp://.... 就要檢查,是否同時配置了 --tlsverify,如果沒看到,那就是嚴重錯誤了。
 
這也是為什么推薦使用 docker-machine 進行 Docker 宿主管理的原因,因為 docker-machine 會幫你創建證書、配置 TLS,確保服務器的安全。
 
配置 TLS 的信息可以查看官網文檔: https://docs.docker.com/engine/security/https/
關於 docker-machine 的介紹,可以看官網文檔: https://docs.docker.com/machine/overview/
 
 
歡迎加入QQ群一起討論Linux、開源等技術


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM