Raccogli i log del proxy web Cisco Umbrella
Questo documento spiega come importare i log del proxy web Cisco Umbrella in Google Security Operations utilizzando Amazon S3. Cisco Umbrella Web Proxy fornisce visibilità e controllo completi degli URL per il traffico web, fungendo da gateway web sicuro (SWG) basato su cloud. I log del proxy web acquisiscono i dettagli del traffico HTTP e HTTPS, inclusi URL completi, identità utente, tipi di contenuti e verdetti di sicurezza per le richieste proxy tramite il proxy intelligente Umbrella.
Prima di iniziare
Assicurati di soddisfare i seguenti prerequisiti:
- Istanza Google SecOps.
- Accesso privilegiato alla dashboard Cisco Umbrella con il ruolo Amministratore completo o Amministratore di sola lettura.
- Accesso privilegiato ad AWS (S3, IAM).
- Licenza Cisco Umbrella Secure Internet Gateway (SIG) o DNS Security Advantage con proxy intelligente abilitato.
Configurare l'esportazione dei log di Cisco Umbrella in Amazon S3
Cisco Umbrella supporta in modo nativo l'esportazione dei log del proxy web in un bucket Amazon S3 che gestisci. Se hai già configurato l'esportazione dei log S3 per i log DNS di Umbrella, puoi riutilizzare lo stesso bucket S3 e la stessa configurazione IAM. Gli store ombrello memorizzano i log proxy in un prefisso separato.
- Accedi alla dashboard Cisco Umbrella all'indirizzo
https://dashboard.umbrella.com. - Vai ad Amministratore > Gestione log.
- Se l'esportazione dei log S3 non è ancora configurata, fai clic su Utilizza il bucket Amazon S3 gestito dalla tua azienda.
- Fornisci i seguenti dettagli di configurazione:
- Nome bucket: inserisci il nome del bucket S3 (ad esempio
umbrella-logs). - Regione: seleziona la regione AWS in cui si trova il bucket.
- Nome bucket: inserisci il nome del bucket S3 (ad esempio
- Copia l'ID account AWS e l'ID esterno visualizzati da Umbrella se non sono già stati salvati.
- Fai clic su Salva.
Configura il bucket AWS S3 e IAM per Google SecOps
- Crea un bucket Amazon S3 seguendo questa guida utente: Creazione di un bucket
- Salva il nome e la regione del bucket per riferimento futuro (ad esempio,
umbrella-logs). - Crea un utente seguendo questa guida utente: Creazione di un utente IAM.
- Seleziona l'utente creato.
- Seleziona la scheda Credenziali di sicurezza.
- Fai clic su Crea chiave di accesso nella sezione Chiavi di accesso.
- Seleziona Servizio di terze parti come Caso d'uso.
- Fai clic su Avanti.
- (Facoltativo) Aggiungi il tag della descrizione.
- Fai clic su Crea chiave di accesso.
- Fai clic su Scarica file CSV per salvare la chiave di accesso e la chiave di accesso segreta per riferimento futuro.
- Fai clic su Fine.
- Seleziona la scheda Autorizzazioni.
- Fai clic su Aggiungi autorizzazioni nella sezione Criteri per le autorizzazioni.
- Seleziona Aggiungi autorizzazioni.
- Seleziona Allega direttamente i criteri.
- Cerca i criteri AmazonS3FullAccess.
- Seleziona la policy.
- Fai clic su Avanti.
- Fai clic su Aggiungi autorizzazioni.
Configurare il ruolo e la policy IAM per l'accesso a Cisco Umbrella S3
Cisco Umbrella richiede un ruolo IAM cross-account per scrivere i log nel bucket S3.
- Nella console AWS, vai a IAM > Policy > Crea policy > scheda JSON.
Copia e incolla la seguente policy (sostituisci
umbrella-logsse hai inserito un nome bucket diverso):{ "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/*" ] } ] }Fai clic su Avanti > Crea policy. Assegna il nome
UmbrellaS3WritePolicy.Vai a IAM > Ruoli > Crea ruolo > Policy di attendibilità personalizzata.
Incolla la seguente policy di attendibilità, sostituendo
UMBRELLA_AWS_ACCOUNT_IDeUMBRELLA_EXTERNAL_IDcon i valori copiati dalla dashboard di 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" } } } ] }Fai clic su Avanti.
Allega la policy
UmbrellaS3WritePolicy.Assegna al ruolo il nome
UmbrellaS3Rolee fai clic su Crea ruolo.Copia l'ARN del ruolo da utilizzare nella dashboard Umbrella.
Verifica l'esportazione dei log di Cisco Umbrella
- Torna alla dashboard Cisco Umbrella.
- Vai ad Amministratore > Gestione log.
- Inserisci l'ARN del ruolo del ruolo IAM che hai creato (se non è già configurato).
- Fai clic su Verifica per confermare che Umbrella può scrivere nel bucket S3.
- Una volta completata la verifica, Umbrella inizierà a esportare i log del proxy nel bucket S3.
Configura un feed in Google SecOps per importare i log del proxy web Cisco Umbrella
- Vai a Impostazioni SIEM > Feed.
- Fai clic su + Aggiungi nuovo feed.
- Nel campo Nome feed, inserisci un nome per il feed (ad esempio,
Cisco Umbrella Web Proxy logs). - Seleziona Amazon S3 V2 come Tipo di origine.
- Seleziona Cisco Umbrella Web Proxy come Tipo di log.
- Fai clic su Avanti.
Specifica i valori per i seguenti parametri di input:
- URI S3:
s3://umbrella-logs/proxylogs/ - Opzioni di eliminazione dell'origine: seleziona l'opzione di eliminazione in base alle tue preferenze.
- Età massima del file: includi i file modificati nell'ultimo numero di giorni. Il valore predefinito è 180 giorni.
- ID chiave di accesso: chiave di accesso utente con accesso al bucket S3.
- Chiave di accesso segreta: chiave segreta dell'utente con accesso al bucket S3.
- Spazio dei nomi dell'asset: lo spazio dei nomi dell'asset.
- Etichette di importazione: l'etichetta applicata agli eventi di questo feed.
- URI S3:
Fai clic su Avanti.
Controlla la nuova configurazione del feed nella schermata Finalizza e poi fai clic su Invia.
Tabella di mappatura UDM
| Campo log | Mappatura UDM | Logic |
|---|---|---|
ampDisposition |
security_result.detection_fields[].value |
Il valore di ampDisposition dal log non elaborato. |
ampMalware |
security_result.detection_fields[].value |
Il valore di ampMalware dal log non elaborato. |
ampScore |
security_result.detection_fields[].value |
Il valore di ampScore dal log non elaborato. |
avDetections |
security_result.detection_fields[].value |
Il valore di avDetections dal log non elaborato. |
blockedCategories |
security_result.threat_name |
Il valore di blockedCategories dal log non elaborato. |
certificateErrors |
security_result.detection_fields[].value |
Il valore di certificateErrors dal log non elaborato. |
contentType |
security_result.detection_fields[].value |
Il valore di contentType dal log non elaborato. |
destinationIp |
target.ip |
Il valore di destinationIp dal log non elaborato. |
destinationListID |
security_result.detection_fields[].value |
Il valore di destinationListID dal log non elaborato. |
dlpstatus |
security_result.detection_fields[].value |
Il valore di dlpstatus dal log non elaborato. |
externalIp |
principal.ip |
Il valore di externalIp dal log non elaborato. |
fileAction |
security_result.detection_fields[].value |
Il valore di fileAction dal log non elaborato. |
fileName |
target.file.names |
Il valore di fileName dal log non elaborato. |
identitiesV8 |
principal.hostname |
Il valore di identitiesV8 dal log non elaborato. |
identity |
principal.location.name |
Il valore di identity dal log non elaborato. |
internalIp |
principal.ip |
Il valore di internalIp dal log non elaborato. |
isolateAction |
security_result.detection_fields[].value |
Il valore di isolateAction dal log non elaborato. |
referer |
network.http.referral_url |
Il valore di referer dal log non elaborato. |
requestMethod |
network.http.method |
Il valore di requestMethod dal log non elaborato. |
requestSize |
security_result.detection_fields[].value |
Il valore di requestSize dal log non elaborato. |
responseBodySize |
security_result.detection_fields[].value |
Il valore di responseBodySize dal log non elaborato. |
responseSize |
security_result.detection_fields[].value |
Il valore di responseSize dal log non elaborato. |
ruleID |
security_result.rule_id |
Il valore di ruleID dal log non elaborato. |
rulesetID |
security_result.detection_fields[].value |
Il valore di rulesetID dal log non elaborato. |
sha |
security_result.about.file.sha256 |
Il valore di sha dal log non elaborato. |
statusCode |
network.http.response_code |
Il valore di statusCode dal log non elaborato. |
ts |
timestamp |
Il valore di ts dal log non elaborato, analizzato in un timestamp. |
url |
target.url |
Il valore di url dal log non elaborato. |
userAgent |
network.http.user_agent |
Il valore di userAgent dal log non elaborato. |
verdict |
security_result.detection_fields[].value |
Il valore di verdict dal log non elaborato. |
warnstatus |
security_result.detection_fields[].value |
Il valore di warnstatus dal log non elaborato. Il valore di collection_time dal log non elaborato. Codificato in modo permanente su NETWORK_HTTP. Codificato in modo permanente su Cisco. Codificato in modo permanente su Umbrella. Codificato in modo permanente su UMBRELLA_WEBPROXY. Derivato dallo schema del campo URL (http o https). Analizzato dal campo userAgent utilizzando una libreria di analisi dello user agent. Il valore di requestSize dal log non elaborato, convertito in un numero intero. Il valore di responseSize dal log non elaborato, convertito in un numero intero. Derivato dal campo identity quando identityType (o identityTypeV8 con identitiesV8) indica un utente. Ulteriormente analizzato per estrarre i dettagli dell'utente, come nome visualizzato, nome, cognome e indirizzo email. Mappato dal campo verdict: allowed o allowed -> ALLOW, altri valori -> BLOCK. Se categories non è vuoto, impostalo su NETWORK_CATEGORIZED_CONTENT. Il valore di categories dal log non elaborato. In base a verdict e potenzialmente ad altri campi. Di solito Traffic allowed o Traffic blocked. Se verdict non è allowed o blocked e statusCode è presente, il riepilogo è Traffic %{statusCode}. |
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.