# Az - Monitoring

{{#include ../../../banners/hacktricks-training.md}}

## Entra ID - Logs

Postoje 3 tipa logova dostupnih u Entra ID:

- **Sign-in Logs**: Logovi prijave dokumentuju svaki pokušaj autentifikacije, bilo uspešan ili neuspešan. Oni nude detalje kao što su IP adrese, lokacije, informacije o uređaju i primenjene politike uslovnog pristupa, što je od suštinskog značaja za praćenje aktivnosti korisnika i otkrivanje sumnjivog ponašanja prilikom prijave ili potencijalnih bezbednosnih pretnji.
- **Audit Logs**: Logovi revizije pružaju evidenciju svih promena napravljenih unutar vašeg Entra ID okruženja. Oni beleže ažuriranja korisnika, grupa, uloga ili politika, na primer. Ovi logovi su vitalni za usklađenost i bezbednosne istrage, jer vam omogućavaju da pregledate ko je napravio koju promenu i kada.
- **Provisioning Logs**: Logovi o dodeljivanju pružaju informacije o korisnicima dodeljenim u vašem tenant-u putem treće strane (kao što su lokalni direktorijumi ili SaaS aplikacije). Ovi logovi pomažu vam da razumete kako se informacije o identitetu sinhronizuju.

> [!WARNING]
> Imajte na umu da se ovi logovi čuvaju samo **7 dana** u besplatnoj verziji, **30 dana** u P1/P2 verziji i dodatnih 60 dana u bezbednosnim signalima za rizične aktivnosti prijave. Međutim, čak ni globalni administrator ne bi mogao da **modifikuje ili obriše ih ranije**.

## Entra ID - Log Systems

- **Diagnostic Settings**: Dijagnostička podešavanja definišu listu kategorija platformskih logova i/ili metrika koje želite da prikupite sa resursa, i jedno ili više odredišta na koja ćete ih slati. Normalne naknade za korišćenje odredišta će se primeniti. Saznajte više o različitim kategorijama logova i sadržaju tih logova.
- **Destinations**:
- **Analytics Workspace**: Istraživanje kroz Azure Log Analytics i kreiranje upozorenja.
- **Storage account**: Statistička analiza i backup.
- **Event hub**: Strimovanje podataka u spoljne sisteme kao što su SIEM-ovi trećih strana.
- **Monitor partner solutions**: Specijalne integracije između Azure Monitor-a i drugih platformi za praćenje koje nisu Microsoftove.
- **Workbooks**: Workbooks kombinuju tekst, log upite, metrike i parametre u bogate interaktivne izveštaje.
- **Usage & Insights**: Korisno za pregled najčešćih aktivnosti u Entra ID.

## Azure Monitor

Ovo su glavne karakteristike Azure Monitor-a:

- **Activity Logs**: Azure Activity Logs beleže događaje na nivou pretplate i operacije upravljanja, pružajući vam pregled promena i akcija preduzetih na vašim resursima.
- **Activily logs** ne mogu biti modifikovani ili obrisani.
- **Change Analysis**: Change Analysis automatski otkriva i vizualizuje promene konfiguracije i stanja širom vaših Azure resursa kako bi pomogao u dijagnostikovanju problema i praćenju modifikacija tokom vremena.
- **Alerts**: Upozorenja iz Azure Monitor-a su automatske obaveštenja koja se aktiviraju kada su ispunjeni određeni uslovi ili pragovi u vašem Azure okruženju.
- **Workbooks**: Workbooks su interaktivne, prilagodljive kontrolne table unutar Azure Monitor-a koje vam omogućavaju da kombinujete i vizualizujete podatke iz različitih izvora za sveobuhvatnu analizu.
- **Investigator**: Investigator vam pomaže da detaljno istražite log podatke i upozorenja kako biste sproveli dubinsku analizu i identifikovali uzrok incidenata.
- **Insights**: Insights pružaju analitiku, metrike performansi i akcione preporuke (poput onih u Application Insights ili VM Insights) kako bi vam pomogli da pratite i optimizujete zdravlje i efikasnost vaših aplikacija i infrastrukture.

### Log Analytics Workspaces

Log Analytics radni prostori su centralni repozitorijumi u Azure Monitor-u gde možete **prikupiti, analizirati i vizualizovati log i podatke o performansama** iz vaših Azure resursa i lokalnih okruženja. Evo ključnih tačaka:

- **Centralized Data Storage**: Oni služe kao centralna lokacija za skladištenje dijagnostičkih logova, metrika performansi i prilagođenih logova koje generišu vaše aplikacije i usluge.
- **Powerful Query Capabilities**: Možete pokretati upite koristeći Kusto Query Language (KQL) za analizu podataka, generisanje uvida i rešavanje problema.
- **Integration with Monitoring Tools**: Log Analytics radni prostori se integrišu sa raznim Azure uslugama (kao što su Azure Monitor, Azure Sentinel i Application Insights) omogućavajući vam da kreirate kontrolne table, postavljate upozorenja i dobijete sveobuhvatan pregled vašeg okruženja.

Ukratko, Log Analytics radni prostor je od suštinskog značaja za napredno praćenje, rešavanje problema i analizu bezbednosti u Azure.

Možete konfigurisati resurs da šalje podatke u analitički radni prostor iz **dijagnostičkih podešavanja** resursa.

## Enumeration

### Entra ID
```bash
# Get last 10 sign-ins
az rest --method get --uri 'https://graph.microsoft.com/v1.0/auditLogs/signIns?$top=10'

# Get last 10 audit logs
az rest --method get --uri 'https://graph.microsoft.com/v1.0/auditLogs/directoryAudits?$top=10'

# Get last 10 provisioning logs
az rest --method get --uri ‘https://graph.microsoft.com/v1.0/auditLogs/provisioning?$top=10’

# Get EntraID Diagnostic Settings
az rest --method get --uri "https://management.azure.com/providers/microsoft.aadiam/diagnosticSettings?api-version=2017-04-01-preview"

# Get Entra ID Workbooks
az rest \
--method POST \
--url "https://management.azure.com/providers/microsoft.resourcegraph/resources?api-version=2021-03-01" \
--headers '{"commandName": "AppInsightsExtension.GetWorkbooksListArg"}' \
--body '{
"subscriptions": ["9291ff6e-6afb-430e-82a4-6f04b2d05c7f"],
"query": "where type =~ \"microsoft.insights/workbooks\" \n| extend sourceId = tostring(properties.sourceId) \n| where sourceId =~ \"Azure Active Directory\" \n| extend DisplayName = tostring(properties.displayName) \n| extend WorkbookType = tostring(properties.category), LastUpdate = todatetime(properties.timeModified) \n| where WorkbookType == \"workbook\"\n| project DisplayName, name, resourceGroup, kind, location, id, type, subscriptionId, tags, WorkbookType, LastUpdate, identity, properties",
"options": {"resultFormat": "table"},
"name": "e4774363-5160-4c09-9d71-2da6c8e3b00a"
}' | jq '.data.rows'
```
### Azure Monitor
```bash
# Get last 10 activity logs
az monitor activity-log list --max-events 10

# Get Resource Diagnostic Settings
az rest --url "https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<res-group>/providers/Microsoft.DocumentDb/databaseAccounts/<db-name>/providers/microsoft.insights/diagnosticSettings?api-version=2021-05-01-preview"

# Get Entra ID Workbooks
az rest \
--method POST \
--url "https://management.azure.com/providers/microsoft.resourcegraph/resources?api-version=2021-03-01" \
--headers '{"commandName": "AppInsightsExtension.GetWorkbooksListArg"}' \
--body '{
"content": {},
"commandName": "AppInsightsExtension.GetWorkbooksListArg"
}'

# List Log Analytic groups
az monitor log-analytics workspace list --output table

# List alerts
az monitor metrics alert list --output table
az monitor activity-log alert list --output table
```
{{#include ../../../banners/hacktricks-training.md}}
