Jos*_*iah 2 registry docker docker-registry
我想阻止对默认docker.io注册表的访问。为了安全/ IP保护,我们需要阻止对公共Docker集线器的推/拉访问。
已经有很多尝试将其设置为配置选项,但是所有PR都一直被拒绝。红帽已经实现了“ --block-registry”和“ --add-registry”,这正是我所需要的,但是它仅适用于Red Hat的docker v1.10的fork,我想使用docker v1。 12+
我正在使用RHEL / Centos 7
通过/ etc / hosts中的以下命令,DNS欺骗似乎不再起作用(不再):
127.0.0.1 index.docker.io registry.docker.io registry-1.docker.io docker.io
Run Code Online (Sandbox Code Playgroud)
而且我似乎无法通过以下规则来阻止防火墙访问(其中,IP地址当前是来自/ etc / hosts中列出的上述主机的IP):
# firewall-cmd --direct --get-rules ipv4 filter OUTPUT
0 -p tcp -m tcp --dport 5000 -j REJECT
0 -p tcp -m tcp --dport 443 -j REJECT
0 -p tcp -m tcp -d 52.207.178.113 -j DROP
0 -p tcp -m tcp -d 52.73.159.23 -j DROP
0 -p tcp -m tcp -d 54.85.12.131 -j DROP
0 -p tcp -m tcp -d 52.6.119.223 -j DROP
0 -p tcp -m tcp -d 52.0.53.94 -j DROP
0 -p tcp -m tcp -d 34.192.123.224 -j DROP
0 -m state --state ESTABLISHED,RELATED -j ACCEPT
1 -p tcp -m tcp --dport 80 -j ACCEPT
1 -p tcp -m tcp --dport 53 -j ACCEPT
1 -p udp --dport 53 -j ACCEPT
1 -p tcp -m tcp --dport 2376 -j ACCEPT
2 -j REJECT
Run Code Online (Sandbox Code Playgroud)
要么
# firewall-cmd --direct --get-rules ipv4 filter FORWARD
0 -p tcp -m tcp --dport 5000 -j REJECT
0 -p tcp -m tcp --dport 443 -j REJECT
0 -p tcp -m tcp -d 52.207.178.113 -j DROP
0 -p tcp -m tcp -d 52.73.159.23 -j DROP
0 -p tcp -m tcp -d 54.85.12.131 -j DROP
0 -p tcp -m tcp -d 52.6.119.223 -j DROP
0 -p tcp -m tcp -d 52.0.53.94 -j DROP
0 -p tcp -m tcp -d 34.192.123.224 -j DROP
Run Code Online (Sandbox Code Playgroud)
在所有这些都到位之后,我仍然可以从docker.io搜索/拉取。
维护人员关闭了解决此问题的PR之一,维护人员说,防火墙似乎应该解决该问题。有人可以告诉我如何实际完成吗?
小智 7
将此添加到 Ubuntu 上的 /etc/hosts 对我有用:
0.0.0.0 index.docker.io auth.docker.io registry-1.docker.io dseasb33srnrn.cloudfront.net production.cloudflare.docker.com
Run Code Online (Sandbox Code Playgroud)
我从这里得到了域列表:https : //support.sonatype.com/hc/en-us/articles/115015442847-Whitelisting-Docker-Hub-Hosts-for-Firewalls-and-HTTP-Proxy-Servers
小智 5
在redhat / centos上添加
--block-registry docker.io
Run Code Online (Sandbox Code Playgroud)
到您从任何位置启动docker引擎的位置(可能/etc/sysconfig/docker在redhat上,或者可能/lib/systemd/system/docker.service)
无论是哪种情况,请不要忘记刷新systemd服务文件(systemctl daemon-reload)和重新启动docker引擎(systemctl restart docker.service)
现在,如果您执行ps auxwwf | grep dockerdocker engine --block-register标志,则该标志应出现在进程列表中。
我来这里是因为这在debian / ubuntu上不起作用,我正在寻找在debian上这样做的方法。= / HTH
| 归档时间: |
|
| 查看次数: |
2473 次 |
| 最近记录: |