Docker Remote API 訪問控制
- Docker的遠程調用 API 接口存在未授權訪問漏洞,至少應限制外網訪問。建議使用 Socket 方式訪問,監聽內網 ip,docker daemon 啓動方式如下:
[root@localhost ~]# vim /usr/lib/systemd/system/docker.service
##更改插入如下內容
#ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
ExecStart=/usr/bin/dockerd -H unix:///var/run/docker.sock -H tcp://192.168.7.168:2375
[root@localhost ~]# systemctl daemon-reload
[root@localhost ~]# systemctl restart docker
[root@localhost ~]# netstat -natp | grep dockerd
tcp 0 0 192.168.7.168:2375 0.0.0.0:* LISTEN 7772/dockerd
- 在宿主機的firewalld上做客戶端的IP訪問控制,只允許指定的主機可以遠程訪問
[root@localhost ~]# firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.7.169" port protocol="tcp" port="2375" accept"
[root@localhost ~]# firewall-cmd --reload
[root@client ~]# docker -H tcp://192.168.7.168:2375 images
REPOSITORY TAG IMAGE ID CREATED SIZE