Collecter les journaux du proxy Web Cisco Umbrella
Version de l'analyseur : 16.0
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.
- Connectez-vous au tableau de bord Cisco Umbrella à l'adresse
https://dashboard.umbrella.com. - Accédez à Admin > Gestion des journaux.
- Si l'exportation des journaux S3 n'est pas encore configurée, cliquez sur Utiliser le bucket Amazon S3 géré par votre entreprise.
- 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.
- Nom du bucket : saisissez le nom du bucket S3 (par exemple,
- Copiez l'ID de compte AWS et l'ID externe affichés par Umbrella s'ils ne sont pas déjà enregistrés.
- Cliquez sur Enregistrer.
Configurer un bucket AWS S3 et IAM pour Google SecOps
- Créez un bucket Amazon S3 en suivant ce guide de l'utilisateur : Créer un bucket.
- Enregistrez le nom et la région du bucket pour référence ultérieure (par exemple,
umbrella-logs). - Créez un utilisateur en suivant ce guide de l'utilisateur : Créer un utilisateur IAM.
- Sélectionnez l'utilisateur créé.
- Sélectionnez l'onglet Security credentials (Identifiants de sécurité).
- Cliquez sur Créer une clé d'accès dans la section Clés d'accès.
- Sélectionnez Service tiers comme Cas d'utilisation.
- Cliquez sur Suivant.
- Facultatif : ajoutez une balise de description.
- Cliquez sur Créer une clé d'accès.
- 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.
- Cliquez sur OK.
- Sélectionnez l'onglet Autorisations.
- Cliquez sur Add permissions (Ajouter des autorisations) dans la section Permissions policies (Stratégies d'autorisation).
- Sélectionnez Ajouter des autorisations.
- Sélectionnez Associer directement des stratégies.
- Recherchez la stratégie AmazonS3FullAccess.
- Sélectionnez la règle.
- Cliquez sur Suivant.
- 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.
- Dans la console AWS, accédez à IAM > Policies > Create policy > JSON tab (IAM > Règles > Créer une règle > Onglet JSON).
Copiez et collez la stratégie suivante (remplacez
umbrella-logssi 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/*" ] } ] }Cliquez sur Suivant > Créer une règle. Nommez-le
UmbrellaS3WritePolicy.Accédez à IAM > Roles > Create role > Custom trust policy (IAM > Rôles > Créer un rôle > Stratégie d'approbation personnalisée).
Collez la stratégie de confiance suivante, en remplaçant
UMBRELLA_AWS_ACCOUNT_IDetUMBRELLA_EXTERNAL_IDpar 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" } } } ] }Cliquez sur Suivant.
Associez la règle
UmbrellaS3WritePolicy.Nommez le rôle
UmbrellaS3Role, puis cliquez sur Créer un rôle.Copiez l'ARN du rôle pour l'utiliser dans le tableau de bord Umbrella.
Vérifier l'exportation des journaux Cisco Umbrella
- Revenez au tableau de bord Cisco Umbrella.
- Accédez à Admin > Gestion des journaux.
- Saisissez l'ARN du rôle IAM que vous avez créé (s'il n'est pas déjà configuré).
- Cliquez sur Verify (Vérifier) pour confirmer qu'Umbrella peut écrire dans le bucket S3.
- 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
- Accédez à Paramètres > Gestion des données > Flux. Si vous utilisez une plate-forme SIEM uniquement, accédez à Paramètres > Flux.
- Cliquez sur + Ajouter un flux.
- Dans le champ Nom du flux, saisissez un nom pour le flux (par exemple,
Cisco Umbrella Web Proxy logs). - Sélectionnez Amazon S3 V2 comme Type de source.
- Sélectionnez Proxy Web Cisco Umbrella comme Type de journal.
- Cliquez sur Suivant.
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.
- URI S3 :
Cliquez sur Suivant.
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.