数码资讯
docker – 设置UFW default_forward_policy接受的安全隐患?
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
docker手册(
http://docs.docker.com/installation/ubuntulinux/#docker-and-ufw)声明将UFW DEFAULT_FORWARD_POLICY设置为“ACCEPT”是必要的,因此docker容器可以相互连接.
>在具有可公开访问的网络接口的服务器上执行此操作的安全含义是什么?
>如何保护这样的码头主机?
这些是docker创建的FORWARD链中的标准规则:
$iptables -vnL FORWARD
Chain FORWARD (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
6902 96M ACCEPT all -- * docker0 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED
6151 482K ACCEPT all -- docker0 !docker0 0.0.0.0/0 0.0.0.0/0
3 180 ACCEPT all -- docker0 docker0 0.0.0.0/0 0.0.0.0/0
自下而上:
>第三个规则是docker-> docker通信,它被无限制地接受.
>第二个规则是docker->任何地方(但不是docker),也可以不受限制地接受.
>第一个规则是任何地方 – > docker,只接受“回答”数据包.
这里没问题. (除非你想要传出过滤器)
您可以愉快地将FORWARD INPUT策略设置为DROP / REJECT.
现在,您可能想要在互联网上提供服务.例如.简单的网络服务器:
$docker run -d -p 80:80 dockerfile/nginx
好的,现在去yourserver.com.您将看到默认的nginx页面.为什么? Docker为你在iptables中添加了一些特殊规则.
$iptables -vn -t nat -L # NAT table, truncated for clarity
Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
189 11900 DOCKER all -- * * 0.0.0.0/0 0.0.0.0/0 ADDRTYPE match dst-type LOCAL
Chain DOCKER (2 references)
pkts bytes target prot opt in out source destination
0 0 DNAT tcp -- !docker0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 to:172.17.0.15:80
$iptables -vnL FORWARD
Chain FORWARD (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.15 tcp dpt:80
6903 96M ACCEPT all -- * docker0 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED
6159 483K ACCEPT all -- docker0 !docker0 0.0.0.0/0 0.0.0.0/0
3 180 ACCEPT all -- docker0 docker0 0.0.0.0/0 0.0.0.0/0
如果有容器监听,那些规则会规避所有的ufw规则. ufw在nat表中没有任何作用,Docker在FORWARD链的第一个位置设置它的规则.因此,您无法阻止IP地址或进行任何类型的速率限制.
可能的解决方案:
>使用–iptables = false启动Docker并手动执行所有操作.艰苦的解决方案,因为每次重新启动容器时,它都会获得一个新的IP(目前,他们计划更改它).>使用-p 127.0.0.1:30080:80绑定localhost上的所有端口并创建自己的iptables规则以实现目标.>以某种方式修改ufw?>不要使用任何防火墙框架.我现在这样做.我的所有规则都以iptables命令保存在单独的脚本中.重新启动并启动每个服务泊坞窗后执行此脚本.有点hacky它有效…
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。