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

Ce guide explique comment utiliser les listes d'URL pour définir les URL auxquelles vos utilisateurs peuvent accéder.

Avant de commencer

  • Suivez les étapes 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 de proxy Web sécurisé, vous devez d'abord créer une stratégie de sécurité vide, puis créer un proxy Web qui utilise cette stratégie.

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

Console

  1. Dans la console Google Cloud , 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 stratégie (par exemple, myswppolicy).

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

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

  6. Cliquez sur Créer.

Cloud Shell

  1. Utilisez l'éditeur de texte de votre choix pour créer un fichier policy.yaml.

  2. Ajoutez ce qui suit au fichier policy.yaml que vous avez créé :

    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 stratégie est créée, par exemple us-central1

    • POLICY_NAME : nom de votre règle

    • POLICY_DESCRIPTION : description de votre règle

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

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

Créer un proxy Web

Console

  1. Dans la console Google Cloud , 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, tel que myswp.

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

  5. Pour Mode de routage, sélectionnez l'option Explicite.

  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 sur lequel vous souhaitez créer le proxy Web.

  8. Pour Sous-réseau, sélectionnez le sous-réseau VPC que vous avez créé précédemment dans les étapes de 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 du proxy Web sécurisé 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 choisit automatiquement une adresse IP 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 l'éditeur de texte de votre choix pour créer un fichier gateway.yaml.

  2. Ajoutez ce qui suit 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
    addresses: [GATEWAY_IP_ADDRESS]
    scope: samplescope
    

    Remplacez les éléments suivants :

    • GATEWAY_NAME : nom de cette instance Secure Web Proxy

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

    • CERTIFICATE_URLS : liste des URL des certificats SSL

    • SUBNETWORK : sous-réseau VPC que vous avez créé précédemment dans le cadre des étapes de configuration initiale.

    • GATEWAY_IP_ADDRESS : liste facultative d'adresses IP pour vos instances Secure Web Proxy dans les sous-réseaux de proxy que vous avez créés précédemment dans les étapes de configuration initiale

      Si vous choisissez de ne pas lister les 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 commande gcloud network-services gateways import :

    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 de cloud privé virtuel (VPC) :

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

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

  • L'instance de proxy Web sécurisé a été déployée et reçoit activement du trafic.

  • La stratégie de proxy Web sécurisé 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 une liste d'URL

Pour créer une liste d'URL et ajouter une règle, effectuez les tâches décrites dans les sections suivantes.

Créer et configurer une liste d'URL

Console

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

    Accéder aux listes d'URL

  2. Cliquez sur Créer une liste d'URL.

  3. Saisissez le nom de la liste d'URL que vous souhaitez créer, par exemple myurllist.

  4. Saisissez une description de la liste d'URL, par exemple My new URL list.

  5. Dans la liste Régions, sélectionnez la région dans laquelle vous souhaitez créer la liste d'URL.

  6. Cliquez sur Importer des listes pour importer la 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.

  7. Cliquez sur Créer.

Cloud Shell

  1. Utilisez l'éditeur de texte de votre choix pour créer le fichier URL_LIST_FILE.yaml. ReplaceURL_LIST_FILE avec le nom de fichier de votre choix.

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

    Remplacez les éléments suivants :

    • PROJECT_ID : votre numéro de projet
    • REGION : région à laquelle s'applique cette liste d'URL
    • URL_LIST_NAME : nom de la liste d'URL que vous créez
    • 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 dans YAML. Par conséquent, vous devez ajouter des guillemets autour des URL qui incluent un caractère *.

  2. Ajoutez la liste d'URL pour qu'elle puisse être référencée par une règle Secure Web Proxy :

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

Ajouter une règle

Console

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

    Accéder aux règles SWP

  2. Dans le menu permettant de sélectionner le projet, sélectionnez l'ID de votre organisation ou le dossier contenant votre stratégie.

  3. Cliquez sur le nom de votre stratégie.

  4. Cliquez sur Ajouter une règle.

  5. Renseignez les champs de la règle :

    1. Nom
    2. Description
    3. Status
    4. Priorité : ordre d'évaluation numérique de la règle. Les règles sont évaluées de la priorité la plus élevée à la plus faible, où 0 correspond à la priorité la plus élevée.
    5. Dans la section Action, indiquez si les connexions correspondant à la règle sont autorisées (Autoriser) ou refusées (Refuser).
    6. Dans la section Correspondance de session, spécifiez le nom de la liste d'URL que vous avez créée précédemment. Exemple :

        sessionMatcher: "inUrlList(host(), 'projects/PROJECT_ID/locations/REGION/urlLists/URL_LIST_NAME')"
      
    7. Pour activer l'inspection TLS, sélectionnez Activer l'inspection TLS.

    8. Dans la section Correspondance de l'application, spécifiez les critères de correspondance de la requête.

    9. Cliquez sur Créer.

  6. Cliquez sur Ajouter une règle pour ajouter une règle.

  7. Cliquez sur Créer pour créer la règle.

Cloud Shell

  1. Utilisez l'éditeur de texte de votre choix pour créer le fichier RULE_FILE.yaml. Remplacez RULE_FILE par le nom de fichier de votre choix.

    name: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/POLICY_NAME/rules/RULE_NAME
    basicProfile: ALLOW
    enabled: true
    priority: PRIORITY_VALUE
    description: RULE_DESCRIPTION
    sessionMatcher: SESSION_CEL_EXPRESSION
    applicationMatcher: APPLICATION_CEL_EXPRESSION
    

    Remplacez les éléments suivants :

    • PROJECT_ID : votre numéro de projet
    • REGION : région à laquelle s'applique cette règle.
    • POLICY_NAME : nom d'un GatewaySecurityPolicy existant utilisé par votre instance de proxy Web sécurisé.
    • RULE_NAME : nom du GatewaySecurityPolicyRule que vous créez
    • PRIORITY_VALUE : valeur de priorité pour cette règle. Les nombres les plus faibles correspondent aux priorités les plus élevées.
    • RULE_DESCRIPTION : description de la règle que vous créez
    • SESSION_CEL_EXPRESSION : expression CEL (Common Expression Language) pour la session
    • APPLICATION_CEL_EXPRESSION : expression CEL pour l'application

    Voici un exemple de fichier de règles :

    name: projects/PROJECT_ID/locations/REGION/urlLists/allow-repos
    basicProfile: ALLOW
    enabled: true
    priority: 100
    description: Allow access to our list of known code repos.
    sessionMatcher: "inUrlList(host(), 'projects/PROJECT_ID/locations/REGION/urlLists/URL_LIST_NAME')"
    

  2. Ajoutez une règle de proxy Web sécurisé à l'aide de la liste d'URL que vous avez créée précédemment :

        gcloud network-security gateway-security-policies rules import RULE_NAME \
          --location=REGION \
          --project=PROJECT_ID \
          --source=RULE_FILE.yaml \
          --gateway-security-policy=POLICY_NAME
    

Tester la connectivité

Pour tester la connectivité, utilisez la commande curl suivante :

curl -x https://SWP_IP_ADDRESS:SWP_PORT_NUMBER HTTP_TEST_ADDRESS
--proxy-insecure

Remplacez les éléments suivants :

  • SWP_IP_ADDRESS : adresse IP de votre proxy Web

  • SWP_PORT_NUMBER : numéro de port de votre proxy Web, tel que 443

  • HTTP_TEST_ADDRESS : adresse à tester, telle que https://www.example.com, qui correspond à une entrée d'hôte ou d'URL dans votre URL_LIST.

La requête devrait renvoyer une réponse positive.

Étapes suivantes