文档首页/ 云容器引擎 CCE/ 最佳实践/ 安全/ CCE节点安全配置建议
更新时间:2024-05-29 GMT+08:00
分享

CCE节点安全配置建议

及时跟踪处理官网发布的漏洞

节点在新的镜像发布前请参考漏洞公告,完成节点漏洞修复。

节点不暴露到公网

  • 如非必需,节点不建议绑定EIP,以减少攻击面。
  • 在必须使用EIP的情况下,应通过合理配置防火墙或者安全组规则,限制非必须的端口和IP访问。

在使用cce集群过程中,由于业务场景需要,在节点上配置了kubeconfig.json文件,kubectl使用该文件中的证书和私钥信息可以控制整个集群。在不需要时,请清理节点上的/root/.kube目录下的目录文件,防止被恶意用户利用:

rm -rf /root/.kube

加固VPC安全组规则

CCE作为通用的容器平台,安全组规则的设置适用于通用场景。用户可根据安全需求,通过网络控制台安全组找到CCE集群对应的安全组规则进行安全加固。

详情请参见如何加固CCE集群的自动创建的安全组规则?

节点应按需进行加固

CCE服务的集群节点操作系统配置与开源操作系统默认配置保持一致,用户在节点创建完成后应根据自身安全诉求进行安全加固。

CCE提供以下建议的加固方法:

  • 通过“创建节点”的“安装后执行脚本”功能,在节点创建完成后,执行命令加固节点。具体操作步骤参考创建节点的“云服务器高级设置”的“安装后执行脚本”。“安装后执行脚本”的内容需由用户提供。
  • 通过CCE提供的“私有镜像制作”功能,制作私有镜像作为集群的工作节点镜像。用户按照指导,基于自己的安全加固镜像制作可用于集群工作节点创建的私有镜像,制作流程参考自定义镜像

禁止容器获取宿主机元数据

当用户将单个CCE集群作为共享集群,提供给多个用户来部署容器时,应限制容器访问openstack的管理地址(169.254.169.254),以防止容器获取宿主机的元数据。

修复方式参考ECS文档-元数据获取-使用须知。

该修复方案可能影响通过ECS Console修改密码,修复前须进行验证。

  1. 获取集群的网络模式和容器网段信息。

    在CCE的“集群管理”界面查看集群的网络模式和容器网段。

  2. 禁止容器获取宿主机元数据。

    • VPC网络集群
      1. 以root用户登录集群的每一个node节点,执行以下命令:
        iptables -I OUTPUT -s {container_cidr} -d 169.254.169.254 -j REJECT

        其中,{container_cidr}是集群的容器网络,如10.0.0.0/16。

        为保证配置持久化,建议将该命令写入/etc/rc.local 启动脚本中。

      2. 在容器中执行如下命令访问openstack的userdata和metadata接口,验证请求是否被拦截。
        curl 169.254.169.254/openstack/latest/meta_data.json
        curl 169.254.169.254/openstack/latest/user_data
    • 容器隧道网络集群
      1. 以root用户登录集群的每一个node节点,执行以下命令:
        iptables -I FORWARD -s {container_cidr} -d 169.254.169.254 -j REJECT

        其中,{container_cidr}是集群的容器网络,如10.0.0.0/16。

        为保证配置持久化,建议将该命令写入/etc/rc.local 启动脚本中。

      2. 在容器中执行如下命令访问openstack的userdata和metadata接口,验证请求是否被拦截。
        curl 169.254.169.254/openstack/latest/meta_data.json
        curl 169.254.169.254/openstack/latest/user_data
    • CCE Turbo集群

      v1.23.13-r0、v1.25.8-r0、v1.27.5-r0、v1.28.3-r0以下版本集群:无需进行额外配置。

      v1.23.13-r0、v1.25.8-r0、v1.27.5-r0、v1.28.3-r0及以上版本集群:登录CCE控制台,单击集群名称,并在左侧导航栏中选择“配置中心”,查看“网络配置”页签中的“Pod访问元数据”配置。
      • “Pod访问元数据”处于关闭状态时,无需进行额外配置,已禁止容器获取宿主机元数据。
      • “Pod访问元数据”处于开启状态时,请参考以下步骤禁止容器获取宿主机元数据。
        1. 以root用户登录集群的每一个node节点,执行以下命令:
          iptables -I FORWARD -s {container_cidr} -d 169.254.169.254 -j REJECT

          其中,{container_cidr}是集群的容器网络,如10.0.0.0/16。

          为保证配置持久化,建议将该命令写入/etc/rc.local 启动脚本中。

        2. 在容器中执行如下命令访问openstack的userdata和metadata接口,验证请求是否被拦截。
          curl 169.254.169.254/openstack/latest/meta_data.json
          curl 169.254.169.254/openstack/latest/user_data

相关文档