容器服务安全组设置

最近更新时间: 2024-10-17 17:10:00

安全问题向来是一个大家非常关注的问题,腾讯云金融专区将安全性作为产品设计中的最高原则,严格要求产品做到安全隔离,容器服务同样非常看重这一点。腾讯云金融专区的基础网络可以提供充分的安全保障,容器服务选择了网络特性更丰富的 VPC 私有网络 来作为容器服务的底层网络,本文档主要介绍容器服务下使用安全组的最佳实践,帮助大家选择安全组策略。

安全组

安全组是一种有状态的包过滤功能的虚拟防火墙,它用于设置单台或多台云服务器的网络访问控制,是腾讯云金融专区提供的重要的网络安全隔离手段。更多安全组的介绍可以查看 安全组。

使用容器服务选择安全组的原则

  1. 由于在容器集群中,服务实例采用分布式的方式进行部署,不同的服务实例混部在集群的节点上。建议同一个集群下的主机绑定同一个安全组,集群的安全组不添加其他云服务器。

  2. 安全组只对外开放最小权限。

  3. 需放通以下容器服务使用规则:

    • 放通容器实例网络和集群节点网络 当服务访问到达主机节点后,会通过 Kube-proxy 模块设置的 iptables 规则将请求进行转发到服务的任意一个实例。由于服务的实例有可能在另外的节点上,这时会出现跨节点访问。访问的目的 IP 为服务的实例的 IP ,访问的目的 IP 为节点 IP (或者节点上集群 cbr0 网桥的 IP )。这就需要在对端节点上放通容器实例网络和集群节点网络访问。

    • 同一 VPC 不同集群互访的情况,需要放通对应集群的容器网络和节点网络

    • 需要 SSH 登录节点的放通 22 端口

    • 放通节点 30000 ~ 32768 端口 在访问路径中,需要通过负载均衡器将数据包转发到容器集群的 NodeIP:NodePort 上。其中 NodeIP 为集群中任意一节点的主机 IP ,而 NodePort 是在创建服务时容器集群为服务默认分配的,NodePort 的范围为 30000 ~ 32768 。 下图以外网访问服务为例:

建议

建议通过容器服务提供的安全组模板来配置集群的安全组。安全组的具体配置规则如下:

入站规则:

协议 端口 网段 是否允许 说明
TCP 30000-32768 0.0.0.0/0 允许 放通所有 IP 对 30000-32768 端口 TCP 访问
UDP 30000-32768 0.0.0.0/0 允许 放通所有 IP 对 30000-32768 端口 UDP 访问
All traffic ALL 10.0.0.0/8 允许 放通 10.0.0.0/8 内网网段的访问
All traffic ALL 172.16.0.0/12 允许 放通 172.16.0.0/12 内网网段的访问
All traffic ALL 192.168.0.0/16 允许 放通 192.168.0.0/16 内网网段的访问
TCP 22 0.0.0.0/0 允许 放通所有 IP 对 22 端口的访问
All traffic ALL 0.0.0.0/0 拒绝 未匹配已有规则,则拒绝

出站规则:

协议 端口 网段 是否允许 说明
All traffic ALL 0.0.0.0/0 允许 放通所有规则

容器节点配置该规则,能够满足不同的访问方式访问集群中服务。 集群中服务的访问方式,可以参考 服务访问方式设置 。