3.1.3 容器网络存在的风险

我们刚刚提到,默认情况下每个容器处于自己独立的网络命名空间中,与宿主机之间存在隔离。然而,每个容器都处于由docker0网桥构建的同一局域网内,彼此之间互相连通。理论上,容器之间可能发生网络攻击,尤其是中间人攻击等局域网内常见的攻击方式。

事实也确实如此。容器内的root用户虽然被Docker禁用了许多权限(Capabilities机制),但它目前依然具有CAP_NET_RAW权限,具备构造并发送ICMP、ARP等报文的能力。因此,ARP欺骗、DNS劫持等中间人攻击是可能发生在容器网络的。