Créer des règles de stratégie de sécurité

Cette page explique comment l'opérateur d'infrastructure (IO) peut créer et configurer des règles de stratégie de sécurité pour gérer le trafic dans une organisation et activer le système de détection et de prévention des intrusions (IDPS) pour le trafic des charges de travail client. Vous pouvez configurer les règles de la règle de sécurité à l'aide de la ressource personnalisée SecurityPolicyRule via l'API Firewall.

Avant de commencer

Avant de continuer, assurez-vous de disposer des éléments suivants :

  • Un dépôt iac avec un fichier kustomization.yaml.
  • Un dossier nommé security-policy-rule pour stocker les fichiers contenant les règles de la stratégie de sécurité.

Autoriser n'importe quelle adresse à accéder à une organisation

Pour créer une règle de stratégie de sécurité, vous avez deux options.

Créer une règle de stratégie de sécurité avec une plage d'adresses IP ou un masque de sous-réseau d'adresses IP

  1. Créez un fichier YAML pour la ressource AddressGroup. AddressGroup contient des plages d'adresses IP ou des masques de sous-réseau d'adresses IP pouvant être utilisés par SecurityPolicyRule.

  2. Ajoutez le contenu suivant pour créer la ressource personnalisée 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. Enregistrez et stockez le groupe d'adresses dans votre dossier security-policy-rule.

  4. Ajoutez le contenu suivant pour créer la ressource personnalisée 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
    

    Remplacez les variables suivantes :

    Variable Description
    SOURCE_AG_OBJECT_NAME Nom de l'objet de groupe d'adresses. Par exemple, vsys2-org-1-org-infra-group.
    NAMESPACE L'espace de noms doit correspondre au nom de l'organisation. Par exemple, org-1.
    SOURCE_ADDRESS_GROUP Nom du groupe d'adresses contenant les adresses IP sources. Par exemple, org-infra-group.
    FIREWALL_VIRTUAL_SYSTEM_NAME Nom du système virtuel de pare-feu associé à l'organisation. Par exemple, vsys2-org-1. Utilisez kubectl get firewallvirtualsystems -A pour lister tous les noms de vsys.
    SOURCE_MEMBER_NAME Nom du membre dans le groupe d'adresses. Par exemple, org-infra-group-0. Il peut y avoir plusieurs membres, chacun ayant un nom unique.
    SOURCE_MEMBER_TYPE Type de membre dans le groupe d'adresses. Les valeurs disponibles sont IPRange et IPNetmask.
    SOURCE_MEMBER_VALUE Adresses IP du membre. Par exemple, si le type de membre est IPNetmask, la valeur peut être 169.254.0.0/21. Si le type de membre est IPrange, la valeur peut être 192.168.1.1-192.168.1.10.
    DESTINATION_AG_OBJECT_NAME Nom de l'objet de groupe d'adresses. Par exemple, vsys2-org-1-org-data-external-all-group.
    DESTINATION_ADDRESS_GROUP Nom du groupe d'adresses contenant les adresses IP sources. Par exemple, org-data-external-all-group.
    DESTINATION_MEMBER_NAME Nom du membre dans le groupe d'adresses. Par exemple, org-data-external-all-group-0. Il peut y avoir plusieurs membres, chacun ayant un nom unique.
    DESTINATION_MEMBER_TYPE Type de membre dans le groupe d'adresses. Les valeurs disponibles sont IPRange et IPNetmask.
    DESTINATION_MEMBER_VALUE Adresses IP du membre. Par exemple, si le type de membre est IPNetmask, la valeur peut être 169.254.0.0/21. Si le type de membre est IPrange, la valeur peut être 192.168.1.1-192.168.1.10.
    RULE_NAME Nom de la règle. Par exemple, allow-ingress-org-1.
    PRIORITY Nombre entier compris entre 1000 et 60000 qui définit le niveau de priorité. La priorité la plus élevée est 1000, tandis que la plus faible est 60000. Cet exemple utilise le niveau de priorité le plus élevé, 1000.
    SOURCE_ZONE Zone de pare-feu qui est la source du trafic. Par exemple, vsys2-oc.
    DESTINATION_ZONE Zone de pare-feu qui est la destination du trafic. Par exemple, vsys2-gpc.
    ACTION Action qui définit si le trafic doit être autorisé ou refusé. Par exemple, l'action allow est utilisée.
    OPTION Option permettant de définir un service. Voici les valeurs facultatives à définir pour les services :
    • any : définit l'utilisation de n'importe quel port.
    • application-default : port standard de l'application.
    • selected : protocole et port que vous sélectionnez.
    PROTOCOL Protocole réseau que vous définissez. Par exemple, un protocole tel que TCP ou UDP
    PORT Numéro de port. Par exemple, 1234.
    PROFILE_TYPE Type de profil, tel que none, group et profiles.
  5. Enregistrez et stockez la règle de stratégie de sécurité dans votre dossier security-policy-rule.

  6. Accédez à votre dépôt iac et validez la règle de stratégie de sécurité dans la branche main.

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

    Si le fichier n'existe pas, suivez les étapes 8 à 12 de Créer une organisation avec IAC.

  7. Suivez l'étape 3 Déclencher le remplacement complet de la configuration du pare-feu dans le runbook FW-G0003 pour remplacer la configuration du pare-feu.

Créer une règle de stratégie de sécurité avec une adresse IP spécifique

  1. Créez un fichier YAML pour la ressource SecurityPolicyRule.

  2. Ajoutez le contenu suivant pour créer la ressource personnalisée 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
    

    Remplacez les variables suivantes :

    Variable Description
    RULE_NAME Nom de la règle. Par exemple, allow-ingress-org-1.
    NAMESPACE L'espace de noms doit correspondre au nom de l'organisation. Par exemple, org-1.
    FIREWALL_VIRTUAL_SYSTEM_NAME Nom du pare-feu. Par exemple, vsys2-org1.
    PRIORITY Nombre entier compris entre 1000 et 60000 qui définit le niveau de priorité. La priorité la plus élevée est 1000, tandis que la plus faible est 60000. Par exemple, si la règle nécessite le niveau de priorité le plus élevé, utilisez 1000.
    SOURCE_ZONE Zone de pare-feu qui est la source du trafic. Par exemple, vsys2-oc.
    SOURCE_IP_ADDRESS Adresse IP pour autoriser le trafic. Le format de l'adresse IP peut être une adresse IP unique 10.250.10.1, un routage interdomaine sans classe (CIDR) 10.250.10.0/27, une plage d'adresses IP 10.250.10.1-10.250.10.8 ou any.

    Par exemple, 172.21.0.0/20 indique que toute adresse IP source dans le CIDR 172.21.0.0/20 correspond à cette règle.
    DESTINATION_ZONE Zone de pare-feu qui est la destination du trafic. Par exemple, vsys2-gpc.
    DESTINATION_IP_ADDRESS Adresse IP pour autoriser le trafic. Le format de l'adresse IP peut être une adresse IP unique 10.250.10.1, un routage interdomaine sans classe (CIDR) 10.250.10.0/27, une plage d'adresses IP 10.250.10.1-10.250.10.8 ou any.

    Par exemple, la valeur any indique que n'importe quelle adresse IP de destination correspondrait à la règle.
    ACTION Action qui définit si le trafic doit être allow ou deny. Par exemple, allow autorise le trafic.
    OPTION Option permettant de définir un service. Voici les valeurs facultatives à définir pour les services :
    • any : définit l'utilisation de n'importe quel port.
    • application-default : port standard de l'application.
    • selected : protocole et port que vous sélectionnez.
    Pour en savoir plus, consultez la documentation de référence de l'API.
    PROTOCOL Protocole réseau que vous définissez. Par exemple, TCP pour le protocole TCP.
    PORT Numéro de port. Par exemple, 443.
    PROFILE_TYPE Type de profil, tel que none, group et profiles. Par exemple, si vous utilisez le type de profil none, aucun IDPS n'est appliqué.
  3. Enregistrez et stockez la règle de stratégie de sécurité dans votre dossier security-policy-rule.

  4. Accédez à votre dépôt iac et validez la règle de stratégie de sécurité dans la branche main.

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

    Si le fichier n'existe pas, suivez les étapes 8 à 12 de Créer une organisation avec IAC.

  5. Suivez l'étape 3 Déclencher le remplacement complet de la configuration du pare-feu dans le runbook FW-G0003 pour remplacer la configuration du pare-feu.