Activer l'inspection TLS

Cette page explique comment activer l'inspection TLS (Transport Layer Security) pour votre instance de proxy Web sécurisé.

Avant de commencer

Avant de configurer le proxy Web sécurisé pour l'inspection TLS, effectuez les tâches décrites dans les sections suivantes.

Activer les autorités de certification

Le proxy Web sécurisé utilise Certificate Authority Service (CAS) pour générer les certificats utilisés pour l'inspection TLS.

Pour activer CAS, exécutez la commande suivante:

  gcloud services enable privateca.googleapis.com
  

Créer un pool d'autorités de certification

Vous devez créer un pool d'autorités de certification avant de pouvoir utiliser des CA pour créer une autorité de certification. Cette section décrit les autorisations dont vous avez besoin pour effectuer cette tâche, puis explique comment créer un pool d'autorités de certification.

Pour générer des certificats, l'inspection TLS utilise un compte de service distinct pour chaque projet, appelé service-{project ID}@gcp-sa-certmanager.iam.gserviceaccount.com. Assurez-vous d'avoir autorisé ce compte de service à utiliser votre pool d'autorités de certification. Si cet accès est révoqué, l'inspection TLS cesse de fonctionner.

Pour créer le pool, exécutez la commande gcloud privateca pools create et spécifiez l'ID du pool subordonné, le niveau, l'ID du projet et l'emplacement.

    gcloud privateca pools create SUBORDINATE_POOL_ID 
--tier=TIER
--project=PROJECT_ID
--location=REGION

Remplacez les éléments suivants :

  • SUBORDINATE_POOL_ID: nom du pool d'autorités de certification
  • TIER: niveau de l'autorité de certification (devops ou enterprise)

    Nous vous recommandons de créer le pool d'autorités de certification au niveau devops, car le suivi des certificats émis individuellement n'est pas nécessaire.

  • PROJECT_ID: ID du projet de pool d'autorités de certification

  • REGION: emplacement du pool d'autorités de certification.

Créer un pool d'autorités de certification subordonnées

Vous pouvez créer un pool d'autorités de certification subordonnées. L'autorité de certification racine signe toutes les autorités de certification de ce pool. Ils permettent de signer les certificats de serveur générés pour l'inspection TLS.

Pour créer un pool subordonné, utilisez l'une des méthodes suivantes.

Créer un pool d'autorités de certification subordonnées à l'aide d'une autorité de certification racine existante stockée dans des autorités de certification

Pour générer une autorité de certification subordonnée, procédez comme suit:

  1. Créez un pool d'autorités de certification.
  2. Créez des autorités de certification subordonnées dans un pool d'autorités de certification.

Créer un pool d'autorités de certification subordonnées à l'aide d'une autorité de certification racine existante détenue en externe

Pour générer une autorité de certification subordonnée, procédez comme suit:

  1. Créez un pool d'autorités de certification.
  2. Créez des autorités de certification subordonnées signées par une autorité de certification racine externe.

Créer une autorité de certification racine

Si vous ne disposez d'aucune autorité de certification racine, vous pouvez en créer une dans CAS. Pour créer une autorité de certification racine, procédez comme suit:

  1. Créez une autorité de certification racine.
  2. Suivez la procédure décrite dans Créer un pool d'autorités de certification subordonnées à l'aide d'une autorité de certification racine existante stockée dans des autorités de certification.

Pour en savoir plus sur les pools d'autorités de certification, consultez la documentation de Certificate Authority Service.

Créer un compte de service

Si vous ne possédez pas de compte de service, vous devez en créer un et accorder les autorisations requises.

  1. Créez un compte de service :

    gcloud beta services identity create \
        --service=networksecurity.googleapis.com \
        --project=PROJECT_ID
    

    En réponse, la Google Cloud CLI crée un compte de service appelé service-{project ID}@gcp-sa-networksecurity.iam.gserviceaccount.com.

  2. Pour le compte de service que vous avez créé, accordez les autorisations nécessaires pour générer des certificats avec votre pool d'autorités de certification:

    gcloud privateca pools add-iam-policy-binding CA_POOL \
        --member='serviceAccount:SERVICE_ACCOUNT' \
        --role='roles/privateca.certificateManager' \
        --location='REGION'
    

Configurer le proxy Web sécurisé pour l'inspection TLS

Vous ne pouvez effectuer les tâches de cette section qu'après avoir effectué les tâches préalables répertoriées dans la section Avant de commencer.

Pour configurer l'inspection TLS, effectuez les tâches décrites dans les sections suivantes.

Créer une règle d'inspection TLS

  1. Créez le fichier TLS_INSPECTION_FILE.yaml. Remplacez TLS_INSPECTION_FILE par le nom de fichier de votre choix.

  2. Ajoutez le code suivant au fichier YAML pour configurer le TlsInspectionPolicy souhaité:

    name: projects/PROJECT_ID/locations/REGION/tlsInspectionPolicies/TLS_INSPECTION_NAME
    caPool: projects/PROJECT_ID/locations/REGION/caPools/CA_POOL
    

    Remplacez les éléments suivants :

    • PROJECT_ID: numéro du projet
    • REGION: région dans laquelle créer la règle
    • TLS_INSPECTION_NAME: nom de la règle d'inspection TLS du proxy Web sécurisé
    • CA_POOL : nom du pool d'autorités de certification à partir duquel créer les certificats

      Le pool d'autorités de certification doit exister dans la même région.

Importer la règle d'inspection TLS

Importez la règle d'inspection TLS que vous avez créée à l'étape précédente:

gcloud network-security tls-inspection-policies import TLS_INSPECTION_NAME \
  --source=TLS_INSPECTION_FILE.yaml \
  --location=REGION

Ajouter la règle d'inspection TLS à la règle de sécurité

Console

Créer la règle de proxy Web

  1. Dans Google Cloud Console, accédez à la page Sécurité du réseau.

    Accéder à la page "Sécurité du réseau"

  2. Cliquez sur Proxy Web sécurisé.

  3. Cliquez sur l'onglet Règles.

  4. Cliquez sur Create a policy (Créer une règle).

  5. Saisissez un nom pour la règle que vous souhaitez créer, par exemple myswppolicy.

  6. Saisissez une description de la règle, par exemple My new swp policy.

  7. Dans la liste Régions, sélectionnez la région dans laquelle vous souhaitez créer la règle de proxy Web sécurisé.

  8. Pour configurer l'inspection TLS, sélectionnez Configurer l'inspection TLS.

  9. Dans la liste Règle d'inspection TLS, sélectionnez la règle d'inspection TLS que vous avez créée.

  10. Si vous souhaitez créer des règles pour votre stratégie, cliquez sur Continuer, puis sur Ajouter une règle. Pour en savoir plus, consultez la section Créer des règles de proxy Web sécurisé.

  11. Cliquez sur Créer.

Créer les règles de proxy Web

  1. Dans Google Cloud Console, accédez à la page Sécurité du réseau.

    Accéder à la page "Sécurité du réseau"

  2. Cliquez sur Proxy Web sécurisé.

  3. Dans le menu de sélection de projet, choisissez l'ID de votre organisation ou le dossier contenant votre stratégie.

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

  5. Cliquez sur Ajouter une règle.

  6. 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, spécifiez si les connexions correspondant à la règle sont autorisées (Autoriser) ou refusées (Refuser).
    6. Dans la section Session Match (Correspondance de session), spécifiez les critères de correspondance de la session. Pour en savoir plus sur la syntaxe de SessionMatcher, consultez la documentation de référence sur les langages de correspondance CEL.
    7. Pour activer l'inspection TLS, sélectionnez Activer l'inspection TLS.
    8. Dans la section Application Match (Correspondance d'application), spécifiez les critères de mise en correspondance de la requête. Si vous n'activez pas la règle pour l'inspection TLS, la requête ne peut correspondre qu'au trafic HTTP.
    9. Cliquez sur Créer.
  7. Cliquez sur Ajouter une règle pour ajouter une règle.

  8. Cliquez sur Create (Créer) pour créer la règle.

Configurer un proxy Web

  1. Dans Google Cloud Console, accédez à la page Sécurité du réseau.

    Accéder à la page "Sécurité du réseau"

  2. Cliquez sur Proxy Web sécurisé.

  3. Cliquez sur l'onglet Proxys Web.

  4. Cliquez sur Configurer un proxy Web.

  5. Saisissez un nom pour le proxy Web que vous souhaitez créer, par exemple myswp.

  6. Saisissez une description du proxy Web, telle que My new swp.

  7. Dans la liste Régions, sélectionnez la région dans laquelle vous souhaitez créer le proxy Web.

  8. Dans la liste Réseau, sélectionnez le réseau sur lequel vous souhaitez créer le proxy Web.

  9. Dans la liste Sous-réseau, sélectionnez le sous-réseau sur lequel vous souhaitez créer le proxy Web.

  10. Saisissez l'adresse IP du proxy Web.

  11. Dans la liste Certificat, sélectionnez le certificat que vous souhaitez utiliser pour créer le proxy Web.

  12. Dans la liste Policy (Stratégie), sélectionnez la stratégie que vous avez créée pour associer le proxy Web.

  13. Cliquez sur Créer.

Cloud Shell

  1. Créez le fichier policy.yaml:

      description: basic Secure Web Proxy policy
      name: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/policy1
      tlsInspectionPolicy: projects/PROJECT_ID/locations/REGION/tlsInspectionPolicies/TLS_INSPECTION_NAME
    
  2. Créez la règle "Proxy Web sécurisé" :

      gcloud network-security gateway-security-policies import policy1 \
          --source=policy.yaml --location=REGION
    
  3. Créez le fichier rule.yaml:

      name: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/policy1/rules/allow-example-com
      description: Allow example.com
      enabled: true
      priority: 1
      basicProfile: ALLOW
      sessionMatcher: host() == 'example.com'
      applicationMatcher: request.path.contains('index.html')
      tlsInspectionEnabled: true
    
  4. Créez la règle de stratégie de sécurité:

      gcloud network-security gateway-security-policies rules import allow-example-com \
          --source=rule.yaml \
          --location=REGION \
          --gateway-security-policy=policy1
    
  5. Pour associer une règle d'inspection TLS à une règle de sécurité existante, créez le fichier POLICY_FILE.yaml. Remplacez POLICY_FILE par le nom de fichier de votre choix.

      description: My Secure Web Proxy policy
      name: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/POLICY_NAME
      tlsInspectionPolicy: projects/PROJECT_ID/locations/REGION/tlsInspectionPolicies/TLS_INSPECTION_NAME
    

Étape suivante