Utiliser des listes d'URL pour créer des règles

Cette page explique comment utiliser des listes d'URL pour créer et gérer des règles précises de contrôle des accès pour votre trafic Web sortant dans votre instance Secure Web Proxy. Au lieu de créer des règles individuelles pour chaque site Web, les listes d'URL vous permettent de définir une collection réutilisable et centralisée de domaines, de noms d'hôte et de modèles d'URL spécifiques.

Voici quelques-uns des principaux avantages de l'utilisation de listes d'URL :

  • Simplifier la gestion des règles : vous pouvez appliquer un grand ensemble de allow ou deny règles avec une seule référence dans votre règle de sécurité.

  • Appliquer un contrôle précis : vous pouvez utiliser une syntaxe spécifique pour faire correspondre des domaines entiers, des sous-domaines ou des chemins d'URL exacts. Cela permet de s'assurer que vos charges de travail ne peuvent accéder qu'aux destinations autorisées.

  • Sécuriser l'accès au Web : vous pouvez sécuriser et auditer efficacement l'accès au Web dans votre Google Cloud environnement.

Avant de commencer

  • Suivez la procédure de configuration initiale.

  • Vérifiez que la version 406.0.0 (ou ultérieure) de la Google Cloud CLI est installée :

    gcloud version | head -n1
    

    Si vous avez installé une version antérieure de la gcloud CLI, mettez-la à jour :

    gcloud components update --version=406.0.0
    

Créer une instance Secure Web Proxy avec une règle vide

Pour créer une instance Secure Web Proxy, vous devez d'abord créer une règle de sécurité vide, puis créer un proxy Web qui utilise cette règle.

Créer une règle de sécurité vide

Console

  1. Dans la Google Cloud console, accédez à la page Règles SWP.

    Accéder aux règles SWP

  2. Cliquez sur Créer une règle.

  3. Dans le champ Nom, saisissez un nom pour la règle, par exemple myswppolicy.

  4. Dans le champ Description, saisissez une description pour la règle, par exemple My new swp policy.

  5. Pour Régions, sélectionnez la région dans laquelle vous souhaitez créer la règle, par exemple us-central1.

  6. Cliquez sur Créer.

Cloud Shell

  1. Utilisez un éditeur de texte pour créer un fichier policy.yaml.

  2. Ajoutez le code suivant au fichier policy.yaml :

    name: projects/PROJECT_NAME/locations/REGION/gatewaySecurityPolicies/POLICY_NAME
    description: POLICY_DESCRIPTION
    

    Remplacez les éléments suivants :

    • PROJECT_NAME : nom de votre projet

    • REGION : région dans laquelle votre règle est créée, par exemple us-central1

    • POLICY_NAME : nom de votre règle

    • POLICY_DESCRIPTION : description de votre règle

  3. Importez la règle de sécurité à l'aide de la gcloud network-security gateway-security-policies import commande :

    gcloud network-security gateway-security-policies import POLICY_NAME \
        --source=POLICY_FILE.yaml \
        --location=REGION
    

Créer un proxy Web

Console

  1. Dans la Google Cloud console, accédez à la page Proxys Web.

    Accéder aux proxys Web

  2. Cliquez sur Créer un proxy Web sécurisé.

  3. Dans le champ Nom, saisissez un nom pour le proxy Web, par exemple myswp.

  4. Dans le champ Description, saisissez une description pour le proxy Web, par exemple My new swp.

  5. Pour Mode de routage, sélectionnez l'une des options suivantes :

    • Explicite : déploie votre instance Secure Web Proxy en mode proxy explicite.
    • Prochain saut : déploie votre instance Secure Web Proxy en mode prochain saut.
  6. Pour Régions, sélectionnez la région dans laquelle vous souhaitez créer le proxy Web, par exemple us-central1.

  7. Pour Réseau, sélectionnez le réseau dans lequel vous souhaitez créer le proxy Web.

  8. Pour Sous-réseau, sélectionnez le sous-réseau VPC que vous avez créé lors de la configuration initiale.

  9. Facultatif : dans le champ Adresse IP du proxy Web, saisissez l'adresse IP du proxy Web sécurisé.

    Vous pouvez saisir une adresse IP de la plage d'adresses IP Secure Web Proxy qui se trouve dans le sous-réseau que vous avez créé à l'étape précédente. Si vous ne saisissez pas l'adresse IP, votre instance Secure Web Proxy en choisit automatiquement une dans le sous-réseau sélectionné.

  10. Pour Certificat, sélectionnez le certificat que vous souhaitez utiliser pour créer le proxy Web.

  11. Pour Règle, sélectionnez la règle que vous avez créée pour associer le proxy Web.

  12. Cliquez sur Créer.

Cloud Shell

  1. Utilisez un éditeur de texte pour créer un fichier gateway.yaml.

  2. Ajoutez le code suivant au fichier gateway.yaml :

    name: projects/PROJECT_NAME/locations/REGION/gateways/GATEWAY_NAME
    type: SECURE_WEB_GATEWAY
    ports: [GATEWAY_PORT_NUMBERS]
    certificateUrls: [CERTIFICATE_URLS]
    gatewaySecurityPolicy: projects/PROJECT_NAME/locations/REGION/gatewaySecurityPolicies/POLICY_NAME
    network: projects/PROJECT_NAME/global/networks/NETWORK_NAME
    subnetwork: projects/PROJECT_NAME/regions/REGION/subnetworks/SUBNETWORK
    routingMode: ROUTING_MODE
    addresses: [GATEWAY_IP_ADDRESS]
    scope: samplescope
    

    Facultatif : Pour autoriser les applications clientes d'autres Google Cloud régions à se connecter à votre proxy, activez l'accès mondial lorsque vous créez votre instance Secure Web Proxy.

    Dans le fichier gateway.yaml, ajoutez le champ allow_global_access et définissez-le sur true.

    Important : Vous ne pouvez activer allow_global_access que lorsque vous créez une instance Secure Web Proxy. Vous ne pourrez pas configurer ce paramètre ultérieurement.

    name: projects/PROJECT_NAME/locations/REGION/gateways/GATEWAY_NAME
    type: SECURE_WEB_GATEWAY
    ports: [GATEWAY_PORT_NUMBERS]
    certificateUrls: [CERTIFICATE_URLS]
    gatewaySecurityPolicy: projects/PROJECT_NAME/locations/REGION/gatewaySecurityPolicies/POLICY_NAME
    network: projects/PROJECT_NAME/global/networks/NETWORK_NAME
    subnetwork: projects/PROJECT_NAME/regions/REGION/subnetworks/SUBNETWORK
    addresses: [GATEWAY_IP_ADDRESS]
    scope: samplescope
    allow_global_access: true
    

    Remplacez les éléments suivants :

    • GATEWAY_NAME: nom de cette instance Secure Web Proxy

    • GATEWAY_PORT_NUMBERS: liste des numéros de port de cette passerelle, par exemple [80,443]

    • CERTIFICATE_URLS: liste des URL de certificat SSL

    • SUBNETWORK : Sous-réseau VPC que vous avez créé lors de la configuration initiale

    • ROUTING_MODE: spécifiez le mode de routage du proxy Web requis :

      • EXPLICIT_ROUTING_MODE: déploie votre instance Secure Web Proxy en mode proxy explicite
      • NEXT_HOP_ROUTING_MODE: déploie votre instance Secure Web Proxy en mode prochain saut
    • GATEWAY_IP_ADDRESS : liste facultative des adresses IP de vos instances Secure Web Proxy dans les sous-réseaux de proxy que vous avez créés précédemment lors des étapes de configuration initiale

      Si vous choisissez de ne pas répertorier d'adresses IP, omettez le champ pour laisser le proxy Web choisir une adresse IP pour vous.

  3. Créez l'instance Secure Web Proxy à l'aide de la gcloud network-services gateways import commande :

    gcloud network-services gateways import GATEWAY_NAME \
        --source=gateway.yaml \
        --location=REGION
    

Tester la connectivité

Pour tester la connectivité, utilisez la commande curl à partir de n'importe quelle instance de machine virtuelle (VM) de votre réseau cloud privé virtuel (VPC) :

  curl -x https://GATEWAY_IP_ADDRESS:PORT_NUMBER https://www.example.com --proxy-insecure
  

Si tout fonctionne correctement, votre instance Secure Web Proxy renvoie un code d'état 403 Forbidden. Cette erreur confirme les points suivants :

  • L'instance Secure Web Proxy a été déployée et reçoit activement du trafic.

  • La règle Secure Web Proxy applique correctement la posture de sécurité par défaut qui consiste à refuser tout le trafic jusqu'à ce que vous définissiez des règles allow spécifiques dans les sections suivantes.

Créer et configurer une liste d'URL

Console

  1. Dans la Google Cloud console, accédez à la page Listes d'URL.

    Accéder aux listes d'URL

  2. Cliquez sur Créer une liste d'URL. La page Créer une liste d'URL s'ouvre.

  3. Dans le champ Nom, saisissez un nom pour la liste d'URL, par exemple example-org-allowed-list.

  4. Dans le champ Description, saisissez une description pour la liste d'URL, par exemple My new URL list.

  5. Pour Régions, sélectionnez la région dans laquelle vous souhaitez créer la liste d'URL, par exemple us-central1.

  6. Pour ajouter la liste des hôtes, des URL ou des modèles à faire correspondre, dans le champ Liste d'URL, saisissez les informations ou cliquez sur Importer une liste pour importer une liste personnalisée d'URL. Pour en savoir plus, consultez la documentation de référence sur la syntaxe UrlList.

  7. Cliquez sur Créer.

Cloud Shell

  1. Utilisez un éditeur de texte pour créer le fichier url_list.yaml.

  2. Ajoutez le code suivant au fichier url_list.yaml :

      name: projects/PROJECT_ID/locations/REGION/urlLists/URL_LIST_NAME
      values: URL_LIST
    

    Remplacez les éléments suivants :

    • PROJECT_ID : ID unique de votre Google Cloud projet

    • REGION : région dans laquelle votre liste d'URL est créée, par exemple us-central1

    • URL_LIST_NAME : nom de la liste d'URL

    • URL_LIST: liste des hôtes, des URL ou des modèles à faire correspondre

    Pour en savoir plus, consultez la documentation de référence sur la syntaxe UrlList.

    Voici un exemple de fichier de règles de liste d'URL :

    name: projects/PROJECT_ID/locations/REGION/urlLists/example-org-allowed-list
    values:
      - www.example.com
      - about.example.com
      - "*.google.com"
      - "github.com/example-org/*"
    

    L'astérisque (*) a une signification particulière en YAML. Vous devez ajouter des guillemets autour des URL qui incluent un caractère *.

  3. Importez la liste d'URL que vous avez créée à l'aide de la gcloud network-security url-lists import commande afin que votre règle Secure Web Proxy puisse y faire référence.

    gcloud network-security url-lists import URL_LIST_NAME \
        --location=REGION \
        --project=PROJECT_ID \
        --source=url_list.yaml
    

Ajouter une règle Secure Web Proxy

Console