Raccogliere i log del servizio app di Azure
Questo documento spiega come esportare i log di Azure APP Service in Google Security Operations utilizzando un account di archiviazione Azure. Il parser trasforma i log di Azure App Service formattati in formato JSON non elaborato in un modello UDM (Unified Data Model) strutturato. Estrae i campi pertinenti dai log non elaborati, esegue la pulizia e la normalizzazione dei dati e mappa le informazioni estratte nei campi UDM corrispondenti, restituendo infine un oggetto JSON conforme a UDM per ogni voce di log.
Prima di iniziare
Assicurati di soddisfare i seguenti prerequisiti:
- Istanza Google SecOps
- Un tenant Azure attivo
- Accesso con privilegi ad Azure
Configura l'account di archiviazione di Azure
- Nella console Azure, cerca Storage accounts.
- Fai clic su + Crea.
- Specifica i valori per i seguenti parametri di input:
- Abbonamento: seleziona l'abbonamento.
- Gruppo di risorse: seleziona il gruppo di risorse.
- Regione: seleziona la regione.
- Rendimento: seleziona il rendimento (consigliato Standard).
- Ridondanza: seleziona la ridondanza (consigliata GRS o LRS).
- Nome account di archiviazione: inserisci un nome per il nuovo account di archiviazione.
- Fai clic su Review + create (Rivedi e crea).
- Controlla la panoramica dell'account e fai clic su Crea.
- Nella pagina Panoramica account di archiviazione, seleziona il sottomenu Chiavi di accesso in Sicurezza e networking.
- Fai clic su Mostra accanto a key1 o key2.
- Fai clic su Copia negli appunti per copiare la chiave.
- Salva la chiave in una posizione sicura per utilizzarla in un secondo momento.
- Nella pagina Panoramica dell'account di archiviazione, seleziona il sottomenu Endpoint in Impostazioni.
- Fai clic su Copia negli appunti per copiare l'URL dell'endpoint Blob service, ad esempio
https://<storageaccountname>.blob.core.windows.net
. - Salva l'URL dell'endpoint in una posizione sicura per utilizzarlo in un secondo momento.
Come configurare l'esportazione dei log per i log di accesso di Azure AD
- Accedi al portale di Azure utilizzando il tuo account con privilegi.
- Vai a Servizi app e seleziona il servizio app richiesto in uso.
- Seleziona Monitoring > Log del servizio app.
- Attiva ON per Application Logging (blob).
- Seleziona Storage in Registrazione dei log del servizio web.
- Seleziona l'abbonamento e l'account di archiviazione.
- Definisci il periodo di conservazione e la quota in base ai tuoi requisiti.
- Attiva l'opzione ON per Messaggi di errore dettagliati.
- Attiva ON per Tracciamento delle richieste non riuscite.
- Fai clic su Salva.
Configurare i feed
Esistono due diversi punti di accesso per configurare i feed nella piattaforma Google SecOps:
- Impostazioni SIEM > Feed
- Hub dei contenuti > Pacchetti di contenuti
Configurare i feed da Impostazioni SIEM > Feed
Per configurare più feed per diversi tipi di log all'interno di questa famiglia di prodotti, consulta Configurare i feed per prodotto.
Per configurare un singolo feed:
- Vai a Impostazioni SIEM > Feed.
- Fai clic su Aggiungi nuovo feed.
- Nella pagina successiva, fai clic su Configura un singolo feed.
- Nel campo Nome feed, inserisci un nome per il feed, ad esempio Azure APP Service Logs.
- Seleziona Microsoft Azure Blob Storage come Tipo di origine.
- Seleziona Azure APP Service come Tipo di log.
- Fai clic su Avanti.
Specifica i valori per i seguenti parametri di input:
- URI di Azure: l'URL dell'endpoint blob.
ENDPOINT_URL/BLOB_NAME
- Sostituisci quanto segue:
ENDPOINT_URL
: l'URL dell'endpoint blob (https://<storageaccountname>.blob.core.windows.net
)BLOB_NAME
: il nome del blob (ad esempio,<logname>-logs
)
- Sostituisci quanto segue:
- URI è un: seleziona il TIPO DI URI in base alla configurazione del flusso di log (Singolo file | Directory | Directory che include sottodirectory).
Opzioni di eliminazione dell'origine: seleziona l'opzione di eliminazione in base alle tue preferenze di importazione.
Chiave condivisa: la chiave di accesso ad Azure Blob Storage.
Spazio dei nomi dell'asset: lo spazio dei nomi dell'asset.
Etichette di importazione: l'etichetta da applicare agli eventi di questo feed.
- URI di Azure: l'URL dell'endpoint blob.
Fai clic su Avanti.
Controlla la nuova configurazione del feed nella schermata Finalizza e poi fai clic su Invia.
Configurare i feed dall'hub dei contenuti
Specifica i valori per i seguenti campi:
- URI di Azure: l'URL dell'endpoint blob.
ENDPOINT_URL/BLOB_NAME
- Sostituisci quanto segue:
ENDPOINT_URL
: l'URL dell'endpoint blob (https://<storageaccountname>.blob.core.windows.net
)BLOB_NAME
: il nome del blob (ad esempio,insights-logs-<logname>
)
- Sostituisci quanto segue:
- URI è un: seleziona il TIPO DI URI in base alla configurazione del flusso di log (Singolo file | Directory | Directory che include sottodirectory).
- Opzioni di eliminazione dell'origine: seleziona l'opzione di eliminazione in base alle tue preferenze di importazione.
- Chiave condivisa: la chiave di accesso ad Azure Blob Storage.
Opzioni avanzate
- Nome feed: un valore precompilato che identifica il feed.
- Tipo di origine: metodo utilizzato per raccogliere i log in Google SecOps.
- Spazio dei nomi dell'asset: spazio dei nomi associato al feed.
- Etichette di importazione: etichette applicate a tutti gli eventi di questo feed.
Tabella di mappatura UDM
Campo log | Mappatura UDM | Logic |
---|---|---|
AppRoleInstance | read_only_udm.principal.resource.product_object_id | Mappatura diretta |
AppRoleName | read_only_udm.principal.resource.name | Mappatura diretta |
AppVersion | read_only_udm.principal.resource.attribute.labels.value | Mappatura diretta |
Categoria | read_only_udm.metadata.product_event_type | Mappatura diretta |
CIp | read_only_udm.target.asset.ip | Mappatura diretta |
CIp | read_only_udm.target.ip | Mappatura diretta |
ClientCity | read_only_udm.principal.location.city | Mappatura diretta |
ClientCountryOrRegion | read_only_udm.principal.location.country_or_region | Mappatura diretta |
ClientIP | read_only_udm.principal.asset.ip | Mappatura diretta |
ClientIP | read_only_udm.principal.ip | Mappatura diretta |
ClientStateOrProvince | read_only_udm.principal.location.state | Mappatura diretta |
ClientType | read_only_udm.additional.fields.value.string_value | Mappatura diretta |
ComputerName | read_only_udm.principal.asset.hostname | Mappatura diretta |
ComputerName | read_only_udm.principal.hostname | Mappatura diretta |
Cookie | read_only_udm.principal.resource.attribute.labels.value | Mappatura diretta |
CsBytes | read_only_udm.network.sent_bytes | Rinominato da CsBytes |
CsHost | read_only_udm.additional.fields.value.string_value | Mappatura diretta |
CsMethod | read_only_udm.network.http.method | Mappatura diretta |
CsUriQuery | read_only_udm.principal.resource.attribute.labels.value | Mappatura diretta |
CsUriStem | read_only_udm.additional.fields.value.string_value | Mappatura diretta |
CsUriStem | read_only_udm.target.url | Mappatura diretta |
CsUsername | read_only_udm.principal.user.user_display_name | Mappatura diretta |
EventIpAddress | read_only_udm.principal.asset.ip | Mappatura diretta |
EventIpAddress | read_only_udm.principal.ip | Mappatura diretta |
EventPrimaryStampName | read_only_udm.additional.fields.value.string_value | Mappatura diretta |
EventStampName | read_only_udm.additional.fields.value.string_value | Mappatura diretta |
EventStampType | read_only_udm.additional.fields.value.string_value | Mappatura diretta |
Host | read_only_udm.principal.asset.hostname | Mappatura diretta |
Host | read_only_udm.principal.hostname | Mappatura diretta |
IKey | read_only_udm.target.resource.attribute.labels.value | Mappatura diretta |
Istanza | read_only_udm.additional.fields.value.string_value | Mappatura diretta |
Nome | read_only_udm.additional.fields.value.string_value | Mappatura diretta |
Protocollo | read_only_udm.additional.fields.value.string_value | Mappatura diretta |
Protocollo | read_only_udm.network.application_protocol | Mappato a HTTP se il protocollo è HTTP/1.1 |
Referer | read_only_udm.network.http.referral_url | Mappatura diretta |
ResourceGUID | read_only_udm.target.resource.product_object_id | Rinominate da ResourceGUID |
SDKVersion | read_only_udm.additional.fields.value.string_value | Mappatura diretta |
SDKVersion | read_only_udm.principal.resource.attribute.labels.value | Mappatura diretta |
SPort | read_only_udm.principal.port | Rinominato da SPort |
ScBytes | read_only_udm.network.received_bytes | Rinominato da ScBytes |
ScStatus | read_only_udm.network.http.response_code | Rinominato da ScStatus |
TimeTaken | read_only_udm.additional.fields.value.string_value | Mappatura diretta |
Tipo | read_only_udm.additional.fields.value.string_value | Mappatura diretta |
Utente | read_only_udm.principal.user.userid | Mappatura diretta |
UserAddress | read_only_udm.principal.asset.ip | Estratto da UserAddress se è un indirizzo IP valido |
UserAddress | read_only_udm.principal.ip | Estratto da UserAddress se è un indirizzo IP valido |
UserAgent | read_only_udm.network.http.user_agent | Mappatura diretta |
UserDisplayName | read_only_udm.principal.user.user_display_name | Mappatura diretta |
categoria | read_only_udm.metadata.product_event_type | Mappatura diretta |
livello | read_only_udm.security_result.severity | Convertito in maiuscolo e rinominato dal livello |
località | read_only_udm.principal.location.name | Mappatura diretta |
operationName | read_only_udm.additional.fields.value.string_value | Mappatura diretta |
record.properties.Protocol | read_only_udm.additional.fields.value.string_value | Mappatura diretta |
record.properties.Result | read_only_udm.security_result.summary | Mappatura diretta |
record.time | read_only_udm.metadata.event_timestamp | Analizzato come timestamp RFC 3339 |
resourceId | read_only_udm.target.resource.attribute.labels.value | Mappatura diretta |
resourceId | read_only_udm.target.resource.product_object_id | Rinomato da resourceId |
read_only_udm.metadata.event_type | Determinato in base alla presenza di entità, target e protocollo. Imposta su NETWORK_HTTP se sono presenti entità, destinazione e Protocollo=HTTP . Impostato su NETWORK_CONNECTION se sono presenti l'entità e la destinazione. Imposta su STATUS_UPDATE se è presente solo l'entità. In caso contrario, imposta il valore su GENERIC_EVENT . |
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.