Collecter les journaux du proxy Web Cisco Umbrella

Compatible avec :

Ce document explique comment collecter les journaux du proxy Web Cisco Umbrella dans un flux Google Security Operations à l'aide d'un bucket AWS S3. L'analyseur extrait les champs d'un journal CSV, renomme les colonnes pour plus de clarté et gère les éventuelles variations dans les données d'entrée. Il utilise ensuite les fichiers inclus (umbrella_proxy_udm.include et umbrella_handle_identities.include) pour mapper les champs extraits à l'UDM et traiter les informations d'identité en fonction du champ identityType.

Avant de commencer

  • Assurez-vous de disposer d'une instance Google SecOps.
  • Assurez-vous de disposer d'un accès privilégié à AWS IAM et S3.
  • Assurez-vous de disposer d'un accès privilégié à Cisco Umbrella.

Configurer un bucket Amazon S3 géré par Cisco

  1. Connectez-vous au tableau de bord Cisco Umbrella.
  2. Accédez à Admin > Gestion des journaux.
  3. Sélectionnez l'option Utiliser un bucket Amazon S3 géré par Cisco.
  4. Fournissez les informations de configuration suivantes :
    • Sélectionnez une région : sélectionnez une région plus proche de votre emplacement pour réduire la latence.
    • Sélectionnez une durée de conservation : sélectionnez la période. La durée de conservation est de 7, 14 ou 30 jours. Passé le délai sélectionné, les données sont supprimées et ne peuvent pas être récupérées. Si votre cycle d'ingestion est régulier, utilisez une période plus courte. Vous pourrez modifier la durée de conservation ultérieurement.
  5. Cliquez sur Enregistrer.
  6. Cliquez sur Continuer pour confirmer vos sélections et recevoir une notification d'activation.
    Dans la fenêtre Activation terminée qui s'affiche, les valeurs Clé d'accès et Clé secrète sont affichées.
  7. Copiez les valeurs Clé d'accès et Clé secrète. Si vous perdez ces clés, vous devez les régénérer.
  8. Cliquez sur OK > Continuer.
  9. Une page récapitulative affiche la configuration et le nom de votre bucket. Vous pouvez activer ou désactiver la journalisation selon les besoins de votre organisation. Toutefois, les journaux sont supprimés en fonction de la durée de conservation, que de nouvelles données soient ajoutées ou non.

Facultatif : Configurer les clés d'accès utilisateur pour le bucket AWS S3 autogéré

  1. Connectez-vous à l'AWS Management Console.
  2. Créez un utilisateur en suivant ce guide de l'utilisateur : Créer un utilisateur IAM.
  3. Sélectionnez l'utilisateur créé.
  4. Sélectionnez l'onglet Informations d'identification de sécurité.
  5. Cliquez sur Créer une clé d'accès dans la section Clés d'accès.
  6. Sélectionnez Service tiers comme Cas d'utilisation.
  7. Cliquez sur Suivant.
  8. Facultatif : ajoutez un tag de description.
  9. Cliquez sur Créer une clé d'accès.
  10. Cliquez sur Télécharger le fichier CSV pour enregistrer la clé d'accès et la clé d'accès secrète pour une utilisation ultérieure.
  11. Cliquez sur OK.
  12. Sélectionnez l'onglet Autorisations.
  13. Cliquez sur Ajouter des autorisations dans la section Règles d'autorisation.
  14. Sélectionnez Ajouter des autorisations.
  15. Sélectionnez Joindre directement des règles.
  16. Recherchez et sélectionnez la règle AmazonS3FullAccess.
  17. Cliquez sur Suivant.
  18. Cliquez sur Ajouter des autorisations.

Facultatif : configurer un bucket Amazon S3 autogéré

  1. Connectez-vous à l'AWS Management Console.

  2. Accédez à S3.

  3. Cliquez sur Créer un bucket.

  4. Fournissez les informations de configuration suivantes :

    • Nom du bucket : indiquez le nom du bucket Amazon S3.
    • Région : sélectionnez une région.
  5. Cliquez sur Créer.

Facultatif : Configurez une stratégie de bucket pour le bucket AWS S3 autogéré

  1. Cliquez sur le bucket que vous venez de créer pour l'ouvrir.
  2. Sélectionnez Propriétés> Autorisations.
  3. Dans la liste Autorisations, cliquez sur Ajouter une règle de bucket.
  4. Saisissez la règle de bucket préconfigurée comme suit :

    {
      "Version": "2008-10-17",
      "Statement": [
        {
          "Sid": "",
          "Effect": "Allow",
          "Principal": {
            "AWS": "arn:aws:iam::568526795995:user/logs"
          },
          "Action": "s3:PutObject",
          "Resource": "arn:aws:s3:::BUCKET_NAME/*"
        },
        {
          "Sid": "",
          "Effect": "Deny",
          "Principal": {
            "AWS": "arn:aws:iam::568526795995:user/logs"
          },
          "Action": "s3:GetObject",
          "Resource": "arn:aws:s3:::BUCKET_NAME/*"},
        {
          "Sid": "",
          "Effect": "Allow",
          "Principal": {
            "AWS": "arn:aws:iam::568526795995:user/logs"
          },
          "Action": "s3:GetBucketLocation",
          "Resource": "arn:aws:s3:::BUCKET_NAME"
        },
        {
          "Sid": "",
          "Effect": "Allow",
          "Principal": {
            "AWS": "arn:aws:iam::568526795995:user/logs"
          },
          "Action": "s3:ListBucket",
          "Resource": "arn:aws:s3:::BUCKET_NAME"
        }
      ]
    }
    
    • Remplacez BUCKET_NAME par le nom du bucket Amazon S3 que vous avez fourni.
  5. Cliquez sur Enregistrer.

Facultatif : validation requise pour le bucket Amazon S3 autogéré

  1. Dans le tableau de bord Cisco Umbrella, sélectionnez Admin > Log management > Amazon S3.
  2. Dans le champ Nom du bucket, spécifiez le nom exact de votre bucket Amazon S3, puis cliquez sur Valider.
  3. Lors de la procédure de validation, un fichier nommé README_FROM_UMBRELLA.txt est importé de Cisco Umbrella vers votre bucket Amazon S3. Vous devrez peut-être actualiser votre navigateur pour que le fichier Readme s'affiche une fois importé.
  4. Téléchargez le fichier README_FROM_UMBRELLA.txt et ouvrez-le à l'aide d'un éditeur de texte.
  5. Copiez et enregistrez le jeton Cisco Umbrella unique du fichier.
  6. Accédez au tableau de bord Cisco Umbrella.
  7. Dans le champ Numéro de jeton, spécifiez le jeton, puis cliquez sur Enregistrer.
  8. Si l'opération réussit, un message de confirmation s'affiche dans votre tableau de bord pour indiquer que le bucket a bien été validé. Si vous recevez une erreur indiquant que votre bucket ne peut pas être validé, vérifiez à nouveau la syntaxe du nom du bucket et examinez la configuration.

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

  1. Accédez à Paramètres SIEM> Flux.
  2. Cliquez sur Ajouter.
  3. Dans le champ Nom du flux, saisissez un nom pour le flux (par exemple, Journaux du proxy Web Cisco Umbrella).
  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 : URI du bucket.
      • s3:/BUCKET_NAME
        • Remplacez BUCKET_NAME par le nom réel du bucket.
    • Options de suppression de la source : sélectionnez l'option de suppression de votre choix.
  8. Cliquez sur Suivant.

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

Table de mappage UDM

Champ de journal Mappage UDM Logique
ampDisposition security_result.detection_fields[].value Valeur de ampDisposition à partir du journal brut.
ampMalware security_result.detection_fields[].value Valeur de ampMalware à partir du journal brut.
ampScore security_result.detection_fields[].value Valeur de ampScore à partir du journal brut.
avDetections security_result.detection_fields[].value Valeur de avDetections à partir du journal brut.
blockedCategories security_result.threat_name Valeur de blockedCategories à partir du journal brut.
certificateErrors security_result.detection_fields[].value Valeur de certificateErrors à partir du journal brut.
contentType security_result.detection_fields[].value Valeur de contentType à partir du journal brut.
destinationIp target.ip Valeur de destinationIp à partir du journal brut.
destinationListID security_result.detection_fields[].value Valeur de destinationListID à partir du journal brut.
dlpstatus security_result.detection_fields[].value Valeur de dlpstatus à partir du journal brut.
externalIp principal.ip Valeur de externalIp à partir du journal brut.
fileAction security_result.detection_fields[].value Valeur de fileAction à partir du journal brut.
fileName target.file.names Valeur de fileName à partir du journal brut.
identitiesV8 principal.hostname Valeur de identitiesV8 à partir du journal brut.
identity principal.location.name Valeur de identity à partir du journal brut.
internalIp principal.ip Valeur de internalIp à partir du journal brut.
isolateAction security_result.detection_fields[].value Valeur de isolateAction à partir du journal brut.
referer network.http.referral_url Valeur de referer à partir du journal brut.
requestMethod network.http.method Valeur de requestMethod à partir du journal brut.
requestSize security_result.detection_fields[].value Valeur de requestSize à partir du journal brut.
responseBodySize security_result.detection_fields[].value Valeur de responseBodySize à partir du journal brut.
responseSize security_result.detection_fields[].value Valeur de responseSize à partir du journal brut.
ruleID security_result.rule_id Valeur de ruleID à partir du journal brut.
rulesetID security_result.detection_fields[].value Valeur de rulesetID à partir du journal brut.
sha security_result.about.file.sha256 Valeur de sha à partir du journal brut.
statusCode network.http.response_code Valeur de statusCode à partir du journal brut.
ts timestamp Valeur de ts du journal brut, analysée en tant qu'horodatage.
url target.url Valeur de url à partir du journal brut.
userAgent network.http.user_agent Valeur de userAgent à partir du journal brut.
verdict security_result.detection_fields[].value Valeur de verdict à partir du journal brut.
warnstatus security_result.detection_fields[].value Valeur de warnstatus à partir du journal brut. Valeur de collection_time à partir 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 de l'agent utilisateur. Valeur de requestSize du journal brut, convertie en nombre entier. Valeur de responseSize du journal brut, convertie en nombre entier. Dérivé du champ identity lorsque identityType (ou identityTypeV8 avec identitiesV8) indique un utilisateur. Analysé plus en détail pour extraire les informations sur l'utilisateur, comme 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 à partir du journal brut. En fonction de verdict et potentiellement d'autres champs. Il s'agit généralement de Traffic allowed ou Traffic blocked. Si verdict n'est pas allowed ou blocked et que statusCode est présent, le récapitulatif est Traffic %{statusCode}.

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