文档首页/ 企业主机安全 HSS/ 用户指南/ 容器防御/ 容器防火墙/ 设置网络防御策略(容器隧道网络模型集群)
更新时间:2024-09-24 GMT+08:00

设置网络防御策略(容器隧道网络模型集群)

容器隧道网络模型的集群支持通过设置网络防御策略限制访问Pod的流量。当未配置网络策略时,默认所有进出命名空间中的Pod的流量都被允许。

本章节介绍如何为容器隧道网络模型的集群设置网络策略。

约束与限制

  • 仅容器隧道网络模型的集群支持网络策略。网络策略分为以下规则
    • 入方向规则:所有集群版本均支持。
    • 出方向规则:集群版本大于或等于1.23时支持。
  • 不支持对IPv6地址网络隔离。

创建网络防御策略

您可以通过以下方式创建网络防御策略。

  1. 登录管理控制台
  2. 在页面左上角选择“区域”,单击,选择“安全与合规 > 企业主机安全”,进入主机安全平台界面。
  3. 在左侧导航栏选择 > 容器防火墙,进入“容器防火墙”页面。
  4. (可选)如果您已开通企业项目,可在界面上方的“企业项目”下拉列表中选择目标主机所在的企业项目。
  5. 在集群列表上方,单击“手动同步”,同步所有集群已创建的策略。

    同步任务大概执行1~2分钟,请您稍作等待后单击列表右上方,刷新查看最新数据。

    图1 同步CCE集群策略

  6. 单击容器隧道网络模型的集群所在行操作列的“策略管理”,进入策略管理页面。
  7. 单击策略列表上方“YAML创建”
  8. 在YAML创建界面输入或单击“导入”数据。

    以下为一个YAML创建的网络策略示例:

    apiVersion: networking.k8s.io/v1
    kind: NetworkPolicy
    metadata:
      name: test-network-policy
      namespace: default
    spec:
      podSelector:                    #规则对具有role=db标签的Pod生效                 
        matchLabels:
          role: db
      policyTypes:
        - Ingress
        - Egress
      ingress:                        #表示入规则
        - from:
            - namespaceSelector:      #只允许具有project=myproject的命名空间访问
                matchLabels:
                  project: myproject
            - podSelector:            #只允许具有role=frontend标签的Pod访问
                matchLabels:
                  role: frontend
          ports                       #只允许使用TCP协议访问6379端口 
            - protocol: TCP
              port: 6379
      egress:                         #表示出规则
        - to:
            - ipBlock:                #只允许访问目的对象的10.0.0.0/24网段。
                cidr: 10.0.0.0/24
          ports:                      #只允许使用TCP协议访问目的对象的6379端口
            - protocol: TCP
              port: 6379
    

  9. 输入完成后,单击“确认”
  1. 登录管理控制台
  2. 在页面左上角选择“区域”,单击,选择“安全与合规 > 企业主机安全”,进入主机安全平台界面。
  3. 在左侧导航栏选择 > 容器防火墙,进入“容器防火墙”页面。
  4. (可选)如果您已开通企业项目,可在界面上方的“企业项目”下拉列表中选择目标主机所在的企业项目。
  5. 在集群列表上方,单击“手动同步”,同步所有集群已创建的策略。

    同步任务大概执行1~2分钟,请您稍作等待后单击列表右上方,刷新查看最新数据。

    图2 同步CCE集群策略

  6. 单击容器隧道网络模型的集群所在行操作列的“策略管理”,进入策略管理页面。
  7. 单击网络策略列表上方“创建网络策略”

    • 策略名称:自定义输入网络策略名称。
    • 命名空间:选择网络策略所在命名空间。
    • 选择器:输入标签键和标签值选择要关联的Pod,然后单击“确认添加”。您也可以单击“引用负载标签”直接引用已有负载的标签。不选择时,默认关联命名空间下的全部Pod。
    • 入方向规则:单击添加规则,添加入方向规则,参数说明请参见表 添加入方向规则
      表1 添加入方向规则

      参数

      参数说明

      协议端口

      填写需要关联的Pod的入方向协议类型和端口,目前支持TCP和UDP协议。不填写表示全部放通。

      源对象命名空间

      选择允许哪个命名空间的对象访问。不填写表示和当前策略属于同一命名空间。

      源对象Pod标签

      允许带有这个标签的Pod访问,不填写表示允许命名空间下全部Pod访问。

    • 出方向规则:单击添加规则,添加出方向规则,参数说明请参见表 添加出方向规则
      表2 添加出方向规则

      参数

      参数说明

      协议端口

      填写目的对象的端口和协议。不填写表示不限制。

      目标网段

      允许将流量转发至指定的一个网段内(可指定多个例外网段)。

      指定网段和例外网段用竖线(|)分隔,多个例外网段用逗号(,)分隔。

      例如:172.17.0.0/16|172.17.1.0/24,172.17.2.0/24 表示允许访问 172.17.0.0/16 网段,其中 172.17.1.0/24 和 172.17.2.0/24 两个网段例外。

      目的对象命名空间

      目的对象所在的命名空间,不填写表示和当前策略属于同一命名空间。

      目的对象Pod标签

      允许访问带有这个标签的Pod,不填写表示允许访问命名空间下全部Pod。

  1. 设置完成后,单击“确定”

相关操作

修改或删除网络策略

  1. 进入企业主机安全控制台。
  2. 在左侧导航栏选择 > 容器防火墙,进入“容器防火墙”页面。
  3. (可选)如果您已开通企业项目,可在界面上方的“企业项目”下拉列表中选择目标主机所在的企业项目。
  4. 在目标容器隧道网络模型的集群所在行的“操作”列,单击“策略管理”,进入策略管理页面。
  5. 单击网络策略列表上方“手动同步”

    同步任务大概执行1~2分钟,请您稍作等待后单击列表右上方,刷新查看最新数据。

  6. 定位目标网络策略,选择执行管理操作。

    • 修改网络策略
      • 在目标策略所在行的“操作”列,单击“编辑YAML”,进入YAML界面,修改YAML信息后,单击“确认”
      • 在目标策略所在行的“操作”列,单击“更新”,进入更新网络策略界面,修改网络策略信息后,单击“确认”
    • 删除网络策略
      • 在目标策略所在行的“操作”列,单击“删除”,在弹出的确认信息框中,单击“确认”
      • 勾选所有需要删除的网络策略,单击网络策略列表上方的“批量删除”,在弹出的确认信息框中,单击“确认”