1、首先是安裝 docker 這裡就不說了
2、檢視一下 docker api的版本
>sudo docker version
client:
version: 1.10.2
api version: 1.22
go version: go1.5.3
git commit: c3959b1
built: mon feb 22 21:37:01 2016
os/arch: linux/amd64
server:
version: 1.10.2
api version: 1.22
go version: go1.5.3
git commit: c3959b1
built: mon feb 22 21:37:01 2016
os/arch: linux/amd64
檢視對應的文件
預設情況下,docker daemon監聽unix://var/run/docker.sock,
並且必須有root許可權用來操作daemon,不然報 cannot connect to the docker daemon. is the docker daemon running on this host?
為了使用docker rest api,可以先停止docker服務,然後在啟動的時候加-h標記開啟遠端訪問:
service docker stop
docker -d -h unix:///var/run/docker.sock -h 0.0.0.0:5555
為了使配置永久生效,在ubuntu環境下修改其配置檔案 /etc/default/docker,
加入 docker_opts="-h=unix:///var/run/docker.sock -h=0.0.0.0:5555"
然後重啟 docker服務
>sudo service docker restart
docker stop/waiting
docker start/running, process 14768
測試一下 是否開啟成功
curl
這步成功了,下面就是 根據官方文件各種玩了Docker Remote API未授權訪問
0x00 漏洞原因dockerd h unix var run docker.sock h 0.0.0.0 2375 docker守護程序監聽在0.0.0.0,外網可訪問 沒有使用iptables等限制可連線的 ip0x01 漏洞利用 1.遠端對被攻擊的主機的docker容器進行操作 docker ...
Docker Remote API 未授權訪問
docker 在使用集群管理 如 kubernetes,swarm 時,要使用remote api對節點進行管理。remote api無認證時的預設埠是2375 需要tls認證預設登入是2376 remote api預設是可以不需要認證能直接訪問,能直接對docker進行操作,如新建容器,刪除容器,...
docker remote api 的安全隱患
開啟docker的api,首先要知道docker的守護程序daemon,在下認為daemon作為client和service連線的乙個橋梁,負責代替將client的請求傳遞給service端。預設情況daemon只由root控制,但我們可以通過 h繫結到埠上,這樣通過埠訪問的方式執行命令。我用的是u...