Crear reglas de políticas de seguridad

En esta página se incluyen instrucciones para que el operador de infraestructura (IO) cree y configure reglas de política de seguridad para gestionar el tráfico de una organización y habilite el sistema de detección y prevención de intrusiones (IDPS) para el tráfico de cargas de trabajo de los clientes. Puedes configurar las reglas de la política de seguridad mediante el recurso personalizado SecurityPolicyRule a través de la API Firewall.

Antes de empezar

Antes de continuar, asegúrate de que tienes lo siguiente:

  • Un repositorio iac con un archivo kustomization.yaml.
  • Una carpeta llamada security-policy-rule para almacenar los archivos que contengan las reglas de la política de seguridad.

Permitir que cualquier dirección acceda a una organización

Para crear una regla de política de seguridad, tienes dos opciones.

Crear una regla de política de seguridad con un intervalo de direcciones IP o una máscara de subred de direcciones IP

  1. Crea un archivo YAML para el recurso AddressGroup. AddressGroup contiene intervalos de direcciones IP o máscaras de red de direcciones IP que puede usar SecurityPolicyRule.

  2. Añade el siguiente contenido para crear el recurso personalizado AddressGroup:

    apiVersion: firewall.private.gdc.goog/v1alpha2
    kind: AddressGroup
    metadata:
      labels:
        firewall.private.gdc.goog/type: idps
      name: SOURCE_AG_OBJECT_NAME
      namespace: NAMESPACE
    spec:
      addressGroupName: SOURCE_ADDRESS_GROUP
      firewallVirtualSystemRef:
        name: FIREWALL_VIRTUAL_SYSTEM_NAME
      members:
      - name: SOURCE_MEMBER_NAME
        type: SOURCE_MEMBER_TYPE
        value: SOURCE_MEMBER_VALUE
    ---
    apiVersion: firewall.private.gdc.goog/v1alpha2
    kind: AddressGroup
    metadata:
      labels:
        firewall.private.gdc.goog/type: idps
      name: DESTINATION_AG_OBJECT_NAME
      namespace: NAMESPACE
    spec:
      addressGroupName: DESTINATION_ADDRESS_GROUP
      firewallVirtualSystemRef:
        name: FIREWALL_VIRTUAL_SYSTEM_NAME
      members:
      - name: DESTINATION_MEMBER_NAME
        type: DESTINATION_MEMBER_TYPE
        value: DESTINATION_MEMBER_VALUE
    
  3. Guarda y almacena el grupo de direcciones en tu carpeta security-policy-rule.

  4. Añade el siguiente contenido para crear el recurso personalizado SecurityPolicyRule:

    apiVersion: firewall.private.gdc.goog/v1alpha2
    kind: SecurityPolicyRule
    metadata:
      labels:
        firewall.private.gdc.goog/policy-type: idps
      name: RULE_NAME
      namespace: NAMESPACE
    spec:
      firewallVirtualSystemRef:
        name: FIREWALL_VIRTUAL_SYSTEM_NAME
      priority: PRIORITY
      source:
        zones:
        - SOURCE_ZONE
        addresses:
        - SOURCE_ADDRESS_GROUP
      destination:
        zones:
        - DESTINATION_ZONE
        addresses:
        - DESTINATION_ADDRESS_GROUP
      action: ACTION
      service:
        option: OPTION
        ports:
        - protocol: PROTOCOL
          ports: "PORT"
      profile:
        type: PROFILE_TYPE
    

    Sustituye las siguientes variables:

    Variable Descripción
    SOURCE_AG_OBJECT_NAME Nombre del objeto de grupo de direcciones. Por ejemplo, vsys2-org-1-org-infra-group.
    NAMESPACE El espacio de nombres debe coincidir con el nombre de la organización. Por ejemplo, org-1.
    SOURCE_ADDRESS_GROUP Nombre del grupo de direcciones que contiene las direcciones IP de origen. Por ejemplo, org-infra-group.
    FIREWALL_VIRTUAL_SYSTEM_NAME El nombre del sistema virtual del cortafuegos asociado a la organización. Por ejemplo, vsys2-org-1. Usa kubectl get firewallvirtualsystems -A para mostrar todos los nombres de vsys.
    SOURCE_MEMBER_NAME Nombre del miembro del grupo de direcciones. Por ejemplo, org-infra-group-0. Puede haber varios miembros, cada uno con un nombre único.
    SOURCE_MEMBER_TYPE El tipo de miembro del grupo de direcciones. Los valores disponibles son IPRange y IPNetmask.
    SOURCE_MEMBER_VALUE Las direcciones IP del miembro. Por ejemplo, si el tipo de miembro es IPNetmask, el valor puede ser 169.254.0.0/21. Si el tipo de miembro es IPrange, el valor puede ser 192.168.1.1-192.168.1.10.
    DESTINATION_AG_OBJECT_NAME Nombre del objeto de grupo de direcciones. Por ejemplo, vsys2-org-1-org-data-external-all-group.
    DESTINATION_ADDRESS_GROUP Nombre del grupo de direcciones que contiene las direcciones IP de origen. Por ejemplo, org-data-external-all-group.
    DESTINATION_MEMBER_NAME Nombre del miembro del grupo de direcciones. Por ejemplo, org-data-external-all-group-0. Puede haber varios miembros, cada uno con un nombre único.
    DESTINATION_MEMBER_TYPE El tipo de miembro del grupo de direcciones. Los valores disponibles son IPRange y IPNetmask.
    DESTINATION_MEMBER_VALUE Las direcciones IP del miembro. Por ejemplo, si el tipo de miembro es IPNetmask, el valor puede ser 169.254.0.0/21. Si el tipo de miembro es IPrange, el valor puede ser 192.168.1.1-192.168.1.10.
    RULE_NAME Nombre de la regla. Por ejemplo, allow-ingress-org-1.
    PRIORITY Número entero entre 1000 y 60000 que define el nivel de prioridad. La prioridad más alta es 1000, mientras que la más baja es 60000. En este ejemplo se usa el nivel de prioridad más alto, 1000.
    SOURCE_ZONE La zona del cortafuegos que es la fuente del tráfico. Por ejemplo, vsys2-oc.
    DESTINATION_ZONE La zona del cortafuegos que es el destino del tráfico. Por ejemplo, vsys2-gpc.
    ACTION La acción que define si se permite o se deniega el tráfico. Por ejemplo, usa la acción allow.
    OPTION Opción para configurar un servicio. Entre los valores opcionales para definir servicios se incluyen los siguientes:
    • any: define el uso de cualquier puerto.
    • application-default: el puerto estándar de la aplicación.
    • selected: el protocolo y el puerto que selecciones.
    PROTOCOL El protocolo de red que definas. Por ejemplo, un protocolo como TCP o UDP
    PORT El número de puerto. Por ejemplo, 1234.
    PROFILE_TYPE El tipo de perfil, como none, group y profiles.
  5. Guarda la regla de la política de seguridad en tu carpeta security-policy-rule.

  6. Ve al repositorio iac y confirma la regla de la política de seguridad en la rama main.

    ls IAC_REPO_PATH/iac/infrastructure/global/orgs/root/kustomization.yaml
    

    Si el archivo no existe, sigue los pasos del 8 al 12 en Crear una organización con IAC.

  7. Sigue el paso 3 Activa la sustitución completa de la configuración del cortafuegos en el runbook FW-G0003 para procesar la sustitución de la configuración del cortafuegos.

Crear una regla de política de seguridad con una dirección IP específica

  1. Crea un archivo YAML para el recurso SecurityPolicyRule.

  2. Añade el siguiente contenido para crear el recurso personalizado SecurityPolicyRule:

    apiVersion: firewall.private.gdc.goog/v1alpha2
    kind: SecurityPolicyRule
    metadata:
      labels:
        firewall.private.gdc.goog/policy-type: idps
      name: RULE_NAME
      namespace: NAMESPACE
    spec:
      firewallVirtualSystemRef:
        name: FIREWALL_VIRTUAL_SYSTEM_NAME
      priority: PRIORITY
      source:
        zones:
        - SOURCE_ZONE
        addresses:
        - SOURCE_IP_ADDRESS
      destination:
        zones:
        - DESTINATION_ZONE
        addresses:
        - DESTINATION_IP_ADDRESS
      action: ACTION
      service:
        option: OPTION
        ports:
        - protocol: PROTOCOL
          ports: "PORT"
      profile:
        type: PROFILE_TYPE
    

    Sustituye las siguientes variables:

    Variable Descripción
    RULE_NAME Nombre de la regla. Por ejemplo, allow-ingress-org-1.
    NAMESPACE El espacio de nombres debe coincidir con el nombre de la organización. Por ejemplo, org-1.
    FIREWALL_VIRTUAL_SYSTEM_NAME Nombre del cortafuegos. Por ejemplo, vsys2-org1.
    PRIORITY Número entero entre 1000 y 60000 que define el nivel de prioridad. La prioridad más alta es 1000, mientras que la más baja es 60000. Por ejemplo, si la regla necesita el nivel de prioridad más alto, usa 1000.
    SOURCE_ZONE La zona del cortafuegos que es la fuente del tráfico. Por ejemplo, vsys2-oc.
    SOURCE_IP_ADDRESS La dirección IP para permitir el tráfico. El formato de la dirección IP puede ser una única dirección IP 10.250.10.1, un enrutamiento de interdominios sin clases (CIDR) 10.250.10.0/27, un intervalo de direcciones IP 10.250.10.1-10.250.10.8 o any.

    Por ejemplo, 172.21.0.0/20 indica que cualquier dirección IP de origen dentro del 172.21.0.0/20 CIDR coincide con esta regla.
    DESTINATION_ZONE La zona del cortafuegos que es el destino del tráfico. Por ejemplo, vsys2-gpc.
    DESTINATION_IP_ADDRESS La dirección IP para permitir el tráfico. El formato de la dirección IP puede ser una única dirección IP 10.250.10.1, un enrutamiento de interdominios sin clases (CIDR) 10.250.10.0/27, un intervalo de direcciones IP 10.250.10.1-10.250.10.8 o any.

    Por ejemplo, el valor any indica que cualquier dirección IP de destino coincidiría con la regla.
    ACTION La acción que define si se allow o deny el tráfico. Por ejemplo, allow permite el tráfico.
    OPTION Opción para configurar un servicio. Entre los valores opcionales para definir servicios se incluyen los siguientes:
    • any: define el uso de cualquier puerto.
    • application-default: el puerto estándar de la aplicación.
    • selected: el protocolo y el puerto que selecciones.
    Puede consultar más información en la referencia de la API.
    PROTOCOL El protocolo de red que definas. Por ejemplo, TCP para el protocolo de control de la transmisión.
    PORT El número de puerto. Por ejemplo, 443.
    PROFILE_TYPE El tipo de perfil, como none, group y profiles. Por ejemplo, si se usa el tipo de perfil none, no se aplica ningún IDPS.
  3. Guarda la regla de la política de seguridad en tu carpeta security-policy-rule.

  4. Ve al repositorio iac y confirma la regla de la política de seguridad en la rama main.

    ls IAC_REPO_PATH/iac/infrastructure/global/orgs/root/kustomization.yaml
    

    Si el archivo no existe, sigue los pasos del 8 al 12 en Crear una organización con IAC.

  5. Sigue el paso 3 Activa la sustitución completa de la configuración del cortafuegos en el runbook FW-G0003 para procesar la sustitución de la configuración del cortafuegos.