Raccogli i log di Microsoft IAS / Network Policy Server (NPS)
Questo documento descrive come raccogliere i log di Microsoft Internet Authentication Service (IAS) / Network Policy Server (NPS) configurando un feed Google SecOps utilizzando Microsoft Azure Blob Storage V2.
Microsoft Network Policy Server (NPS) è l'implementazione Microsoft di un server e proxy RADIUS (Remote Authentication Dial-In User Service). NPS consente la gestione centralizzata di autenticazione, autorizzazione e contabilità dell'accesso alla rete per connessioni VPN, punti di accesso wireless, switch di autenticazione 802.1X e accesso remoto dial-up. NPS era precedentemente noto come Internet Authentication Service (IAS) in Windows Server 2003 e versioni precedenti. Poiché NPS viene eseguito come ruolo Windows Server senza funzionalità di esportazione cloud native, questa guida utilizza l'agente Azure Monitor per raccogliere i file di log di contabilità NPS dal file system locale e indirizzarli tramite uno spazio di lavoro Log Analytics ad Azure Blob Storage.
Prima di iniziare
Assicurati di soddisfare i seguenti prerequisiti:
Un'istanza Google SecOps
Accesso con privilegi al portale Microsoft Azure con autorizzazioni per:
- Crea account di archiviazione
- Creare e gestire spazi di lavoro Log Analytics
- Creare regole di raccolta dei dati
- Creare regole di esportazione dei dati
- Gestisci le chiavi di accesso
Windows Server 2016 o versioni successive con il ruolo NPS installato
Accesso amministrativo al server NPS
Connettività di rete dal server NPS ad Azure (HTTPS in uscita sulla porta 443)
Configurare la contabilità e il logging NPS
Consente a NPS di registrare le richieste di autenticazione e contabilità in un file di testo locale in formato IAS.
Abilita i log di contabilità NPS
- Sul server Windows che esegue NPS, apri Server Manager.
- Vai a Strumenti > Network Policy Server.
- Nell'albero della console NPS, fai clic su Contabilità.
- Nel riquadro dei dettagli, in Contabilità, fai clic su Configura contabilità.
- Nella procedura guidata Configurazione contabilità, seleziona Registra in un file di testo sul computer locale e fai clic su Avanti.
- Nella pagina Configura proprietà file di log, configura quanto segue:
- Nella sezione Registra le seguenti informazioni, seleziona le caselle di controllo relative alle informazioni che vuoi registrare:
- Richieste contabili
- Richieste di autenticazione
- Stato contabile periodico
- Stato dell'autenticazione periodica
- Nella sezione Azione in caso di errore di logging, seleziona Se il logging non riesce, ignora le richieste di connessione se vuoi che NPS interrompa l'elaborazione quando i file di log non sono disponibili. Lascia deselezionata questa casella se vuoi che NPS continui l'elaborazione anche se la registrazione non va a buon fine.
- Nella sezione Registra le seguenti informazioni, seleziona le caselle di controllo relative alle informazioni che vuoi registrare:
- Fai clic su Avanti.
- Controlla il riepilogo e fai clic su Fine.
Configura le proprietà del file di log
- Nell'albero della console NPS, fai clic su Contabilità.
- Nel riquadro dei dettagli, in Proprietà file di log, fai clic su Modifica proprietà file di log.
- Fai clic sulla scheda File di log.
- Nel campo Directory, verifica o modifica la posizione del file di log:
- Località predefinita:
%systemroot%\System32\LogFiles - Per una migliore organizzazione, specifica una directory dedicata (ad esempio,
C:\NPSLogs)
- Località predefinita:
Nel menu a discesa Formato, seleziona IAS (legacy).
In Crea un nuovo file di log, seleziona l'intervallo di rotazione dei log:
- Giornaliero (consigliato per la maggior parte degli ambienti)
- Settimanale
- Mensile
- Mai (dimensioni file illimitate)
- Quando il file di log raggiunge questa dimensione (specifica le dimensioni in MB)
Se vuoi che NPS elimini i file di log meno recenti quando lo spazio su disco è insufficiente, seleziona Quando il disco è pieno, elimina i file di log meno recenti.
Fai clic su Ok per salvare la configurazione.
Verifica che i file di log vengano creati nella directory configurata.
Configura l'account di archiviazione Azure
Crea account di archiviazione
- Nel portale Azure, cerca Account di archiviazione.
- Fai clic su + Crea.
Fornisci i seguenti dettagli di configurazione:
Impostazione Valore Abbonamento Seleziona il tuo abbonamento Azure Gruppo di risorse Seleziona esistente o crea nuovo Nome dell'account di archiviazione Inserisci un nome univoco (ad esempio, npsiaslogs).Regione Seleziona la regione (ad esempio, East US)Prestazioni Standard (consigliato) Ridondanza GRS (archiviazione con ridondanza geografica) o LRS (archiviazione con ridondanza locale) Fai clic su Review + create (Rivedi e crea).
Rivedi la panoramica dell'account e fai clic su Crea.
Attendi il completamento del deployment.
Recuperare le credenziali dell'account Storage
- Vai all'account di archiviazione che hai appena creato.
- Nel riquadro di navigazione a sinistra, seleziona Chiavi di accesso in Sicurezza e networking.
- Fai clic su Mostra chiavi.
- Copia e salva quanto segue per utilizzarlo in un secondo momento:
- Nome account Storage: il nome del tuo account Storage (ad esempio,
npsiaslogs) - Chiave 1 o Chiave 2: la chiave di accesso condivisa (una stringa casuale di 512 bit con codifica base64)
- Nome account Storage: il nome del tuo account Storage (ad esempio,
Recupera l'endpoint del servizio Blob
- Nello stesso account di archiviazione, seleziona Endpoint dal menu di navigazione a sinistra.
- Copia e salva l'URL dell'endpoint del servizio Blob.
- Esempio:
https://npsiaslogs.blob.core.windows.net/
- Esempio:
Crea uno spazio di lavoro Log Analytics
Per ricevere log di testo personalizzati da Azure Monitor Agent prima di esportarli in Azure Blob Storage, è necessaria un'area di lavoro Log Analytics.
- Nel portale Azure, cerca aree di lavoro Log Analytics.
- Fai clic su + Crea.
Fornisci i seguenti dettagli di configurazione:
Impostazione Valore Abbonamento Seleziona il tuo abbonamento Azure Gruppo di risorse Seleziona lo stesso gruppo di risorse dell'account di archiviazione Nome Inserisci un nome univoco (ad esempio, nps-ias-workspace).Regione Seleziona la stessa regione del tuo account di archiviazione Fai clic su Rivedi e crea.
Rivedi le impostazioni e fai clic su Crea.
Attendi il completamento del deployment.
Crea una tabella dei log personalizzata
Crea una tabella personalizzata nello spazio di lavoro Log Analytics per archiviare i dati dei log NPS/IAS.
- Nel portale Azure, vai all'area di lavoro Log Analytics che hai appena creato.
- Nel menu di navigazione a sinistra, seleziona Tabelle in Impostazioni.
- Fai clic su + Crea > Nuovo log personalizzato (basato su DCR).
- Nel campo Nome tabella, inserisci
NpsIasLogs. Il nome completo della tabella saràNpsIasLogs_CL. Fai clic su Crea.
Esegui l'onboarding del server NPS in Azure Arc
Poiché NPS viene eseguito su un server Windows on-premise, devi eseguire l'onboarding del server in Azure Arc prima di installare l'agente Azure Monitor.
Registra il server NPS con Azure Arc
- Nel portale Azure, cerca Azure Arc.
- Nel menu di navigazione a sinistra, seleziona Macchine in Infrastruttura.
- Fai clic su + Aggiungi/Crea > Aggiungi una macchina.
- Nella sezione Aggiungi server con Azure Arc, seleziona Genera script in Aggiungi un singolo server.
- Fornisci i seguenti dettagli di configurazione:
- Abbonamento: seleziona il tuo abbonamento Azure.
- Gruppo di risorse: seleziona lo stesso gruppo di risorse utilizzato in precedenza.
- Regione: seleziona la stessa regione del tuo spazio di lavoro Log Analytics.
- Sistema operativo: seleziona Windows.
- Metodo di connettività: seleziona Endpoint pubblico (o Server proxy se richiesto dalla tua rete).
- Fai clic su Scarica ed esegui script.
- Copia lo script PowerShell generato sul server NPS.
Sul server NPS, apri PowerShell come amministratore ed esegui lo script:
& '.\OnboardingScript.ps1'Segui le istruzioni sullo schermo per eseguire l'autenticazione con Azure e completare l'onboarding.
Al termine dello script, torna al portale Azure > Azure Arc > Macchine e verifica che il server NPS venga visualizzato con lo stato Connesso.
Installa l'agente Azure Monitor
Installa l'agente Azure Monitor sul server abilitato per Arc
- Nel portale Azure, vai a Azure Arc > Macchine.
- Seleziona il server NPS dall'elenco di macchine.
- Nel menu di navigazione a sinistra, seleziona Estensioni in Impostazioni.
- Fai clic su + Aggiungi.
- Seleziona Azure Monitor Agent dall'elenco delle estensioni.
- Fai clic su Avanti.
- Fai clic su Review + create (Rivedi e crea).
- Fai clic su Crea.
Attendi il completamento dell'installazione dell'estensione. Lo stato cambierà in Provisioning riuscito.
Crea una regola di raccolta dei dati per i file di log NPS
Una regola di raccolta dati (DCR) indica all'agente Azure Monitor di raccogliere i file di log NPS IAS e di inviarli all'area di lavoro Log Analytics.
- Nel portale Azure, cerca Monitoraggio.
- Nel menu di navigazione a sinistra, seleziona Regole di raccolta dei dati nella sezione Impostazioni.
- Fai clic su + Crea.
- Nella scheda Informazioni di base, fornisci i seguenti dettagli di configurazione:
- Nome regola: inserisci
dcr-nps-ias-logs. - Abbonamento: seleziona il tuo abbonamento Azure.
- Gruppo di risorse: seleziona lo stesso gruppo di risorse utilizzato in precedenza.
- Regione: seleziona la stessa regione del tuo spazio di lavoro Log Analytics.
- Tipo di piattaforma: seleziona Windows.
- Nome regola: inserisci
- Fai clic su Successivo: risorse.
- Nella scheda Risorse:
- Fai clic su + Aggiungi risorse.
- Espandi il gruppo di risorse e seleziona il server NPS abilitato per Azure Arc.
- Fai clic su Applica.
- Fai clic su Avanti: raccolta e consegna.
Nella scheda Ritiro e consegna:
- Fai clic su + Aggiungi origine dati.
- Nel menu a discesa Tipo di origine dati, seleziona Log di testo personalizzati.
Nel campo Pattern file, inserisci il percorso dei file di log NPS:
C:\Windows\System32\LogFiles\IN*.logNel menu a discesa Nome tabella, seleziona
NpsIasLogs_CL.Nel campo Delimitatore record, seleziona Fine riga.
Nel campo Trasforma, inserisci
sourceper inviare i dati di log non elaborati senza modifiche.Fai clic su Aggiungi origine dati.
Nella sezione Destinazione, verifica che lo spazio di lavoro Log Analytics che hai creato sia elencato.
Fai clic su Avanti: rivedi e crea.
Rivedi la configurazione e fai clic su Crea.
Configura l'esportazione dei dati in Azure Blob Storage
Crea una regola di esportazione dei dati per esportare continuamente i dati dei log NPS/IAS dall'area di lavoro Log Analytics ad Azure Blob Storage.
Creare una regola di esportazione dei dati
- Nel portale Azure, vai all'area di lavoro Log Analytics che hai creato.
- Nel menu di navigazione a sinistra, seleziona Esportazione dati nella sezione Impostazioni.
- Fai clic su + Nuova regola di esportazione.
- Nella scheda Informazioni di base, fornisci i seguenti dettagli di configurazione:
- Nome regola: inserisci
export-nps-ias-logs. - Destinazione: seleziona Account di archiviazione.
- Nome regola: inserisci
- Fai clic su Avanti: origine.
- Nella scheda Origine, seleziona la tabella NpsIasLogs_CL.
- Fai clic su Avanti: destinazione.
- Nella scheda Destinazione:
- Abbonamento: seleziona l'abbonamento contenente il tuo account di archiviazione.
- Storage Account: seleziona lo Storage Account che hai creato in precedenza (ad esempio
npsiaslogs).
- Fai clic su Review + create (Rivedi e crea).
Rivedi la configurazione e fai clic su Crea.
Configura un feed in Google SecOps per importare i log di Microsoft IAS
- 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,
Microsoft IAS NPS Logs). - Seleziona Microsoft Azure Blob Storage V2 come Tipo di origine.
- Seleziona Microsoft IAS come Tipo di log.
- Fai clic su Avanti.
Specifica i valori per i seguenti parametri di input:
- URI Azure: inserisci l'URL dell'endpoint del servizio BLOB con il percorso del container:
https://npsiaslogs.blob.core.windows.net/am-NpsIasLogs_CL/- Sostituisci quanto segue:
npsiaslogs: il nome del tuo account di archiviazione Azure.am-NpsIasLogs_CL: il nome del contenitore blob creato automaticamente dalla regola di esportazione dei dati.
- Opzione di eliminazione dell'origine: seleziona l'opzione di eliminazione in base alle tue preferenze:
- Mai: non elimina mai i file dopo i trasferimenti.
- Elimina file trasferiti: elimina i file dopo il trasferimento riuscito.
- Elimina file trasferiti e directory vuote: elimina i file e le directory vuote dopo il trasferimento riuscito.
- Età massima del file: includi i file modificati nell'ultimo numero di giorni (il valore predefinito è 180 giorni)
- Chiave condivisa: inserisci il valore della chiave condivisa (chiave di accesso) che hai acquisito in precedenza dall'account di archiviazione.
- Spazio dei nomi dell'asset: lo spazio dei nomi dell'asset
- Etichette di importazione: l'etichetta da applicare agli eventi di questo feed
Fai clic su Avanti.
Controlla la nuova configurazione del feed nella schermata Finalizza e poi fai clic su Invia.
Configura il firewall di Azure Storage (se abilitato)
Se il tuo account di archiviazione Azure utilizza un firewall, devi aggiungere gli intervalli IP di Google SecOps.
- Nel portale Azure, vai al tuo account di archiviazione.
- Seleziona Networking in Sicurezza + networking.
- In Firewall e reti virtuali, seleziona Attivato da reti virtuali e indirizzi IP selezionati.
- Nella sezione Firewall, in Intervallo di indirizzi, fai clic su + Aggiungi intervallo IP.
Aggiungi ogni intervallo IP di Google SecOps in notazione CIDR.
Per ottenere gli intervalli IP attuali:
- Consulta la documentazione relativa alla lista consentita IP
- In alternativa, recuperali in modo programmatico utilizzando l'API di gestione dei feed.
Verifica che la casella di controllo Consenti ai servizi Azure nell'elenco dei servizi attendibili di accedere all'account di archiviazione sia selezionata (obbligatorio per il funzionamento dell'esportazione dei dati di Log Analytics).
Fai clic su Salva.
Tabella di mappatura UDM
| Campo log | Mappatura UDM | Logica |
|---|---|---|
| packet_type | additional.fields | Unito alle etichette per ogni campo, se non vuoto |
| auth_type | additional.fields | |
| filter_id | additional.fields | |
| framed_netmask | additional.fields | |
| framed_address | additional.fields | |
| framed_protocol | additional.fields | |
| framed_routing | additional.fields | |
| framed_mtu | additional.fields | |
| framed_compression | additional.fields | |
| reason_code | additional.fields | |
| extensible_auth_protocol | additional.fields | |
| service_type | additional.fields | |
| nas_port | additional.fields | |
| reply_message | additional.fields | |
| nas_identifier | additional.fields | |
| device-type | additional.fields | |
| coa-push | additional.fields | |
| audit-session-id | additional.fields | |
| data | metadata.event_timestamp | Concatenato da data e ora, quindi analizzato con il formato MM/gg/aaaa HH:mm:ss |
| tempo | metadata.event_timestamp | |
| principal_present | metadata.event_type | Impostato su "GENERIC_EVENT", poi "NETWORK_CONNECTION" se principal_present e target_present, altrimenti "STATUS_UPDATE" se principal_present |
| target_present | metadata.event_type | |
| ac-user-agent | network.http.parsed_user_agent | Convertito da ac-user-agent se l'analisi ha esito positivo |
| ac-user-agent | network.http.user_agent | Valore copiato direttamente |
| session_duration | network.session_duration.seconds | Valore copiato direttamente, poi convertito in numero intero |
| session_id | network.session_id | Valore copiato direttamente |
| principal_hostname | principal.asset.hostname | Valore copiato direttamente |
| principal_ip | principal.asset.ip | Valore di principal_ip se l'IP è valido, altrimenti calling_station_id se l'IP è valido |
| calling_station_id | principal.asset.ip | |
| principal_hostname | principal.hostname | Valore copiato direttamente |
| principal_ip | principal.ip | Valore di principal_ip se l'IP è valido, altrimenti calling_station_id se l'IP è valido |
| calling_station_id | principal.ip | |
| device-mac | principal.mac | Valore di device-mac se non è vuoto (dopo aver sostituito - con :), altrimenti device-public-mac |
| device-public-mac | principal.mac | |
| nat_ip | principal.nat_ip | Valore copiato direttamente |
| device-platform | principal.platform | Imposta su "WINDOWS" se in ["Win","win"], "MAC" se =~ "mac|iOS", "LINUX" se =~ "lin" |
| device-platform-version | principal.platform_version | Valore copiato direttamente |
| device-uid | principal.resource.product_object_id | Valore copiato direttamente |
| user_name | principal.user.user_display_name | Valore copiato direttamente |
| userid | principal.user.userid | Valore copiato direttamente |
| service_name | target.application | Valore copiato direttamente |
| computer_name | target.asset.hostname | Valore copiato direttamente |
| target_ip | target.asset.ip | Valore di target_ip se l'IP è valido, altrimenti called_station_id se l'IP è valido |
| called_station_id | target.asset.ip | |
| computer_name | target.hostname | Valore copiato direttamente |
| target_ip | target.ip | Valore di target_ip se l'IP è valido, altrimenti called_station_id se l'IP è valido |
| called_station_id | target.ip | |
| target_port | target.port | Valore copiato direttamente, poi convertito in numero intero |
| metadata.product_name | metadata.product_name | Imposta su "MICROSOFT_IAS" |
| metadata.vendor_name | metadata.vendor_name | Imposta su "MICROSOFT_IAS" |
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.