Collecter les journaux du proxy Web Cisco Umbrella

Version de l'analyseur : 16.0

Compatible avec :

Ce document explique comment ingérer les journaux Cisco Umbrella Web Proxy dans Google Security Operations à l'aide d'Amazon S3. Le proxy Web Cisco Umbrella offre une visibilité et un contrôle complets des URL pour le trafic Web, en agissant comme une passerelle Web sécurisée (SWG) dans le cloud. Les journaux du proxy Web capturent les détails du trafic HTTP et HTTPS, y compris les URL complètes, les identités des utilisateurs, les types de contenu et les verdicts de sécurité pour les requêtes transmises via le proxy intelligent Umbrella.

Avant de commencer

Assurez-vous de remplir les conditions suivantes :

  • Instance Google SecOps.
  • Accès privilégié au tableau de bord Cisco Umbrella avec le rôle d'administrateur complet ou d'administrateur en lecture seule.
  • Accès privilégié à AWS (S3, IAM).
  • Licence Cisco Umbrella Secure Internet Gateway (SIG) ou DNS Security Advantage avec proxy intelligent activé.

Configurer l'exportation des journaux Cisco Umbrella vers Amazon S3

Cisco Umbrella permet d'exporter de manière native les journaux du proxy Web vers un bucket Amazon S3 que vous gérez. Si vous avez déjà configuré l'exportation des journaux S3 pour les journaux DNS Umbrella, vous pouvez réutiliser le même bucket S3 et la même configuration IAM. Umbrella stocke les journaux de proxy dans un préfixe distinct.

  1. Connectez-vous au tableau de bord Cisco Umbrella à l'adresse https://dashboard.umbrella.com.
  2. Accédez à Admin > Gestion des journaux.
  3. Si l'exportation des journaux S3 n'est pas encore configurée, cliquez sur Utiliser le bucket Amazon S3 géré par votre entreprise.
  4. Fournissez les informations de configuration suivantes :
    • Nom du bucket : saisissez le nom du bucket S3 (par exemple, umbrella-logs).
    • Région : sélectionnez la région AWS où se trouve votre bucket.
  5. Copiez l'ID de compte AWS et l'ID externe affichés par Umbrella s'ils ne sont pas déjà enregistrés.
  6. Cliquez sur Enregistrer.

Configurer un bucket AWS S3 et IAM pour Google SecOps

  1. Créez un bucket Amazon S3 en suivant ce guide de l'utilisateur : Créer un bucket.
  2. Enregistrez le nom et la région du bucket pour référence ultérieure (par exemple, umbrella-logs).
  3. Créez un utilisateur en suivant ce guide de l'utilisateur : Créer un utilisateur IAM.
  4. Sélectionnez l'utilisateur créé.
  5. Sélectionnez l'onglet Security credentials (Identifiants de sécurité).
  6. Cliquez sur Créer une clé d'accès dans la section Clés d'accès.
  7. Sélectionnez Service tiers comme Cas d'utilisation.
  8. Cliquez sur Suivant.
  9. Facultatif : ajoutez une balise de description.
  10. Cliquez sur Créer une clé d'accès.
  11. Cliquez sur Download CSV file (Télécharger le fichier CSV) pour enregistrer la clé d'accès et la clé d'accès secrète pour référence ultérieure.
  12. Cliquez sur OK.
  13. Sélectionnez l'onglet Autorisations.
  14. Cliquez sur Add permissions (Ajouter des autorisations) dans la section Permissions policies (Stratégies d'autorisation).
  15. Sélectionnez Ajouter des autorisations.
  16. Sélectionnez Associer directement des stratégies.
  17. Recherchez la stratégie AmazonS3FullAccess.
  18. Sélectionnez la règle.
  19. Cliquez sur Suivant.
  20. Cliquez sur Ajouter des autorisations.

Configurer la stratégie et le rôle IAM pour l'accès à Cisco Umbrella S3

Cisco Umbrella nécessite un rôle IAM intercompte pour écrire des journaux dans votre bucket S3.

  1. Dans la console AWS, accédez à IAM > Policies > Create policy > JSON tab (IAM > Règles > Créer une règle > Onglet JSON).
  2. Copiez et collez la stratégie suivante (remplacez umbrella-logs si vous avez saisi un autre nom de bucket) :

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Sid": "AllowUmbrellaPutObjects",
          "Effect": "Allow",
          "Action": [
            "s3:PutObject",
            "s3:GetBucketLocation"
          ],
          "Resource": [
            "arn:aws:s3:::umbrella-logs",
            "arn:aws:s3:::umbrella-logs/*"
          ]
        }
      ]
    }
    
  3. Cliquez sur Suivant > Créer une règle. Nommez-le UmbrellaS3WritePolicy.

  4. Accédez à IAM > Roles > Create role > Custom trust policy (IAM > Rôles > Créer un rôle > Stratégie d'approbation personnalisée).

  5. Collez la stratégie de confiance suivante, en remplaçant UMBRELLA_AWS_ACCOUNT_ID et UMBRELLA_EXTERNAL_ID par les valeurs copiées depuis le tableau de bord Umbrella :

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Principal": {
            "AWS": "arn:aws:iam::UMBRELLA_AWS_ACCOUNT_ID:root"
          },
          "Action": "sts:AssumeRole",
          "Condition": {
            "StringEquals": {
              "sts:ExternalId": "UMBRELLA_EXTERNAL_ID"
            }
          }
        }
      ]
    }
    
  6. Cliquez sur Suivant.

  7. Associez la règle UmbrellaS3WritePolicy.

  8. Nommez le rôle UmbrellaS3Role, puis cliquez sur Créer un rôle.

  9. Copiez l'ARN du rôle pour l'utiliser dans le tableau de bord Umbrella.

Vérifier l'exportation des journaux Cisco Umbrella

  1. Revenez au tableau de bord Cisco Umbrella.
  2. Accédez à Admin > Gestion des journaux.
  3. Saisissez l'ARN du rôle IAM que vous avez créé (s'il n'est pas déjà configuré).
  4. Cliquez sur Verify (Vérifier) pour confirmer qu'Umbrella peut écrire dans le bucket S3.
  5. Une fois la validation réussie, Umbrella commencera à exporter les journaux du proxy vers le bucket S3.

Configurer un flux dans Google SecOps pour ingérer les journaux du proxy Web Cisco Umbrella

  1. Accédez à Paramètres > Gestion des données > Flux. Si vous utilisez une plate-forme SIEM uniquement, accédez à Paramètres > Flux.
  2. Cliquez sur + Ajouter un flux.
  3. Dans le champ Nom du flux, saisissez un nom pour le flux (par exemple, Cisco Umbrella Web Proxy logs).
  4. Sélectionnez Amazon S3 V2 comme Type de source.
  5. Sélectionnez Proxy Web Cisco Umbrella comme Type de journal.
  6. Cliquez sur Suivant.
  7. Spécifiez les valeurs des paramètres d'entrée suivants :

    • URI S3 : s3://umbrella-logs/proxylogs/
    • Options de suppression de la source : sélectionnez l'option de suppression de votre choix.
    • Âge maximal du fichier : incluez les fichiers modifiés au cours d'un certain nombre de jours. La valeur par défaut est de 180 jours.
    • ID de clé d'accès : clé d'accès utilisateur permettant d'accéder au bucket S3.
    • Clé d'accès secrète : clé secrète de l'utilisateur ayant accès au bucket S3.
    • Espace de noms de l'élément : espace de noms de l'élément.
    • Libellés d'ingestion : libellé appliqué aux événements de ce flux.
  8. Cliquez sur Suivant.

  9. Vérifiez la configuration de votre nouveau flux d'actualités sur l'écran Finaliser, puis cliquez sur Envoyer.

Table de mappage UDM

Champ du journal Mappage UDM Logique
ampDisposition security_result.detection_fields[].value Valeur de ampDisposition du journal brut.
ampMalware security_result.detection_fields[].value Valeur de ampMalware du journal brut.
ampScore security_result.detection_fields[].value Valeur de ampScore du journal brut.
avDetections security_result.detection_fields[].value Valeur de avDetections du journal brut.
blockedCategories security_result.threat_name Valeur de blockedCategories du journal brut.
certificateErrors security_result.detection_fields[].value Valeur de certificateErrors du journal brut.
contentType security_result.detection_fields[].value Valeur de contentType du journal brut.
destinationIp target.ip Valeur de destinationIp du journal brut.
destinationListID security_result.detection_fields[].value Valeur de destinationListID du journal brut.
dlpstatus security_result.detection_fields[].value Valeur de dlpstatus du journal brut.
externalIp principal.ip Valeur de externalIp du journal brut.
fileAction security_result.detection_fields[].value Valeur de fileAction du journal brut.
fileName target.file.names Valeur de fileName du journal brut.
identitiesV8 principal.hostname Valeur de identitiesV8 du journal brut.
identity principal.location.name Valeur de identity du journal brut.
internalIp principal.ip Valeur de internalIp du journal brut.
isolateAction security_result.detection_fields[].value Valeur de isolateAction du journal brut.
referer network.http.referral_url Valeur de referer du journal brut.
requestMethod network.http.method Valeur de requestMethod du journal brut.
requestSize security_result.detection_fields[].value Valeur de requestSize du journal brut.
responseBodySize security_result.detection_fields[].value Valeur de responseBodySize du journal brut.
responseSize security_result.detection_fields[].value Valeur de responseSize du journal brut.
ruleID security_result.rule_id Valeur de ruleID du journal brut.
rulesetID security_result.detection_fields[].value Valeur de rulesetID du journal brut.
sha security_result.about.file.sha256 Valeur de sha du journal brut.
statusCode network.http.response_code Valeur de statusCode du journal brut.
ts timestamp Valeur de ts du journal brut, analysée dans un code temporel.
url target.url Valeur de url du journal brut.
userAgent network.http.user_agent Valeur de userAgent du journal brut.
verdict security_result.detection_fields[].value Valeur de verdict du journal brut.
warnstatus security_result.detection_fields[].value Valeur de warnstatus du journal brut. Valeur de collection_time du journal brut. Codé en dur sur NETWORK_HTTP. Codé en dur sur Cisco. Codé en dur sur Umbrella. Codé en dur sur UMBRELLA_WEBPROXY. Dérivé du schéma du champ d'URL (http ou https). Analysé à partir du champ userAgent à l'aide d'une bibliothèque d'analyse user-agent. Valeur de requestSize du journal brut, convertie en entier. Valeur de responseSize du journal brut, convertie en entier. Dérivé du champ identity lorsque identityType (ou identityTypeV8 avec identitiesV8) indique un utilisateur. Analyse plus approfondie pour extraire les détails de l'utilisateur, tels que le nom à afficher, le prénom, le nom et l'adresse e-mail. Mappé à partir du champ verdict : allowed ou allowed -> ALLOW, autres valeurs -> BLOCK. Si categories n'est pas vide, définissez-le sur NETWORK_CATEGORIZED_CONTENT. Valeur de categories du journal brut. En fonction de verdict et potentiellement d'autres champs. En général, Traffic allowed ou Traffic blocked. Si verdict n'est pas allowed ou blocked et que statusCode est présent, le résumé est Traffic %{statusCode}.

Journal des modifications

Afficher le journal des modifications de cet analyseur

Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.