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 un luogo sicuro per utilizzarla in un secondo momento.
- Nella pagina Panoramica 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 del servizio app di Azure
- 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 Web Service Logging.
- 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 > Aggiungi nuovo feed
- Hub dei contenuti > Pacchetti di contenuti > Inizia
Come configurare il feed del servizio app di Azure
- Fai clic sul pacchetto Azure Platform.
- Individua il tipo di log Azure App Service e fai clic su Aggiungi nuovo feed.
Specifica i valori per i seguenti campi:
- Tipo di origine: Microsoft Azure Blob Storage V2.
- URI 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:
Opzioni di eliminazione dell'origine: seleziona l'opzione di eliminazione in base alle tue preferenze di importazione.
Età massima del file: include i file modificati nell'ultimo numero di giorni. Il valore predefinito è 180 giorni.
Chiave condivisa: la chiave di accesso ad Azure Blob Storage.
Opzioni avanzate
- Nome feed: un valore precompilato che identifica il feed.
- Spazio dei nomi dell'asset: spazio dei nomi associato al feed.
- Etichette di importazione: etichette applicate a tutti gli eventi di questo feed.
Fai clic su Crea feed.
Per ulteriori informazioni sulla configurazione di più feed per diversi tipi di log all'interno di questa famiglia di prodotti, consulta Configurare i feed per prodotto.
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 | Rinominate 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.