From 628b0a4fd1a5058899c6473c09e56b28917fb4d8 Mon Sep 17 00:00:00 2001 From: nlepagnez Date: Wed, 29 Jul 2026 13:05:14 +0200 Subject: [PATCH 1/7] Push version 8.0.0.0 of Scripts for Log Monitor Migration --- ...From_LogAnalyticsAPI_To_LogIngestionAPI.md | 252 ++++ .../Documentations/QUICKSTART-Forwarder.md | 272 +++++ .../Documentations/README-ForwarderPickup.md | 437 +++++++ .../Documentations/README.md | 33 +- .../README_AzureMonitorSetup.md | 544 +++++++++ .../Documentations/README_LogIngestionAPI.md | 323 +++++ .../Documentations/WinformConfigReadme.md | 43 + .../ESICollector/Beta/CollectExchSecIns.zip | Bin 0 -> 233628 bytes .../CollectExchSecInsVersionTracking.json | 22 +- .../CollectExchSecIns-v8.0.0.0.zip | Bin 0 -> 233628 bytes .../ESICollector/CollectExchSecIns.zip | Bin 73982 -> 233628 bytes .../CollectExchSecInsVersionTracking.json | 4 +- .../OnlineDeployment/CollectExchSecIns.ps1 | 1065 +++++++++++++---- .../ESICollector/OnlineDeployment/README.md | 14 + .../Solutions/ESICollector/Parameters.md | 206 +++- .../Solutions/ESICollector/README.md | 46 +- .../ESI-ExchangeOnPremisesCollector.json | 28 +- .../azuredeploy_ESI_LogIngestionAPI.json | 970 +++++++++++++++ .../Solution_MicrosoftExchangeSecurity.json | 4 +- .../Package/4.0.0.zip | Bin 0 -> 96219 bytes .../Package/mainTemplate.json | 132 +- .../ReleaseNotes.md | 1 + ...From_LogAnalyticsAPI_To_LogIngestionAPI.md | 252 ++++ .../Documentations/QUICKSTART-Forwarder.md | 272 +++++ .../Documentations/README-ForwarderPickup.md | 437 +++++++ .../Documentations/README.md | 33 +- .../README_AzureMonitorSetup.md | 544 +++++++++ .../Documentations/README_LogIngestionAPI.md | 323 +++++ .../Documentations/WinformConfigReadme.md | 43 + .../ESICollector/Beta/CollectExchSecIns.zip | Bin 0 -> 233628 bytes .../CollectExchSecInsVersionTracking.json | 22 +- .../CollectExchSecIns-v8.0.0.0.zip | Bin 0 -> 233628 bytes .../ESICollector/CollectExchSecIns.zip | Bin 73982 -> 233628 bytes .../CollectExchSecInsVersionTracking.json | 4 +- .../OnlineDeployment/CollectExchSecIns.ps1 | 1065 +++++++++++++---- .../ESICollector/OnlineDeployment/README.md | 14 + .../Solutions/ESICollector/Parameters.md | 206 +++- .../Solutions/ESICollector/README.md | 46 +- .../ESI-ExchangeOnlineCollector.json | 11 +- .../azuredeploy_ESI_LogIngestionAPI.json | 970 +++++++++++++++ ...crosoftExchangeSecurityExchangeOnline.json | 24 +- .../Package/4.0.0.zip | Bin 0 -> 46223 bytes .../Package/mainTemplate.json | 74 +- .../ReleaseNotes.md | 1 + 44 files changed, 7955 insertions(+), 782 deletions(-) create mode 100644 Solutions/Microsoft Exchange Security - Exchange On-Premises/# - General Content/Documentations/Migrate_From_LogAnalyticsAPI_To_LogIngestionAPI.md create mode 100644 Solutions/Microsoft Exchange Security - Exchange On-Premises/# - General Content/Documentations/QUICKSTART-Forwarder.md create mode 100644 Solutions/Microsoft Exchange Security - Exchange On-Premises/# - General Content/Documentations/README-ForwarderPickup.md create mode 100644 Solutions/Microsoft Exchange Security - Exchange On-Premises/# - General Content/Documentations/README_AzureMonitorSetup.md create mode 100644 Solutions/Microsoft Exchange Security - Exchange On-Premises/# - General Content/Documentations/README_LogIngestionAPI.md create mode 100644 Solutions/Microsoft Exchange Security - Exchange On-Premises/# - General Content/Documentations/WinformConfigReadme.md create mode 100644 Solutions/Microsoft Exchange Security - Exchange On-Premises/# - General Content/Solutions/ESICollector/Beta/CollectExchSecIns.zip create mode 100644 Solutions/Microsoft Exchange Security - Exchange On-Premises/# - General Content/Solutions/ESICollector/CollectExchSecIns-v8.0.0.0.zip create mode 100644 Solutions/Microsoft Exchange Security - Exchange On-Premises/Data Connectors/azuredeploy_ESI_LogIngestionAPI.json create mode 100644 Solutions/Microsoft Exchange Security - Exchange On-Premises/Package/4.0.0.zip create mode 100644 Solutions/Microsoft Exchange Security - Exchange Online/# - General Content/Documentations/Migrate_From_LogAnalyticsAPI_To_LogIngestionAPI.md create mode 100644 Solutions/Microsoft Exchange Security - Exchange Online/# - General Content/Documentations/QUICKSTART-Forwarder.md create mode 100644 Solutions/Microsoft Exchange Security - Exchange Online/# - General Content/Documentations/README-ForwarderPickup.md create mode 100644 Solutions/Microsoft Exchange Security - Exchange Online/# - General Content/Documentations/README_AzureMonitorSetup.md create mode 100644 Solutions/Microsoft Exchange Security - Exchange Online/# - General Content/Documentations/README_LogIngestionAPI.md create mode 100644 Solutions/Microsoft Exchange Security - Exchange Online/# - General Content/Documentations/WinformConfigReadme.md create mode 100644 Solutions/Microsoft Exchange Security - Exchange Online/# - General Content/Solutions/ESICollector/Beta/CollectExchSecIns.zip create mode 100644 Solutions/Microsoft Exchange Security - Exchange Online/# - General Content/Solutions/ESICollector/CollectExchSecIns-v8.0.0.0.zip create mode 100644 Solutions/Microsoft Exchange Security - Exchange Online/Data Connectors/azuredeploy_ESI_LogIngestionAPI.json create mode 100644 Solutions/Microsoft Exchange Security - Exchange Online/Package/4.0.0.zip diff --git a/Solutions/Microsoft Exchange Security - Exchange On-Premises/# - General Content/Documentations/Migrate_From_LogAnalyticsAPI_To_LogIngestionAPI.md b/Solutions/Microsoft Exchange Security - Exchange On-Premises/# - General Content/Documentations/Migrate_From_LogAnalyticsAPI_To_LogIngestionAPI.md new file mode 100644 index 00000000000..cc4786b2d57 --- /dev/null +++ b/Solutions/Microsoft Exchange Security - Exchange On-Premises/# - General Content/Documentations/Migrate_From_LogAnalyticsAPI_To_LogIngestionAPI.md @@ -0,0 +1,252 @@ +# Migrate from the Log Analytics HTTP Data Collector API to the Log Ingestion API + +This guide describes how to migrate an existing Exchange Security Insights (ESI) deployment from the **legacy Log Analytics HTTP Data Collector API** (workspace ID + shared key) to the **Azure Monitor Log Ingestion API** (DCE + DCR + Entra ID identity). + +> [!IMPORTANT] +> Microsoft has announced the retirement of the Log Analytics HTTP Data Collector API. All ESI deployments must switch to the Log Ingestion API before the end of support. New tables use `_CL` schemas with typed columns and are managed through Data Collection Rules (DCR). + +## Why migrate + +- The legacy API relies on the workspace shared key, which is a long-lived secret. The Log Ingestion API uses **Entra ID identities** (service principal with certificate or system-assigned **managed identity**). +- The Log Ingestion API supports **DCR-based transforms** — the ESI templates now use `parse_json` to extract typed sub-columns (for example the new `Identity_*` columns) directly at ingestion. +- Legacy tables are auto-provisioned with generic string columns; DCR-based tables have explicit typed schemas, enabling better queries, cost control, and retention management. +- The legacy API endpoint is **deprecated** and will stop accepting new data at end of support. + +## Migration overview + +The migration is a three-step process. You can perform all three steps back-to-back or spread them over multiple maintenance windows because the collector supports both APIs during the transition (`SentinelLogIngestionAPIActivated` toggle). + +```text +Step 1 Step 2 Step 3 +Upgrade script Deploy Azure infrastructure Update collector configuration +CollectExchSecIns.ps1 -> DCE + DCRs + tables (ARM template) -> JSON / WinformConfig +(v8.0.0.0 or higher) + role assignments +``` + +| Step | Duration | Impact on production | +|------|----------------|-------------------------------------------------------| +| 1 | Short | None until the config file is switched (Step 3). | +| 2 | Short | None. New tables run in parallel with legacy tables. | +| 3 | Short | Ingestion path switches to the Log Ingestion API. | + +> [!TIP] +> Perform steps 1 and 2 in advance. Step 3 is the actual cutover and can be scheduled during a low-traffic window. + +## Prerequisites + +- Owner or Contributor on the target resource group. +- Access to the Log Analytics workspace hosting the current ESI tables. +- Ability to update the Automation Account `GlobalConfiguration` variable or the on-premises configuration file. +- (Recommended) Access to the [WinformConfig editor](./Migrate_From_LogAnalyticsAPI_To_LogIngestionAPI.md) to edit `CollectExchSecConfiguration.json` interactively. + +## Step 1 — Upgrade the collector to v8.0.0.0 or higher + +The **v8.0.0.0** release of `CollectExchSecIns.ps1` adds native support for the Log Ingestion API through the `SentinelLogIngestionAPIActivated` switch, DCE/DCR endpoint properties, certificate-based authentication, and managed identity for Azure Automation. + +> [!IMPORTANT] +> Earlier versions of the collector only speak the legacy Log Analytics API. They cannot post to a DCE endpoint even if the configuration is updated. Upgrade the script **before** switching the configuration. + +### Azure Automation runbook + +1. Download the latest `CollectExchSecIns.ps1` (v8.0.0.0 or higher) from [the ESI script location](https://aka.ms/ESI-ExchangeCollector-Script). +2. Open the Automation Account, navigate to **Runbooks**, and select your ESI runbook. +3. Click **Edit** and replace the script content with the new version. +4. **Publish** the runbook. +5. Verify the runbook runs end-to-end with the existing (legacy) configuration. The behavior at this stage is unchanged — the collector still uses the legacy API because `SentinelLogIngestionAPIActivated` is still `false`. + +### On-premises / hybrid collector (server or scheduled task) + +1. Download the latest `CollectExchSecIns.ps1` (v8.0.0.0 or higher). +2. Replace the existing script file on the collector host (typical path: `C:\ESI\` or the location referenced by the scheduled task). +3. Run one manual execution to confirm the upgrade succeeded. Nothing else should change. + +Once running v8.0.0.0, the collector emits a runtime warning banner whenever it still uses the legacy Log Analytics API, reminding operators to complete the migration. This banner disappears after Step 3. + +## Step 2 — Deploy the Azure resources (DCE, DCRs, tables) + +The ARM template `azuredeploy_ESI_LogIngestionAPI.json` provisions everything you need: + +- 1 Data Collection Endpoint (DCE) +- Up to 3 custom Log Analytics tables (each optional): + - `ESIAPIExchangeOnPremConfig_CL` — Exchange On-Premises configuration. + - `ESIAPIExchangeOnlineConfig_CL` — Exchange Online configuration. + - `ExchangeOnlineMessageTracking_CL` — Message tracking. +- Up to 3 Data Collection Rules (one per table). + +> [!NOTE] +> The new tables live **alongside** the legacy `ESIExchangeConfig_CL` / `ExchangeOnlineMessageTracking_CL` tables. You can keep the legacy tables for historical queries or delete them after the migration. + +### 2.1 Deploy the template + +Deploy with Azure CLI, PowerShell, or the Azure Portal. Full instructions and parameter reference are in [README_LogIngestionAPI.md](./README_LogIngestionAPI.md). + +Minimal PowerShell deployment (deploy everything, defaults): + +```powershell +New-AzResourceGroupDeployment ` + -ResourceGroupName "rg-sentinel-esi" ` + -TemplateFile ".\ExchSecIns\Deployments\azuredeploy_ESI_LogIngestionAPI.json" ` + -workspaceName "law-sentinel-prod" +``` + +Deploy only the parts you need using the master switches: + +- Online-only tenant: set `deployOnPremConfigTable=false`. +- On-premises only: set `deployOnlineConfigTable=false` and `deployMessageTrackingTable=false`. +- Reuse existing tables: set `deployTables=false`. + +### 2.2 Collect the deployment outputs + +Record these values — they go into the collector configuration in Step 3: + +- `dataCollectionEndpointUri` +- `dataCollectionRuleOnPremisesConfigImmutableId` (if deployed) +- `dataCollectionRuleOnlineConfigImmutableId` (if deployed) +- `dataCollectionRuleMessageTrackingImmutableId` (if deployed) + +### 2.3 Set up the ingestion identity + +Choose one of the two authentication modes: + +- **Entra ID application + certificate** — recommended for on-premises and server scenarios. Follow the full procedure in [README_AzureMonitorSetup.md](./README_AzureMonitorSetup.md#step-1-create-a-self-signed-certificate). +- **System-assigned managed identity** — recommended for Azure Automation runbooks. Enable the system-assigned identity on the Automation Account. + +### 2.4 Assign the ingestion role + +Grant **Monitoring Metrics Publisher** to the identity on **each DCR** it will send data to. + +```powershell +$sp = Get-AzADServicePrincipal -ApplicationId "YOUR_APP_ID" # or the Automation Account MI + +New-AzRoleAssignment ` + -ObjectId $sp.Id ` + -RoleDefinitionName "Monitoring Metrics Publisher" ` + -Scope "/subscriptions//resourceGroups/rg-sentinel-esi/providers/Microsoft.Insights/dataCollectionRules/DCR-ESI-OnlineConfig" +# Repeat for DCR-ESI-OnPremisesConfig and DCR-ESI-MessageTracking as needed. +``` + +> [!WARNING] +> Without this role assignment, the collector receives `403 Forbidden` from the Log Ingestion API. Verify the role is present before Step 3. + +## Step 3 — Update the collector configuration + +The configuration change is the actual cutover. Once `SentinelLogIngestionAPIActivated` is `true`, the collector stops calling the legacy API on its next execution and starts using the DCE/DCR endpoint. + +### Option A — Update the configuration through the WinformConfig editor (recommended) + +The WinformConfig GUI walks you through the relevant fields, hides legacy fields (`WorkspaceId`, `WorkspaceKey`) once `SentinelLogIngestionAPIActivated` is set, and validates the payload before saving. + +1. From the ESI repository, open a PowerShell console and launch the editor: + + ```powershell + pwsh -ExecutionPolicy Bypass ` + -File .\ExchSecIns\WinformConfig\SetupCollectExchSecConfiguration.ps1 ` + -ConfigPath .\ExchSecIns\CollectExchSecConfiguration.json + ``` + +2. In the **Log Collection** section: + - Set `SentinelLogIngestionAPIActivated` to `True`. + - Fill `DataCollectionEndpointURI` with the DCE URI from Step 2.2. + - Fill `DCRImmutableId` with the DCR immutable ID matching the table you target (Online, OnPremises, or MessageTracking). + - Choose the authentication mode: + - **Managed identity** (Azure Automation): set `UseManagedIdentity` to `True`. + - **Certificate**: set `UseManagedIdentity` to `False`, then fill `TargetLogTenantID`, `TargetLogAppID`, and `TargetLogCertificateThumbprint`. + - `WorkspaceId` and `WorkspaceKey` become hidden and can stay as-is (they are ignored once `SentinelLogIngestionAPIActivated` is `True`). +3. Review the **Raw JSON preview** and the **diff summary**. +4. Save the file. If the collector runs from Azure Automation, upload the new JSON to the `GlobalConfiguration` variable. + +### Option B — Update the configuration file manually + +Edit `CollectExchSecConfiguration.json` and update the `LogCollection` section: + +```json +{ + "LogCollection": { + "ActivateLogUpdloadToSentinel": "true", + "SentinelLogIngestionAPIActivated": "true", + "DataCollectionEndpointURI": "https://..ingest.monitor.azure.com", + "DCRImmutableId": "dcr-00000000000000000000000000000000", + "UseManagedIdentity": "false", + "TargetLogTenantID": "", + "TargetLogAppID": "", + "TargetLogCertificateThumbprint": "", + "TargetLogAppSecretReference": "", + "LogTypeName": "ESIExchangeConfig" + } +} +``` + +Key rules: + +- `SentinelLogIngestionAPIActivated` **must** be `"true"` (string). +- `DCRImmutableId` must correspond to the DCR routing to the target table (choose `OnPremisesConfigImmutableId`, `OnlineConfigImmutableId`, or `MessageTrackingImmutableId` from the deployment outputs). +- `LogTypeName` maps to the stream name (`Custom-` is sent to the DCR). Use `ESIExchangeConfig`, `ESIExchangeOnlineConfig`, or `ExchangeOnlineMessageTracking`. +- For Azure Automation with certificate auth, import the certificate into the Automation Account certificate store and populate `TargetLogAppSecretReference` with the automation variable name that stores the certificate reference. +- `WorkspaceId` / `WorkspaceKey` are no longer used; leave them empty or remove them for clarity. + +### 3.1 Push the configuration + +- **Azure Automation**: open the Automation Account, navigate to **Variables**, edit `GlobalConfiguration`, and paste the updated JSON. Publish any linked runbook if required. +- **Server-based collector**: replace the local `CollectExchSecConfiguration.json` used by the scheduled task or manual invocation. + +### 3.2 Validate the cutover + +1. Trigger a manual run of the collector. +2. Confirm the runtime log no longer displays the **legacy API warning banner** (see below). +3. Query the new tables in Log Analytics: + + ```kql + ESIAPIExchangeOnlineConfig_CL + | where TimeGenerated > ago(1h) + | summarize count() by Section_s + ``` + +4. Optional: query the legacy tables to confirm ingestion has stopped, then plan their decommissioning. + +## Runtime warning banner (legacy API still in use) + +Starting with v8.0.0.0, the collector displays a highly visible warning at the start of every execution when it detects the legacy Log Analytics API is still in use. Sample output: + +```text +================================================================================ +!! WARNING: Legacy Log Analytics HTTP Data Collector API is still in use. +!! The API is deprecated by Microsoft and will be retired. +!! Please migrate to the Azure Monitor Log Ingestion API before end of support. +!! Migration guide: ESI-PublicContent/Documentations/Migrate_From_LogAnalyticsAPI_To_LogIngestionAPI.md +================================================================================ +``` + +The banner clears after Step 3 is applied and `SentinelLogIngestionAPIActivated` is `true` in the effective configuration. + +## Post-migration housekeeping + +- Remove the workspace shared key from any password vault / secure store used for the legacy configuration. +- Update any monitoring / alerts to point to the new `_CL` tables. +- Update Sentinel analytic rules, hunting queries, and workbooks that reference the legacy tables. New sub-columns such as `Identity_DistinguishedName_s` or `Identity_ObjectGuid_g` unlock queries that were not possible with the legacy schema. +- After a full retention cycle, plan the decommissioning of the legacy tables through the Log Analytics workspace UI. + +## Rollback + +If a critical issue is discovered, the transition is reversible: + +1. Set `SentinelLogIngestionAPIActivated` back to `"false"` in `CollectExchSecConfiguration.json` (or via the WinformConfig editor). +2. Reinstate the legacy `WorkspaceId` / `WorkspaceKey` values. +3. Trigger the collector. + +The collector will resume publishing to the legacy tables. The DCE, DCRs, and new tables remain in place for a later retry. + +## Troubleshooting + +| Symptom | Likely cause | Action | +|------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------|----------------------------------------------------------------------------------------------| +| The runtime banner still appears after step 3 | Old configuration cached, or the runbook still uses the previous JSON | Re-check `SentinelLogIngestionAPIActivated`, republish the runbook. | +| HTTP 403 from the Log Ingestion API | Missing role assignment on the DCR | Assign **Monitoring Metrics Publisher** on the correct DCR. | +| HTTP 400 `InvalidPayload` | Column type mismatch or stream name mismatch | Verify `DCRImmutableId` and `LogTypeName` match the target DCR / stream. | +| No data in the new tables | Wrong immutable ID (targets a different DCR) | Reconcile immutable IDs from the deployment outputs. | +| Payload rejected `PayloadTooLarge` | Segment > 1 MB | Lower `Advanced.MaximalSentinelPacketSizeMb` (default is `0.9` when the new API is enabled). | + +## Related documentation + +- ARM template and parameters: [README_LogIngestionAPI.md](./README_LogIngestionAPI.md) +- End-to-end Azure Monitor setup (Entra ID app, certificate, RBAC): [README_AzureMonitorSetup.md](./README_AzureMonitorSetup.md) +- WinformConfig editor: [ExchSecIns/WinformConfig/Readme.md](./WinformConfigReadme.md) diff --git a/Solutions/Microsoft Exchange Security - Exchange On-Premises/# - General Content/Documentations/QUICKSTART-Forwarder.md b/Solutions/Microsoft Exchange Security - Exchange On-Premises/# - General Content/Documentations/QUICKSTART-Forwarder.md new file mode 100644 index 00000000000..713775e585e --- /dev/null +++ b/Solutions/Microsoft Exchange Security - Exchange On-Premises/# - General Content/Documentations/QUICKSTART-Forwarder.md @@ -0,0 +1,272 @@ +# 🚀 Quick Start Guide - Forwarder Pickup Processor + +## Quick Installation in 5 Minutes + +### 1️⃣ Prerequisites (2 minutes) + +```powershell +# Install Azure modules (if using Log Ingestion API) +Install-Module -Name Az.Accounts, Az.Monitor -Force -Scope CurrentUser + +# Verify installation +Get-Module -Name Az.Accounts -ListAvailable +``` + +### 2️⃣ Configuration (1 minute) + +```powershell +# Navigate to scripts folder +cd "C:\ESI\Scripts" + +# Copy configuration file +Copy-Item "Config\ForwarderPickupConfig.json" "Config\ForwarderPickupConfig-BACKUP.json" + +# Edit configuration +notepad "Config\ForwarderPickupConfig.json" +``` + +**Minimum configuration to modify:** + +```json +{ + "SentinelConnection": { + "UseLogIngestionAPI": true, + "DataCollectionEndpointURI": "https://VOTRE-DCE.ingest.monitor.azure.com", + "DCRImmutableId": "dcr-VOTRE-DCR-ID", + "TenantID": "VOTRE-TENANT-ID", + "ApplicationId": "VOTRE-APP-ID", + "CertificateThumbprint": "VOTRE-CERT-THUMBPRINT" + } +} +``` + +### 3️⃣ Configuration Test (30 seconds) + +```powershell +# Test configuration +.\Test-ForwarderSetup.ps1 + +# Test with test file creation +.\Test-ForwarderSetup.ps1 -CreateTestFile + +# Test Azure connection +.\Test-ForwarderSetup.ps1 -TestConnection +``` + +### 4️⃣ Scheduled Task Installation (1 minute) + +```powershell +# Simple installation (15 minute interval) +.\Install-ForwarderScheduledTask.ps1 + +# With SYSTEM account (for Managed Identity) +.\Install-ForwarderScheduledTask.ps1 -UseSystemAccount + +# With service account +.\Install-ForwarderScheduledTask.ps1 -ServiceAccount "DOMAIN\svc-esi" -IntervalMinutes 10 + +# Customized +.\Install-ForwarderScheduledTask.ps1 ` + -ScriptPath "C:\ESI\Scripts\ForwarderPickupProcessor.ps1" ` + -ConfigPath "C:\ESI\Scripts\Config\ForwarderPickupConfig.json" ` + -IntervalMinutes 5 +``` + +### 5️⃣ Manual Test (30 seconds) + +```powershell +# Execute manually once +.\ForwarderPickupProcessor.ps1 + +# Check logs +Get-Content "C:\ESI\Logs\ForwarderProcessor_*.log" | Select-Object -Last 50 +``` + +--- + +## ✅ Deployment Checklist + +- [ ] PowerShell modules installed +- [ ] JSON configuration edited with your values +- [ ] Configuration test successful (0 errors) +- [ ] Folders created (Pickup, Archive, Error, Logs) +- [ ] Certificate installed (if certificate authentication) +- [ ] Permissions configured on DCR/Workspace +- [ ] CollectExchSecIns.ps1 configured in forwarder mode +- [ ] Scheduled task created +- [ ] Manual test successful +- [ ] Data visible in Sentinel + +--- + +## 🔍 Quick Verification + +### Check that forwarder is working: + +```powershell +# Count pending files +(Get-ChildItem "C:\ESI\ForwarderPickup" -Filter "*.json").Count + +# Count archived files +(Get-ChildItem "C:\ESI\Archive" -Filter "*.json").Count + +# Last task execution +Get-ScheduledTask -TaskName "ESI Forwarder Processor" | Get-ScheduledTaskInfo +``` + +### Check in Sentinel: + +```kql +// View data from last 24 hours +ESIExchangeConfig_CL +| where TimeGenerated > ago(24h) +| summarize Count=count() by bin(TimeGenerated, 1h) +| render timechart +``` + +--- + +## 🆘 Quick Troubleshooting + +### Problem: Files remain in Pickup + +```powershell +# Check logs +Get-Content "C:\ESI\Logs\ForwarderProcessor_*.log" | Select-String "Error|Failed" + +# Check error files +Get-ChildItem "C:\ESI\Error" + +# Execute manually with verbose +.\ForwarderPickupProcessor.ps1 -Verbose +``` + +### Problem: Authentication error + +```powershell +# Check certificate +Get-ChildItem Cert:\LocalMachine\My | Where-Object {$_.Thumbprint -eq "YOUR-THUMBPRINT"} + +# Test Azure connection +Connect-AzAccount -CertificateThumbprint "THUMBPRINT" -Tenant "TENANT" -ApplicationId "APPID" +``` + +### Problem: Data doesn't appear in Sentinel + +```powershell +# Wait 10-15 minutes for first ingestion +# Check DCR +Get-AzDataCollectionRule -Name "YourDCR" + +# Check DCR streams +$dcr = Get-AzDataCollectionRule -Name "YourDCR" +$dcr.DataFlows +``` + +--- + +## 📱 Useful Commands + +```powershell +# Start task manually +Start-ScheduledTask -TaskName "ESI Forwarder Processor" + +# View task status +Get-ScheduledTask -TaskName "ESI Forwarder Processor" | Format-List * + +# Stop task +Stop-ScheduledTask -TaskName "ESI Forwarder Processor" + +# Disable temporarily +Disable-ScheduledTask -TaskName "ESI Forwarder Processor" + +# Re-enable +Enable-ScheduledTask -TaskName "ESI Forwarder Processor" + +# Remove task +Unregister-ScheduledTask -TaskName "ESI Forwarder Processor" -Confirm:$false +``` + +--- + +## 🎯 Recommended Production Configuration + +```json +{ + "PickupFolder": "C:\\ESI\\ForwarderPickup", + "ArchiveFolder": "D:\\ESI\\Archive", + "ErrorFolder": "D:\\ESI\\Error", + "LogFolder": "D:\\ESI\\Logs", + "DeleteAfterProcessing": false, + "MaxFilesPerRun": 100, + "FilePattern": "*.json", + "SentinelConnection": { + "UseManagedIdentity": true, + "UseLogIngestionAPI": true, + "DataCollectionEndpointURI": "https://prod-dce.ingest.monitor.azure.com", + "DCRImmutableId": "dcr-xxxxx", + "MaxSegmentSizeMb": 0.9 + } +} +``` + +**Scheduled task:** Every 10-15 minutes +**Archive retention:** 30 days minimum +**Monitoring:** Alerts if ErrorFolder > 10 files + +--- + +## 📞 Support + +- **Logs** : `C:\ESI\Logs\ForwarderProcessor_*.log` +- **Erreurs** : `C:\ESI\Error\` +- **Documentation** : `README-ForwarderPickup.md` +- **Contact** : nilepagn@microsoft.com + +--- + +## 💡 Tips + +### Automatically purge old archives: + +```powershell +# Add to scheduled task or create separate task +Get-ChildItem "C:\ESI\Archive" -Filter "*.json" | + Where-Object {$_.LastWriteTime -lt (Get-Date).AddDays(-30)} | + Remove-Item -Force +``` + +### Monitoring with PowerShell: + +```powershell +# Monitoring script to run every hour +$pickupCount = (Get-ChildItem "C:\ESI\ForwarderPickup" -Filter "*.json").Count +$errorCount = (Get-ChildItem "C:\ESI\Error" -Filter "*.json").Count + +if ($pickupCount -gt 50) { + Write-Warning "Too many pending files: $pickupCount" +} + +if ($errorCount -gt 10) { + Write-Error "Too many errors: $errorCount files" +} +``` + +### Quick statistics: + +```powershell +# Number of files processed today +$today = Get-Date -Format "yyyy-MM-dd" +$processed = (Get-ChildItem "C:\ESI\Archive" | + Where-Object {$_.LastWriteTime.ToString("yyyy-MM-dd") -eq $today}).Count +Write-Host "Files processed today: $processed" + +# Total size +$totalSize = (Get-ChildItem "C:\ESI\Archive" -Recurse | + Measure-Object -Property Length -Sum).Sum / 1MB +Write-Host "Data processed: $([Math]::Round($totalSize, 2)) MB" +``` + +--- + +**🎉 You're ready! The forwarder is now operational.** diff --git a/Solutions/Microsoft Exchange Security - Exchange On-Premises/# - General Content/Documentations/README-ForwarderPickup.md b/Solutions/Microsoft Exchange Security - Exchange On-Premises/# - General Content/Documentations/README-ForwarderPickup.md new file mode 100644 index 00000000000..9a61e7232c3 --- /dev/null +++ b/Solutions/Microsoft Exchange Security - Exchange On-Premises/# - General Content/Documentations/README-ForwarderPickup.md @@ -0,0 +1,437 @@ +# Forwarder Pickup Processor + +## 📋 Overview + +The **Forwarder Pickup Processor** is a standalone PowerShell script that processes JSON files generated by `CollectExchSecIns.ps1` (forwarder mode) and injects them into Microsoft Sentinel. + +### Main Features + +- ✅ **Support for both APIs**: Log Analytics API (classic) and Log Ingestion API (DCR-based) +- ✅ **Batch processing**: Processes multiple files in a single execution +- ✅ **Automatic segmentation**: Splits large files into segments compliant with API limits +- ✅ **Robust error handling**: Archives successful files, isolates error files +- ✅ **Complete logging**: Detailed trace of all operations +- ✅ **Flexible authentication**: Managed Identity, Service Principal, or Interactive +- ✅ **Proxy support**: Proxy configuration for secure environments +- ✅ **Intelligent table name extraction**: Deduces log type from filename + +--- + +## 🚀 Installation and Configuration + +### 1. Prerequisites + +#### Required PowerShell modules: +```powershell +# Azure Az module (for Log Ingestion API) +Install-Module -Name Az.Accounts -Force -Scope CurrentUser +Install-Module -Name Az.Monitor -Force -Scope CurrentUser + +# Verify installation +Get-Module -Name Az.Accounts -ListAvailable +``` + +#### Required Azure permissions: + +**For Log Ingestion API (DCR-based):** +- Role: **Monitoring Metrics Publisher** on the Data Collection Rule (DCR) +- Service Principal or Managed Identity configured + +**For Log Analytics API (classic):** +- Workspace ID and Primary/Secondary Key from Log Analytics Workspace + +### 2. JSON File Configuration + +Edit `Config\ForwarderPickupConfig.json`: + +```json +{ + "PickupFolder": "C:\\ESI\\ForwarderPickup", + "ArchiveFolder": "C:\\ESI\\Archive", + "ErrorFolder": "C:\\ESI\\Error", + "LogFolder": "C:\\ESI\\Logs", + "DeleteAfterProcessing": false, + "MaxFilesPerRun": 0, + "FilePattern": "*.json", + "SentinelConnection": { + "UseManagedIdentity": false, + "UseLogIngestionAPI": true, + "DataCollectionEndpointURI": "https://your-dce.ingest.monitor.azure.com", + "DCRImmutableId": "dcr-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", + "TenantID": "your-tenant-id", + "ApplicationId": "your-app-id", + "CertificateThumbprint": "THUMBPRINT", + "DefaultLogType": "ESIExchangeConfig", + "MaxSegmentSizeMb": 0.9 + } +} +``` + +### 3. CollectExchSecIns.ps1 Configuration + +In your `CollectExchSecConfiguration.json` configuration, enable forwarder mode: + +```json +{ + "SentinelLogCollector": { + "ActivateLogUpdloadToSentinel": true, + "UseForwarder": true, + "ForwarderPickupPath": "C:\\ESI\\ForwarderPickup", + "TogetherMode": false + } +} +``` + +--- + +## 📖 Usage + +### Manual Execution + +#### With default configuration: +```powershell +.\ForwarderPickupProcessor.ps1 +``` + +#### With command-line parameters: +```powershell +.\ForwarderPickupProcessor.ps1 ` + -PickupFolder "C:\ESI\ForwarderPickup" ` + -ArchiveFolder "C:\ESI\Archive" ` + -MaxFilesPerRun 50 +``` + +#### Delete files after processing: +```powershell +.\ForwarderPickupProcessor.ps1 -DeleteAfterProcessing +``` + +#### With proxy: +```powershell +.\ForwarderPickupProcessor.ps1 ` + -UseProxy ` + -ProxyUrl "http://proxy.contoso.com:8080" +``` + +### Scheduling + +#### With Windows Task Scheduler: + +1. **Create task**: +```powershell +$action = New-ScheduledTaskAction ` + -Execute "PowerShell.exe" ` + -Argument "-NoProfile -ExecutionPolicy Bypass -File `"C:\ESI\ForwarderPickupProcessor.ps1`"" + +$trigger = New-ScheduledTaskTrigger -Once -At (Get-Date) -RepetitionInterval (New-TimeSpan -Minutes 15) -RepetitionDuration ([TimeSpan]::MaxValue) + +$principal = New-ScheduledTaskPrincipal -UserId "DOMAIN\ServiceAccount" -LogonType Password + +$settings = New-ScheduledTaskSettingsSet ` + -AllowStartIfOnBatteries ` + -DontStopIfGoingOnBatteries ` + -StartWhenAvailable ` + -RunOnlyIfNetworkAvailable + +Register-ScheduledTask ` + -TaskName "ESI Forwarder Processor" ` + -Action $action ` + -Trigger $trigger ` + -Principal $principal ` + -Settings $settings ` + -Description "Processes pickup files and sends to Sentinel every 15 minutes" +``` + +2. **With Managed Identity (Azure VM)**: +```powershell +# Task runs under SYSTEM account which has access to Managed Identity +$principal = New-ScheduledTaskPrincipal -UserId "SYSTEM" -LogonType ServiceAccount +``` + +#### With Azure Automation (Runbook): + +```powershell +# Import script to Azure Automation +$AutomationAccountName = "YourAutomationAccount" +$ResourceGroupName = "YourResourceGroup" +$RunbookName = "ForwarderPickupProcessor" + +Import-AzAutomationRunbook ` + -Name $RunbookName ` + -Path ".\ForwarderPickupProcessor.ps1" ` + -ResourceGroupName $ResourceGroupName ` + -AutomationAccountName $AutomationAccountName ` + -Type PowerShell + +# Publish runbook +Publish-AzAutomationRunbook ` + -Name $RunbookName ` + -ResourceGroupName $ResourceGroupName ` + -AutomationAccountName $AutomationAccountName + +# Create schedule +$Schedule = New-AzAutomationSchedule ` + -Name "Every15Minutes" ` + -StartTime (Get-Date).AddMinutes(5) ` + -DayInterval 1 ` + -ResourceGroupName $ResourceGroupName ` + -AutomationAccountName $AutomationAccountName ` + -TimeZone "Romance Standard Time" + +# Associate with runbook +Register-AzAutomationScheduledRunbook ` + -Name $RunbookName ` + -ScheduleName "Every15Minutes" ` + -ResourceGroupName $ResourceGroupName ` + -AutomationAccountName $AutomationAccountName +``` + +--- + +## 🔧 Script Parameters + +| Parameter | Type | Description | Default | +|-----------|------|-------------|---------| +|-----------|------|-------------|--------| +| `ConfigurationFile` | string | Path to JSON configuration file | `.\Config\ForwarderPickupConfig.json` | +| `PickupFolder` | string | Folder containing files to process | Value from config file | +| `ArchiveFolder` | string | Archive folder for successful files | Value from config file | +| `ErrorFolder` | string | Folder for error files | Value from config file | +| `MaxFilesPerRun` | int | Max files per execution (0=unlimited) | 0 | +| `DeleteAfterProcessing` | switch | Delete instead of archive | false | +| `UseProxy` | switch | Enable proxy usage | false | +| `ProxyUrl` | string | Proxy URL | "" | + +--- + +## 📁 Folder Structure + +``` +C:\ESI\ +├── ForwarderPickup\ # JSON files deposited by CollectExchSecIns.ps1 +│ ├── ESIExchangeConfig-2026-03-24-10-30-00.json +│ └── ESIExchangeConfig-Page_1-2026-03-24-10-30-00.json +├── Archive\ # Successfully processed files +│ └── ESIExchangeConfig-2026-03-24-10-30-00.json +├── Error\ # Error files +│ └── ESIExchangeConfig-corrupted.json +└── Logs\ # Forwarder execution logs + └── ForwarderProcessor_20260324_103000.log +``` + +--- + +## 🏷️ Table Name Extraction + +The script intelligently extracts the Sentinel table name from the filename: + +| Filename | Sentinel Table | +|----------------|----------------| +|----------------|----------------| +| `ESIExchangeConfig-2026-03-24.json` | `ESIExchangeConfig_CL` | +| `ESIExchangeConfig-Page_1-2026-03-24.json` | `ESIExchangeConfig_CL` | +| `MyCustomTable-abc123.json` | `MyCustomTable_CL` | +| `data.json` | `ESIExchangeConfig_CL` (default) | + +> **Note**: The `_CL` suffix (Custom Log) is automatically added by Azure + +--- + +## 🔐 Authentication Configuration + +### 1. Managed Identity (recommended for Azure VM/Automation) + +```json +{ + "SentinelConnection": { + "UseManagedIdentity": true, + "UseLogIngestionAPI": true, + "DataCollectionEndpointURI": "https://xxx.ingest.monitor.azure.com", + "DCRImmutableId": "dcr-xxx" + } +} +``` + +**Role assignment**: +```powershell +# Get Managed Identity Object ID +$vmName = "YourVMName" +$rgName = "YourResourceGroup" +$vm = Get-AzVM -Name $vmName -ResourceGroupName $rgName +$principalId = $vm.Identity.PrincipalId + +# Assign role on DCR +$dcrResourceId = "/subscriptions/{sub-id}/resourceGroups/{rg}/providers/Microsoft.Insights/dataCollectionRules/{dcr-name}" +New-AzRoleAssignment ` + -ObjectId $principalId ` + -RoleDefinitionName "Monitoring Metrics Publisher" ` + -Scope $dcrResourceId +``` + +### 2. Service Principal with certificate + +```json +{ + "SentinelConnection": { + "UseManagedIdentity": false, + "UseLogIngestionAPI": true, + "TenantID": "your-tenant-id", + "ApplicationId": "your-app-id", + "CertificateThumbprint": "ABC123...", + "DataCollectionEndpointURI": "https://xxx.ingest.monitor.azure.com", + "DCRImmutableId": "dcr-xxx" + } +} +``` + +**Certificate installation**: +```powershell +# Import certificate to local store +$certPath = "C:\Certs\SentinelApp.pfx" +$certPassword = ConvertTo-SecureString "YourPassword" -AsPlainText -Force +Import-PfxCertificate -FilePath $certPath -CertStoreLocation Cert:\LocalMachine\My -Password $certPassword +``` + +### 3. Log Analytics API classic + +```json +{ + "SentinelConnection": { + "UseLogIngestionAPI": false, + "WorkspaceId": "12345678-1234-1234-1234-123456789012", + "WorkspaceKey": "YourPrimaryOrSecondaryKey==", + "MaxSegmentSizeMb": 31.9 + } +} +``` + +--- + +## 📊 Monitoring and Diagnostics + +### Execution Logs + +Logs are stored in the configured folder (`LogFolder`): + +``` +[2026-03-24 10:30:00] [Info] === Forwarder Pickup Processor v1.0.0 === +[2026-03-24 10:30:00] [Info] Started at: 2026-03-24 10:30:00 +[2026-03-24 10:30:01] [Info] Found 5 file(s) to process +[2026-03-24 10:30:05] [Success] Data successfully uploaded to Log Ingestion API +[2026-03-24 10:30:05] [Success] Successfully processed file: ESIExchangeConfig.json +[2026-03-24 10:30:10] [Success] === Processing Summary === +[2026-03-24 10:30:10] [Success] Total files processed: 5 +[2026-03-24 10:30:10] [Success] Failed files: 0 +[2026-03-24 10:30:10] [Success] Total data processed: 12.5 MB +``` + +### Verification in Sentinel + +```kql +// Check ingested data +ESIExchangeConfig_CL +| where TimeGenerated > ago(1h) +| summarize count() by bin(TimeGenerated, 5m) +| render timechart + +// Check data by environment +ESIExchangeConfig_CL +| where TimeGenerated > ago(24h) +| summarize RecordCount=count(), LastSeen=max(TimeGenerated) by ESIEnvironment +``` + +--- + +## ⚠️ Troubleshooting + +### Error: "Failed to connect to Azure" + +**Cause**: Authentication problem + +**Solution**: +- Check that certificate is installed and accessible +- Check Managed Identity permissions +- Test manually: `Connect-AzAccount` + +### Error: "Upload payload is too big" + +**Cause**: File too large for a segment + +**Solution**: +- Script automatically segments +- Check `MaxSegmentSizeMb` in config (0.9 for DCR, 31.9 for Log Analytics) + +### Files remain in Pickup folder + +**Cause**: Unhandled errors or script not scheduled + +**Solution**: +- Check logs in `LogFolder` +- Check files in `ErrorFolder` +- Execute manually to diagnose + +### Data doesn't appear in Sentinel + +**Cause**: Table doesn't exist or DCR misconfigured + +**Solution**: +- For DCR: Check that stream is configured in DCR +- For Log Analytics: Table creates automatically (wait 10-15 min) +- Check permissions on DCR/Workspace + +--- + +## 🔄 Complete Workflow + +```mermaid +graph TD + A[CollectExchSecIns.ps1] -->|Forwarder Mode| B[JSON Files in Pickup] + B --> C[ForwarderPickupProcessor.ps1] + C --> D{Read file} + D --> E{Extract LogType} + E --> F{Size > Limit?} + F -->|No| G[Send single segment] + F -->|Yes| H[Split into segments] + H --> I[Send each segment] + G --> J{Success?} + I --> J + J -->|Yes| K[Archive file] + J -->|No| L[Move to Error] + K --> M[Next file] + L --> M + M --> N{More files?} + N -->|Yes| D + N -->|No| O[Display summary] +``` + +--- + +## 📝 Best Practices + +1. **Scheduling**: Execute every 5-15 minutes for regular flow +2. **Cleanup**: Archive and purge old files periodically +3. **Monitoring**: Monitor logs and Error folder +4. **Testing**: Test first with `MaxFilesPerRun=1` before production +5. **Security**: Use Managed Identity when possible +6. **Performance**: Adjust `MaxSegmentSizeMb` according to API used + +--- + +## 📞 Support + +For questions or issues: +- Check logs in `LogFolder` folder +- Consult Microsoft Sentinel documentation +- Contact ESI team: nilepagn@microsoft.com + +--- + +## 📜 Version History + +### v1.0.0 (2026-03-24) +- ✨ Initial version +- ✅ Log Analytics API and Log Ingestion API support +- ✅ Automatic segment management +- ✅ Archiving and error handling +- ✅ Complete logging +- ✅ Managed Identity and Service Principal support diff --git a/Solutions/Microsoft Exchange Security - Exchange On-Premises/# - General Content/Documentations/README.md b/Solutions/Microsoft Exchange Security - Exchange On-Premises/# - General Content/Documentations/README.md index d968fd364a0..20f588e5025 100644 --- a/Solutions/Microsoft Exchange Security - Exchange On-Premises/# - General Content/Documentations/README.md +++ b/Solutions/Microsoft Exchange Security - Exchange On-Premises/# - General Content/Documentations/README.md @@ -3,19 +3,40 @@ This folder contains documentations related to the deployment of solutions Microsoft Exchange Security for Exchange On-Premises and Microsoft Exchange Security for Exchange Online : ## Overview of Deployement -[Deployment Overview](./Deployment-Overview.md) +https://github.com/nlepagnez/ESI-PublicContent/blob/main/Documentations/Deployment-Overview.md ## Deployment Microsoft Exchange Security for Exchange On-Premises -[Deployment for On-Premises Solution](./Deployment-MES-OnPremises.md) +https://github.com/nlepagnez/ESI-PublicContent/blob/main/Documentations/Deployment-MES-OnPremises.md ## Deployment Microsoft Exchange Security for Exchange Online -[Deployment for Online Solution](./Deployment-MES-Online.md) +https://github.com/nlepagnez/ESI-PublicContent/blob/main/Documentations/Deployment-MES-Online.md ## Collectors Information -[Collector Information](./ESICollector.md) +https://github.com/nlepagnez/ESI-PublicContent/blob/main/Documentations/ESICollector.md + +## Deploy the Azure Monitor Log Ingestion API (DCE / DCR / custom tables) +https://github.com/nlepagnez/ESI-PublicContent/blob/main/Documentations/README_LogIngestionAPI.md + +## Azure Monitor End-to-End Setup (Entra ID application, certificate, RBAC) +https://github.com/nlepagnez/ESI-PublicContent/blob/main/Documentations/README_AzureMonitorSetup.md + +## Migrate from the Log Analytics HTTP Data Collector API to the Log Ingestion API +https://github.com/nlepagnez/ESI-PublicContent/blob/main/Documentations/Migrate_From_LogAnalyticsAPI_To_LogIngestionAPI.md + +## WinformConfig editor for CollectExchSecConfiguration.json +https://github.com/nlepagnez/ESI-PublicContent/blob/main/Documentations/WinformConfigReadme.md + +## Forwarder / Pickup deployment +https://github.com/nlepagnez/ESI-PublicContent/blob/main/Documentations/README-ForwarderPickup.md + +## Forwarder quick start +https://github.com/nlepagnez/ESI-PublicContent/blob/main/Documentations/QUICKSTART-Forwarder.md ## How to deploy Woorkbooks -[Solution Workbooks information](./WorkbookDeployement.md) +https://github.com/nlepagnez/ESI-PublicContent/blob/main/Documentations/WorkbookDeployement.md + +## Workbook delegation +https://github.com/nlepagnez/ESI-PublicContent/blob/main/Documentations/WorkbookDelegation.md ## VIP Management -[VIP Management](./VIPManagement.md) \ No newline at end of file +https://github.com/nlepagnez/ESI-PublicContent/blob/main/Documentations/VIPManagement.md \ No newline at end of file diff --git a/Solutions/Microsoft Exchange Security - Exchange On-Premises/# - General Content/Documentations/README_AzureMonitorSetup.md b/Solutions/Microsoft Exchange Security - Exchange On-Premises/# - General Content/Documentations/README_AzureMonitorSetup.md new file mode 100644 index 00000000000..4765da77ad0 --- /dev/null +++ b/Solutions/Microsoft Exchange Security - Exchange On-Premises/# - General Content/Documentations/README_AzureMonitorSetup.md @@ -0,0 +1,544 @@ +# Azure Monitor Log Ingestion API Setup for Exchange Security Insights + +This guide covers the full setup of Azure Monitor components required by the ESI Collector to ingest Exchange security data into Microsoft Sentinel using the Log Ingestion API. + +> [!IMPORTANT] +> The Log Ingestion API replaces the legacy Log Analytics HTTP Data Collector API (deprecated in 2025). All new deployments should use the Azure Monitor Ingestion API. + +## Architecture Overview + +The ingestion pipeline consists of these Azure components: + +```text +ESI Collector Script + │ + ▼ + Entra ID App Registration ──(certificate auth)──► Azure AD Token + │ + ▼ + Data Collection Endpoint (DCE) + │ + ▼ + Data Collection Rule (DCR) ──(transform + route)──► Log Analytics Custom Tables + │ + ▼ + Microsoft Sentinel Workspace +``` + +| Component | Purpose | +|-----------|---------| +| Entra ID Application | Authenticates the collector to the ingestion endpoint | +| Self-signed Certificate | Credential for the application (preferred over secrets) | +| Data Collection Endpoint (DCE) | HTTPS endpoint receiving log payloads | +| Data Collection Rule (DCR) | Defines schema, transforms, and routing to tables | +| Custom Log Analytics Tables | Store the collected Exchange configuration data | + +## Prerequisites + +Before you begin, verify these requirements: + +- An Azure subscription with Contributor access on the target resource group +- A Log Analytics workspace (where Microsoft Sentinel is enabled) +- PowerShell 7.0+ with the following modules installed: + - `Az.Accounts` + - `Az.Monitor` + - `Az.Resources` + - `Microsoft.Graph` (if creating the Entra ID Application via script) +- Azure CLI (alternative for deployment and permission management) +- OpenSSL or PowerShell `New-SelfSignedCertificate` for certificate generation + +## Step 1: Create a Self-Signed Certificate + +The ESI Collector authenticates to Azure using a certificate-based credential. You can use an existing PKI certificate or generate a self-signed one. + +### Option A: PowerShell (Windows) + +```powershell +# Create a self-signed certificate valid for 2 years +$cert = New-SelfSignedCertificate ` + -Subject "CN=ESI-Collector-Auth" ` + -CertStoreLocation "Cert:\CurrentUser\My" ` + -KeyExportPolicy Exportable ` + -KeySpec Signature ` + -KeyLength 2048 ` + -HashAlgorithm SHA256 ` + -NotAfter (Get-Date).AddYears(2) + +# Display the thumbprint (you need it for configuration) +Write-Host "Certificate Thumbprint: $($cert.Thumbprint)" + +# Export the public key (.cer) for uploading to Entra ID Application +Export-Certificate -Cert $cert -FilePath ".\ESI-Collector-Auth.cer" -Type CERT + +# (Optional) Export the PFX for Azure Automation import +$pwd = ConvertTo-SecureString -String "YourStrongPassword" -Force -AsPlainText +Export-PfxCertificate -Cert $cert -FilePath ".\ESI-Collector-Auth.pfx" -Password $pwd +``` + +### Option B: OpenSSL (Linux / macOS) + +```bash +# Generate private key and self-signed certificate (2 years) +openssl req -x509 -newkey rsa:2048 \ + -keyout esi-collector-key.pem \ + -out esi-collector-cert.pem \ + -sha256 -days 730 \ + -subj "/CN=ESI-Collector-Auth" \ + -nodes + +# Convert to PFX for Azure Automation +openssl pkcs12 -export \ + -out esi-collector.pfx \ + -inkey esi-collector-key.pem \ + -in esi-collector-cert.pem + +# Get the thumbprint +openssl x509 -in esi-collector-cert.pem -noout -fingerprint -sha1 \ + | sed 's/://g' | cut -d= -f2 +``` + +> [!NOTE] +> Record the certificate thumbprint. You need it when configuring the collector and when running from a server. For Azure Automation, import the PFX into the Automation Account certificate store. + +## Step 2: Register an Entra ID Application + +The application identity enables the collector to obtain tokens for the Azure Monitor ingestion endpoint. + +### Option A: Azure Portal + +1. Navigate to **Microsoft Entra ID** > **App registrations** > **New registration** +2. Set the display name to `ESI-Collector-LogIngestion` (or your preferred name) +3. Leave the redirect URI empty (no interactive sign-in needed) +4. Click **Register** +5. Note the **Application (client) ID** and **Directory (tenant) ID** from the Overview page +6. Navigate to **Certificates & secrets** > **Certificates** > **Upload certificate** +7. Upload the `.cer` file generated in Step 1 +8. Create a **Service Principal** (automatic when registering via portal) + +### Option B: PowerShell with Microsoft Graph + +```powershell +# Connect to Microsoft Graph +Connect-MgGraph -Scopes "Application.ReadWrite.All" + +# Create the application +$app = New-MgApplication -DisplayName "ESI-Collector-LogIngestion" + +# Create the service principal +$sp = New-MgServicePrincipal -AppId $app.AppId + +# Upload the certificate +$certContent = [System.IO.File]::ReadAllBytes(".\ESI-Collector-Auth.cer") +$base64Cert = [System.Convert]::ToBase64String($certContent) + +$keyCredential = @{ + Type = "AsymmetricX509Cert" + Usage = "Verify" + Key = [System.Convert]::FromBase64String($base64Cert) + DisplayName = "ESI-Collector-Auth" +} + +Update-MgApplication -ApplicationId $app.Id -KeyCredentials @($keyCredential) + +# Display information needed for configuration +Write-Host "Application (Client) ID: $($app.AppId)" +Write-Host "Object ID: $($app.Id)" +Write-Host "Service Principal Object ID: $($sp.Id)" +``` + +### Option C: Azure CLI + +```bash +# Create the application with the certificate +az ad app create --display-name "ESI-Collector-LogIngestion" + +# Get the App ID +APP_ID=$(az ad app list --display-name "ESI-Collector-LogIngestion" --query "[0].appId" -o tsv) + +# Create a service principal +az ad sp create --id $APP_ID + +# Upload the certificate +az ad app credential reset --id $APP_ID --cert @esi-collector-cert.pem --append + +echo "Application (Client) ID: $APP_ID" +``` + +> [!TIP] +> No API permissions are required on the Entra ID Application itself. Access control is handled through Azure RBAC on the Data Collection Rule. + +## Step 3: Deploy the Data Collection Endpoint, Rules, and Tables + +The ARM template in the `Deployments` folder creates all required Azure Monitor resources: + +- 1 Data Collection Endpoint (DCE) +- Up to 3 Custom Log Analytics tables (each controlled by a master switch): + - `ESIAPIExchangeOnPremConfig_CL` (Exchange On-Premises configuration) + - `ESIAPIExchangeOnlineConfig_CL` (Exchange Online configuration) + - `ExchangeOnlineMessageTracking_CL` (message tracking) +- Up to 3 Data Collection Rules (one per table): + - `DCR-ESI-OnPremisesConfig` + - `DCR-ESI-OnlineConfig` + - `DCR-ESI-MessageTracking` + +> [!TIP] +> Master parameters `deployTables`, `deployDataCollection`, `deployOnPremConfigTable`, `deployOnlineConfigTable`, and `deployMessageTrackingTable` let you deploy any subset. See [README_LogIngestionAPI.md](README_LogIngestionAPI.md) for the full parameter reference. + +### Option A: Using Azure CLI + +```bash +# Login and set subscription +az login +az account set --subscription "YOUR_SUBSCRIPTION_ID" + +# Create a resource group (if needed) +az group create --name "rg-sentinel-esi" --location "eastus" + +# Deploy the template +az deployment group create \ + --resource-group "rg-sentinel-esi" \ + --template-file azuredeploy_ESI_LogIngestionAPI.json \ + --parameters azuredeploy_ESI_LogIngestionAPI.parameters.json +``` + +### Option B: Using PowerShell + +```powershell +# Login and set subscription +Connect-AzAccount +Set-AzContext -SubscriptionId "YOUR_SUBSCRIPTION_ID" + +# Create a resource group (if needed) +New-AzResourceGroup -Name "rg-sentinel-esi" -Location "eastus" + +# Deploy the template +New-AzResourceGroupDeployment ` + -ResourceGroupName "rg-sentinel-esi" ` + -TemplateFile "azuredeploy_ESI_LogIngestionAPI.json" ` + -TemplateParameterFile "azuredeploy_ESI_LogIngestionAPI.parameters.json" +``` + +### Option C: Using Azure Portal + +1. Navigate to **Deploy a custom template** in the Azure Portal +2. Click **Build your own template in the editor** +3. Paste the content of `azuredeploy_ESI_LogIngestionAPI.json` +4. Fill in the parameters: + + | Parameter | Description | Example | + |-----------|-------------|---------| + | `workspaceName` | Name of your existing Log Analytics workspace | `law-sentinel-prod` | + | `location` | Azure region matching your workspace | `eastus` | + | `dataCollectionEndpointName` | Name for the DCE | `DCE-ESI-LogIngestion` | + | `dataCollectionRuleOnPremisesConfigName` | Name for the On-Premises Config DCR | `DCR-ESI-OnPremisesConfig` | + | `dataCollectionRuleOnlineConfigName` | Name for the Online Config DCR | `DCR-ESI-OnlineConfig` | + | `dataCollectionRuleMessageTrackingName` | Name for the Message Tracking DCR | `DCR-ESI-MessageTracking` | + | `retentionInDays` | Data retention period (30-730) | `90` | + | `deployTables` | Deploy the custom Log Analytics tables | `true` | + | `deployDataCollection` | Deploy the DCE and DCRs | `true` | + | `deployOnPremConfigTable` | Deploy the On-Premises config resources | `true` | + | `deployOnlineConfigTable` | Deploy the Exchange Online config resources | `true` | + | `deployMessageTrackingTable` | Deploy message tracking resources | `true` | + +5. Click **Review + create** + +### Collect Deployment Outputs + +After deployment, retrieve these values from the outputs: + +```powershell +$deployment = Get-AzResourceGroupDeployment ` + -ResourceGroupName "rg-sentinel-esi" ` + -Name "YOUR_DEPLOYMENT_NAME" + +# Values needed for configuration +$deployment.Outputs.dataCollectionEndpointUri.Value # DCE URI +$deployment.Outputs.dataCollectionRuleOnPremisesConfigImmutableId.Value # DCR Immutable ID (On-Premises Config) +$deployment.Outputs.dataCollectionRuleOnlineConfigImmutableId.Value # DCR Immutable ID (Online Config) +$deployment.Outputs.dataCollectionRuleMessageTrackingImmutableId.Value # DCR Immutable ID (Message Tracking) +``` + +Or via Azure CLI: + +```bash +az deployment group show \ + --resource-group "rg-sentinel-esi" \ + --name "YOUR_DEPLOYMENT_NAME" \ + --query properties.outputs +``` + +> [!IMPORTANT] +> Record the **DCE URI** and **DCR Immutable IDs** from the deployment outputs. You need these values for both the permission assignment and the collector configuration. + +## Step 4: Assign Permissions on the Data Collection Rule + +The Entra ID Application (service principal) requires the **Monitoring Metrics Publisher** role on each Data Collection Rule it sends data to. + +### Option A: Azure CLI + +```bash +# Get the service principal Object ID +SP_OBJECT_ID=$(az ad sp list --filter "appId eq 'YOUR_APP_ID'" --query "[0].id" -o tsv) + +# Assign on On-Premises Config DCR (if deployed) +az role assignment create \ + --role "Monitoring Metrics Publisher" \ + --assignee-object-id "$SP_OBJECT_ID" \ + --assignee-principal-type ServicePrincipal \ + --scope "/subscriptions/YOUR_SUB_ID/resourceGroups/rg-sentinel-esi/providers/Microsoft.Insights/dataCollectionRules/DCR-ESI-OnPremisesConfig" + +# Assign on Online Config DCR (if deployed) +az role assignment create \ + --role "Monitoring Metrics Publisher" \ + --assignee-object-id "$SP_OBJECT_ID" \ + --assignee-principal-type ServicePrincipal \ + --scope "/subscriptions/YOUR_SUB_ID/resourceGroups/rg-sentinel-esi/providers/Microsoft.Insights/dataCollectionRules/DCR-ESI-OnlineConfig" + +# Assign on Message Tracking DCR (if deployed) +az role assignment create \ + --role "Monitoring Metrics Publisher" \ + --assignee-object-id "$SP_OBJECT_ID" \ + --assignee-principal-type ServicePrincipal \ + --scope "/subscriptions/YOUR_SUB_ID/resourceGroups/rg-sentinel-esi/providers/Microsoft.Insights/dataCollectionRules/DCR-ESI-MessageTracking" +``` + +### Option B: PowerShell + +```powershell +# Get the service principal Object ID +$sp = Get-AzADServicePrincipal -ApplicationId "YOUR_APP_ID" + +# Assign on On-Premises Config DCR (if deployed) +New-AzRoleAssignment ` + -ObjectId $sp.Id ` + -RoleDefinitionName "Monitoring Metrics Publisher" ` + -Scope "/subscriptions/YOUR_SUB_ID/resourceGroups/rg-sentinel-esi/providers/Microsoft.Insights/dataCollectionRules/DCR-ESI-OnPremisesConfig" + +# Assign on Online Config DCR (if deployed) +New-AzRoleAssignment ` + -ObjectId $sp.Id ` + -RoleDefinitionName "Monitoring Metrics Publisher" ` + -Scope "/subscriptions/YOUR_SUB_ID/resourceGroups/rg-sentinel-esi/providers/Microsoft.Insights/dataCollectionRules/DCR-ESI-OnlineConfig" + +# Assign on Message Tracking DCR (if deployed) +New-AzRoleAssignment ` + -ObjectId $sp.Id ` + -RoleDefinitionName "Monitoring Metrics Publisher" ` + -Scope "/subscriptions/YOUR_SUB_ID/resourceGroups/rg-sentinel-esi/providers/Microsoft.Insights/dataCollectionRules/DCR-ESI-MessageTracking" +``` + +### Option C: Azure Portal + +1. Navigate to **Monitor** > **Data Collection Rules** +2. Select your DCR (e.g., `DCR-ESI-OnlineConfig`) +3. Go to **Access control (IAM)** > **Add role assignment** +4. Select role **Monitoring Metrics Publisher** +5. Under Members, select **User, group, or service principal** +6. Search for your application name (`ESI-Collector-LogIngestion`) +7. Click **Review + assign** +8. Repeat for the On-Premises Config DCR and the Message Tracking DCR if deployed + +> [!WARNING] +> Without the **Monitoring Metrics Publisher** role on the DCR, the collector receives `403 Forbidden` errors when ingesting data. Verify the assignment before testing. + +## Step 5: Configure the ESI Collector + +Update the `CollectExchSecConfiguration.json` file with the values collected during setup. + +### Log Collection Section + +```json +{ + "LogCollection": { + "ActivateLogUpdloadToSentinel": "true", + "SentinelLogIngestionAPIActivated": "true", + "DataCollectionEndpointURI": "https://YOUR-DCE-NAME.region.ingest.monitor.azure.com", + "DCRImmutableId": "dcr-00000000000000000000000000000000", + "UseManagedIdentity": "false", + "TargetLogTenantID": "YOUR-TENANT-ID", + "TargetLogAppID": "YOUR-APPLICATION-CLIENT-ID", + "TargetLogCertificateThumbprint": "YOUR-CERTIFICATE-THUMBPRINT", + "LogTypeName": "ESIExchangeConfig", + "CSVOutputFile": "ExchSecIns.csv", + "ExportDomainsInformation": "True" + } +} +``` + +| Field | Value Source | +|-------|-------------| +| `DataCollectionEndpointURI` | Deployment output: `dataCollectionEndpointUri` | +| `DCRImmutableId` | Deployment output matching the target table: `dataCollectionRuleOnPremisesConfigImmutableId`, `dataCollectionRuleOnlineConfigImmutableId`, or `dataCollectionRuleMessageTrackingImmutableId` | +| `TargetLogTenantID` | Entra ID > Overview > Tenant ID | +| `TargetLogAppID` | Entra ID > App registrations > Application (client) ID | +| `TargetLogCertificateThumbprint` | Certificate thumbprint from Step 1 | + +> [!NOTE] +> `DCRImmutableId` must correspond to the DCR routing to the table you want to target (on-premises, online, or message tracking). Set the ESI collector `LogTypeName` accordingly (`ESIExchangeConfig`, `ESIExchangeOnlineConfig`, or `ExchangeOnlineMessageTracking`). + +### Azure Automation Execution (Managed Identity) + +When running from Azure Automation with a managed identity, set `UseManagedIdentity` to `"true"` and assign the **Monitoring Metrics Publisher** role to the Automation Account's system-assigned managed identity on each DCR. + +```json +{ + "LogCollection": { + "SentinelLogIngestionAPIActivated": "true", + "UseManagedIdentity": "true", + "DataCollectionEndpointURI": "https://YOUR-DCE-NAME.region.ingest.monitor.azure.com", + "DCRImmutableId": "dcr-00000000000000000000000000000000" + } +} +``` + +```powershell +# Assign Monitoring Metrics Publisher to the Automation Account's managed identity +$automationMI = (Get-AzAutomationAccount -ResourceGroupName "rg-automation" -Name "aa-esi-collector").Identity.PrincipalId + +# Repeat this assignment for every DCR you send to (OnPremises, Online, MessageTracking). +New-AzRoleAssignment ` + -ObjectId $automationMI ` + -RoleDefinitionName "Monitoring Metrics Publisher" ` + -Scope "/subscriptions/YOUR_SUB_ID/resourceGroups/rg-sentinel-esi/providers/Microsoft.Insights/dataCollectionRules/DCR-ESI-OnlineConfig" +``` + +## Step 6: Validate the Setup + +### Test Authentication + +```powershell +# Connect using the certificate +Connect-AzAccount ` + -CertificateThumbprint "YOUR_CERTIFICATE_THUMBPRINT" ` + -ApplicationId "YOUR_APP_ID" ` + -Tenant "YOUR_TENANT_ID" ` + -ServicePrincipal + +# Get a token for the Monitor endpoint +$context = Get-AzContext +$token = (Get-AzAccessToken -ResourceUrl "https://monitor.azure.com").Token + +Write-Host "Token acquired successfully" -ForegroundColor Green +``` + +### Send a Test Payload + +```powershell +$dceUri = "https://YOUR-DCE-NAME.region.ingest.monitor.azure.com" +$dcrImmutableId = "dcr-00000000000000000000000000000000" +$streamName = "Custom-ESIExchangeOnlineConfig" + +$uri = "$dceUri/dataCollectionRules/$dcrImmutableId/streams/$($streamName)?api-version=2023-01-01" + +$testData = @( + @{ + TimeGenerated = (Get-Date).ToUniversalTime().ToString("o") + EntryDate = (Get-Date).ToUniversalTime().ToString("o") + GenerationInstanceID = "test-validation" + ESIEnvironment = "TestEnvironment" + Section = "ValidationTest" + RawData = '{"test": true}' + } +) | ConvertTo-Json -AsArray + +$headers = @{ + "Authorization" = "Bearer $token" + "Content-Type" = "application/json" +} + +$response = Invoke-RestMethod -Uri $uri -Method Post -Body $testData -Headers $headers +Write-Host "Data sent successfully" -ForegroundColor Green +``` + +### Verify Data in Log Analytics + +Wait a few minutes, then query your workspace: + +```kql +ESIAPIExchangeOnlineConfig_CL +| where ESIEnvironment_s == "TestEnvironment" +| where Section_s == "ValidationTest" +| project TimeGenerated, ESIEnvironment_s, Section_s, GenerationInstanceID_g +``` + +## Stream Names Reference + +When the collector sends data via the Log Ingestion API, it targets these stream names: + +| Table | Stream Name | +|------------------------------------|------------------------------------------| +| `ESIAPIExchangeOnPremConfig_CL` | `Custom-ESIExchangeConfig` | +| `ESIAPIExchangeOnlineConfig_CL` | `Custom-ESIExchangeOnlineConfig` | +| `ExchangeOnlineMessageTracking_CL` | `Custom-ExchangeOnlineMessageTracking` | + +> [!NOTE] +> The on-premises and online configuration tables also expose extracted `Identity_*` sub-property columns (`Identity_Depth_d`, `Identity_DistinguishedName_s`, `Identity_ObjectGuid_g`, ...). These are populated by the DCR `transformKql` from the source `Identity` object using `parse_json`. See the full column list in [README_LogIngestionAPI.md](README_LogIngestionAPI.md#table-schemas). + +## Troubleshooting + +### Authentication Errors (401 / 403) + +1. Verify the certificate thumbprint matches the one uploaded to the Entra ID Application +2. Confirm the Tenant ID and Application ID in the configuration +3. Check that the **Monitoring Metrics Publisher** role is correctly assigned on the DCR (not the DCE or workspace) + +### DCE Not Reachable + +1. Validate the `DataCollectionEndpointURI` from the deployment outputs +2. Ensure firewall or NSG rules allow outbound HTTPS to `*.ingest.monitor.azure.com` +3. If using a proxy, configure `Useproxy` and `ProxyUrl` in the Advanced section of the configuration + +### Data Not Appearing in Tables + +1. Verify the `DCRImmutableId` corresponds to the correct DCR for the target table +2. Check that table schema columns match the stream declaration in the DCR +3. Review collector logs for payload size errors (1 MB limit per API call for Log Ingestion API) +4. Ensure `SentinelLogIngestionAPIActivated` is set to `"true"` in the configuration + +### Payload Size Errors + +The Log Ingestion API limits each request to 1 MB. The collector automatically segments larger payloads. If segmentation errors persist, reduce the `MaximalSentinelPacketSizeMb` value in the Advanced configuration section. + +## Complete Setup Checklist + +Use this checklist to track your progress: + +- [ ] Generate or obtain a certificate (Step 1) +- [ ] Record the certificate thumbprint +- [ ] Register an Entra ID Application (Step 2) +- [ ] Record the Application (Client) ID +- [ ] Record the Tenant ID +- [ ] Upload the certificate to the Application +- [ ] Deploy DCE, DCR, and tables via ARM template (Step 3) +- [ ] Record the DCE URI from deployment outputs +- [ ] Record the DCR Immutable ID(s) from deployment outputs +- [ ] Assign Monitoring Metrics Publisher role on each DCR (Step 4) +- [ ] Update `CollectExchSecConfiguration.json` with all values (Step 5) +- [ ] Validate authentication and test data ingestion (Step 6) +- [ ] Verify data appears in Log Analytics tables + +## Cleanup + +To remove all deployed resources: + +```powershell +# Remove role assignments first (repeat per DCR you assigned) +Remove-AzRoleAssignment ` + -ObjectId "SERVICE_PRINCIPAL_OBJECT_ID" ` + -RoleDefinitionName "Monitoring Metrics Publisher" ` + -Scope "/subscriptions/YOUR_SUB_ID/resourceGroups/rg-sentinel-esi/providers/Microsoft.Insights/dataCollectionRules/DCR-ESI-OnlineConfig" + +# Delete DCRs +Remove-AzDataCollectionRule -Name "DCR-ESI-OnPremisesConfig" -ResourceGroupName "rg-sentinel-esi" +Remove-AzDataCollectionRule -Name "DCR-ESI-OnlineConfig" -ResourceGroupName "rg-sentinel-esi" +Remove-AzDataCollectionRule -Name "DCR-ESI-MessageTracking" -ResourceGroupName "rg-sentinel-esi" + +# Delete DCE +Remove-AzDataCollectionEndpoint -Name "DCE-ESI-LogIngestion" -ResourceGroupName "rg-sentinel-esi" + +# Delete the Entra ID Application (optional) +Remove-MgApplication -ApplicationId "APP_OBJECT_ID" +``` + +> [!CAUTION] +> Custom Log Analytics tables cannot be deleted via API. They can only be removed through the Log Analytics workspace in the Azure Portal. Removing the workspace deletes all tables and data. diff --git a/Solutions/Microsoft Exchange Security - Exchange On-Premises/# - General Content/Documentations/README_LogIngestionAPI.md b/Solutions/Microsoft Exchange Security - Exchange On-Premises/# - General Content/Documentations/README_LogIngestionAPI.md new file mode 100644 index 00000000000..74b46b54922 --- /dev/null +++ b/Solutions/Microsoft Exchange Security - Exchange On-Premises/# - General Content/Documentations/README_LogIngestionAPI.md @@ -0,0 +1,323 @@ +# Exchange Security Insights - Log Ingestion API Deployment + +This ARM template deploys the Azure infrastructure required for Exchange Security Insights (ESI) data collection using the **Azure Monitor Log Ingestion API** (the modern replacement for the deprecated Log Analytics HTTP Data Collector API). + +> [!IMPORTANT] +> The legacy **Log Analytics HTTP Data Collector API** (workspace ID + shared key) is being retired by Microsoft. All new ESI deployments must use the Log Ingestion API. Existing deployments should migrate before the end-of-support date. See the migration guide: [Migrate_From_LogAnalyticsAPI_To_LogIngestionAPI.md](./Migrate_From_LogAnalyticsAPI_To_LogIngestionAPI.md). + +## Resources Deployed + +The template `azuredeploy_ESI_LogIngestionAPI.json` provisions the following resources into an **existing Log Analytics workspace**: + +1. **Data Collection Endpoint (DCE)** — HTTPS endpoint receiving log payloads. +2. **Custom Log Analytics Tables** (each deployment is optional via master switches): + - `ESIAPIExchangeOnPremConfig_CL` — Exchange **On-Premises** configuration data. + - `ESIAPIExchangeOnlineConfig_CL` — Exchange **Online** configuration data. + - `ExchangeOnlineMessageTracking_CL` — Message tracking logs. +3. **Data Collection Rules (DCR)** — one per table, defining schema, transform (`transformKql`), and routing: + - `DCR-ESI-OnPremisesConfig` + - `DCR-ESI-OnlineConfig` + - `DCR-ESI-MessageTracking` + +Each block is guarded by a boolean parameter so you can deploy the full stack or only a subset (for example, add on-premises collection to an existing online setup). + +## Template Parameters + +| Parameter | Type | Default | Purpose | +|-------------------------------------------|---------|----------------------------|--------------------------------------------------------------------------------------------------------------------| +| `workspaceName` | string | (required) | Name of the existing Log Analytics workspace (same subscription/resource group/region as the DCE). | +| `location` | string | `resourceGroup().location` | Azure region for the DCE and DCRs. Must match the workspace region. | +| `dataCollectionEndpointName` | string | `DCE-ESI-LogIngestion` | Name of the DCE. | +| `dataCollectionRuleOnPremisesConfigName` | string | `DCR-ESI-OnPremisesConfig` | Name of the on-premises config DCR. | +| `dataCollectionRuleOnlineConfigName` | string | `DCR-ESI-OnlineConfig` | Name of the Exchange Online config DCR. | +| `dataCollectionRuleMessageTrackingName` | string | `DCR-ESI-MessageTracking` | Name of the message tracking DCR. | +| `retentionInDays` | int | `90` (min 30, max 730) | Retention for the custom tables. | +| `deployTables` | bool | `true` | Master switch — deploy the custom Log Analytics tables. Set to `false` when the tables already exist. | +| `deployDataCollection` | bool | `true` | Master switch — deploy the DCE and DCRs. Set to `false` to only (re)deploy the tables. | +| `deployOnPremConfigTable` | bool | `true` | Deploy the on-premises config table and its DCR. | +| `deployOnlineConfigTable` | bool | `true` | Deploy the Exchange Online config table and its DCR. | +| `deployMessageTrackingTable` | bool | `true` | Deploy the message tracking table and its DCR. | + +> [!TIP] +> Use `deployTables=false` and `deployDataCollection=true` when reusing pre-existing tables (for example, after a schema-only redeployment). Use `deployTables=true` and `deployDataCollection=false` to only create or update table schemas. + +## Prerequisites + +- Azure subscription with **Contributor** (or higher) on the target resource group. +- An **existing Log Analytics workspace** (Microsoft Sentinel-enabled if you plan to detect on this data). +- Azure CLI or PowerShell with the `Az.*` modules. +- The Entra ID application (or managed identity) that will send data (see [README_AzureMonitorSetup.md](README_AzureMonitorSetup.md) for the full identity setup). + +## Deployment + +### Azure CLI + +```bash +az login +az account set --subscription "YOUR_SUBSCRIPTION_ID" + +# Create resource group (if needed) +az group create --name "rg-sentinel-esi" --location "eastus" + +az deployment group create \ + --resource-group "rg-sentinel-esi" \ + --template-file azuredeploy_ESI_LogIngestionAPI.json \ + --parameters workspaceName=law-sentinel-prod +``` + +### PowerShell + +```powershell +Connect-AzAccount +Set-AzContext -SubscriptionId "YOUR_SUBSCRIPTION_ID" + +New-AzResourceGroup -Name "rg-sentinel-esi" -Location "eastus" -Force + +New-AzResourceGroupDeployment ` + -ResourceGroupName "rg-sentinel-esi" ` + -TemplateFile "azuredeploy_ESI_LogIngestionAPI.json" ` + -workspaceName "law-sentinel-prod" +``` + +### Azure Portal + +1. Navigate to **Deploy a custom template**. +2. Select **Build your own template in the editor**. +3. Paste the content of `azuredeploy_ESI_LogIngestionAPI.json`. +4. Fill in the parameters and confirm the master switches. +5. Click **Review + create**. + +## Deployment Outputs + +| Output name | Purpose | +|---------------------------------------------------|----------------------------------------------------------------| +| `dataCollectionEndpointId` | Full resource ID of the DCE. | +| `dataCollectionEndpointUri` | HTTPS ingestion URI. Required by the collector. | +| `dataCollectionRuleOnPremisesConfigId` | Full resource ID of the on-premises DCR. | +| `dataCollectionRuleOnPremisesConfigImmutableId` | **Immutable ID** used by the collector for on-premises data. | +| `dataCollectionRuleOnlineConfigId` | Full resource ID of the online DCR. | +| `dataCollectionRuleOnlineConfigImmutableId` | **Immutable ID** used by the collector for online data. | +| `dataCollectionRuleMessageTrackingId` | Full resource ID of the message tracking DCR. | +| `dataCollectionRuleMessageTrackingImmutableId` | **Immutable ID** used by the collector for message tracking. | +| `onPremConfigTableName` | Confirms the on-premises table name (or `Not deployed`). | +| `configTableName` | Confirms the Exchange Online table name (or `Not deployed`). | +| `messageTrackingTableName` | Confirms the message tracking table name (or `Not deployed`). | + +Outputs of skipped resources return the string `Not deployed`. + +Retrieve them after deployment: + +```powershell +$deploy = Get-AzResourceGroupDeployment -ResourceGroupName "rg-sentinel-esi" -Name "YOUR_DEPLOYMENT_NAME" +$deploy.Outputs.dataCollectionEndpointUri.Value +$deploy.Outputs.dataCollectionRuleOnlineConfigImmutableId.Value +``` + +## Post-Deployment: Assign Ingestion Permissions + +The identity used by the ESI collector needs the **Monitoring Metrics Publisher** role on **each DCR** it sends data to. + +```bash +# Example: assign to a service principal on the Online Config DCR +az role assignment create \ + --role "Monitoring Metrics Publisher" \ + --assignee "YOUR_APP_OBJECT_ID" \ + --assignee-principal-type ServicePrincipal \ + --scope "/subscriptions//resourceGroups/rg-sentinel-esi/providers/Microsoft.Insights/dataCollectionRules/DCR-ESI-OnlineConfig" +``` + +Repeat for `DCR-ESI-OnPremisesConfig` and `DCR-ESI-MessageTracking` as needed. + +## Update the Collector Configuration + +Update `CollectExchSecConfiguration.json` with the deployment outputs: + +```json +{ + "LogCollection": { + "ActivateLogUpdloadToSentinel": "true", + "SentinelLogIngestionAPIActivated": "true", + "DataCollectionEndpointURI": "", + "DCRImmutableId": "", + "UseManagedIdentity": "false", + "TargetLogTenantID": "YOUR_TENANT_ID", + "TargetLogAppID": "YOUR_APP_ID", + "TargetLogCertificateThumbprint": "YOUR_CERTIFICATE_THUMBPRINT", + "LogTypeName": "ESIExchangeConfig" + } +} +``` + +Pick the immutable ID matching the target table (on-premises, online, or message tracking). + +## Table Schemas + +Column suffixes follow Log Analytics conventions: `_s` string, `_d` real, `_g` guid, `_b` boolean, `_t` datetime, `_l` long, `_i` int. + +### `ESIAPIExchangeOnPremConfig_CL` and `ESIAPIExchangeOnlineConfig_CL` + +Both tables share the same schema (only the target audience differs). + +| Column | Type | Description | +|---------------------------------|----------|--------------------------------------------------------| +| `TimeGenerated` | datetime | Ingestion timestamp (set by `transformKql`). | +| `EntryDate_s` | string | Date of the configuration entry. | +| `GenerationInstanceID_g` | guid | Unique identifier for the collector execution. | +| `ESIEnvironment_s` | string | Exchange environment identifier. | +| `Section_s` | string | Configuration section name. | +| `ExecutionResult_s` | string | Execution result (`Success`, `Error`, ...). | +| `Identity_s` | string | Raw serialized `Identity` object (source of truth). | +| `Identity_Depth_d` | real | Depth of the identity in the directory hierarchy. | +| `Identity_DistinguishedName_s` | string | Distinguished name (LDAP DN). | +| `Identity_DomainId_s` | string | Domain identifier (serialized when object). | +| `Identity_IsDeleted_b` | boolean | Whether the identity is flagged as deleted. | +| `Identity_IsRelativeDn_b` | boolean | Whether the DN is relative. | +| `Identity_Name_s` | string | Identity name. | +| `Identity_ObjectGuid_g` | guid | Object GUID. | +| `Identity_Parent_s` | string | Parent identity (serialized when object). | +| `Identity_PartitionFQDN_s` | string | Partition FQDN. | +| `Identity_PartitionGuid_g` | guid | Partition GUID. | +| `Identity_Rdn_s` | string | Relative distinguished name (serialized when object). | +| `IdentityString_s` | string | Human-readable identity string. | +| `RawData_s` | string | Full raw configuration payload in JSON. | +| `Name_s` | string | Object name. | +| `ProcessedByServer_s` | string | Server that produced the entry. | +| `PSCmdL_s` | string | PowerShell cmdlet used to collect the entry. | +| `WhenChanged_t` | datetime | `WhenChanged` timestamp. | +| `WhenCreated_t` | datetime | `WhenCreated` timestamp. | + +> [!NOTE] +> The `Identity_*` sub-property columns are extracted from the source `Identity` object by the DCR's `transformKql` using `parse_json`. When `Identity` is `null` (some sections do not populate it), the sub-columns are `null`/empty — no ingestion error. + +### `ExchangeOnlineMessageTracking_CL` + +| Column | Type | Description | +|---------------------------------|----------|------------------------------------------------| +| `TimeGenerated` | datetime | Ingestion timestamp. | +| `schemaVersion_s` | string | Schema version of the log entry. | +| `clientIp_s` | string | Client IP address. | +| `clientHostname_s` | string | Client hostname. | +| `serverIp_s` | string | Server IP address. | +| `senderHostname_s` | string | Sender hostname. | +| `sourceContext_s` | string | Source context. | +| `connectorId_s` | string | Connector identifier. | +| `source_s` | string | Message source. | +| `eventId_s` | string | Event identifier. | +| `internalMessageId_s` | string | Internal message identifier. | +| `messageId_s` | string | Message identifier. | +| `networkMessageId_s` | string | Network message identifier. | +| `recipientAddress_s` | string | Recipient email address. | +| `recipientStatus_s` | string | Recipient delivery status. | +| `totalBytes_l` | long | Message size in bytes. | +| `recipientCount_i` | int | Number of recipients. | +| `relatedRecipientAddress_s` | string | Related recipient address. | +| `reference_s` | string | Message reference. | +| `messageSubject_s` | string | Email subject line. | +| `senderAddress_s` | string | Sender email address. | +| `returnPath_s` | string | Return path address. | +| `directionality_s` | string | Directionality (Originating / Incoming). | +| `messageInfo_s` | string | Additional message info. | +| `originalClientIp_s` | string | Original client IP. | +| `originalServerIp_s` | string | Original server IP. | +| `customData_s` | string | Custom metadata. | +| `transportTrafficType_s` | string | Transport traffic type. | +| `FilePath_s` | string | File path of the log entry. | +| `logId_s` | string | Log identifier. | +| `messageTrackingTenantId_s` | string | Tenant identifier for the message tracking log.| + +## Stream Names for API Ingestion + +When calling the Log Ingestion API directly, the stream name that follows the DCR immutable ID must match the DCR: + +| DCR | Stream declared | Output stream (table) | +|----------------------------|----------------------------------------|-------------------------------------------| +| `DCR-ESI-OnPremisesConfig` | `Custom-ESIExchangeConfig` | `Custom-ESIAPIExchangeOnPremConfig_CL` | +| `DCR-ESI-OnlineConfig` | `Custom-ESIExchangeOnlineConfig` | `Custom-ESIAPIExchangeOnlineConfig_CL` | +| `DCR-ESI-MessageTracking` | `Custom-ExchangeOnlineMessageTracking` | `Custom-ExchangeOnlineMessageTracking_CL` | + +Example API call: + +```powershell +$endpoint = "https://..ingest.monitor.azure.com" +$dcrImmutableId = "dcr-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" +$streamName = "Custom-ESIExchangeOnlineConfig" + +$uri = "$endpoint/dataCollectionRules/$dcrImmutableId/streams/$streamName" + + "?api-version=2023-01-01" + +Invoke-RestMethod -Uri $uri -Method Post -Body $jsonData -Headers @{ + "Authorization" = "Bearer $accessToken" + "Content-Type" = "application/json" +} +``` + +## Monitoring + +Verify ingestion after deployment: + +```kql +// Exchange Online configuration ingestion +ESIAPIExchangeOnlineConfig_CL +| summarize count() by bin(TimeGenerated, 1h), Section_s +| render timechart + +// Exchange On-Premises configuration ingestion +ESIAPIExchangeOnPremConfig_CL +| summarize count() by bin(TimeGenerated, 1h), Section_s +| render timechart + +// Message Tracking ingestion +ExchangeOnlineMessageTracking_CL +| summarize count() by bin(TimeGenerated, 1h), directionality_s +| render timechart +``` + +## Troubleshooting + +### 403 Forbidden on ingestion + +Verify the identity used by the collector has the **Monitoring Metrics Publisher** role on the correct DCR (not the DCE, not the workspace). + +### Data does not appear + +1. Confirm the `DCRImmutableId` in the collector configuration matches the DCR routing to the target table. +2. Check the `transformKql` output columns match the destination table columns. +3. Review collector logs for payload size errors (Log Ingestion API limit is 1 MB per call — the collector auto-segments). + +### Table already exists + +If a table already exists with a different schema, either: + +- Redeploy with `deployTables=false` (leave tables as-is), or +- Manually align columns in the workspace, or +- Delete the table via the Log Analytics workspace and redeploy. + +### Deployment fails on cross-region resources + +The DCE, DCRs, and workspace must be in the **same region**. Adjust the `location` parameter or move the workspace. + +## Cleanup + +```bash +# Delete DCRs +az monitor data-collection rule delete --name "DCR-ESI-OnPremisesConfig" --resource-group "rg-sentinel-esi" +az monitor data-collection rule delete --name "DCR-ESI-OnlineConfig" --resource-group "rg-sentinel-esi" +az monitor data-collection rule delete --name "DCR-ESI-MessageTracking" --resource-group "rg-sentinel-esi" + +# Delete DCE +az monitor data-collection endpoint delete --name "DCE-ESI-LogIngestion" --resource-group "rg-sentinel-esi" +``` + +> [!CAUTION] +> Custom Log Analytics tables cannot be deleted via API. They can only be removed through the Log Analytics workspace in the Azure Portal, or by deleting the workspace itself. + +## Related Documentation + +- Full identity + permission setup: [README_AzureMonitorSetup.md](README_AzureMonitorSetup.md) +- Migration from the legacy Log Analytics API: [Migrate_From_LogAnalyticsAPI_To_LogIngestionAPI.md](Migrate_From_LogAnalyticsAPI_To_LogIngestionAPI.md) +- Sample payload: [sample-Custom-ESIExchangeConfig.json](sample-Custom-ESIExchangeConfig.json) + +## Support + +- GitHub: +- Microsoft Sentinel community: diff --git a/Solutions/Microsoft Exchange Security - Exchange On-Premises/# - General Content/Documentations/WinformConfigReadme.md b/Solutions/Microsoft Exchange Security - Exchange On-Premises/# - General Content/Documentations/WinformConfigReadme.md new file mode 100644 index 00000000000..3cdb9291db1 --- /dev/null +++ b/Solutions/Microsoft Exchange Security - Exchange On-Premises/# - General Content/Documentations/WinformConfigReadme.md @@ -0,0 +1,43 @@ +# CollectExchSec Configuration Editor (WinForms Modular) + +Features: +- Modular multi-file architecture +- Responsive multi-column question layout (FlowLayoutPanel, auto re-wrap on resize) +- Full conditional visibility + rehydration +- Per-field restore, validation (regex + hook) +- Array & addons editors +- UDS Log Processor and Instance Configuration grids +- Undo/Redo stack (Ctrl+Z / Ctrl+Y) with full state snapshots +- Logging (plain text) & telemetry (JSON lines) with session id +- Export of only changed settings (File > Export Changed Settings…) +- Clipboard operations (load, paste dialog, copy current JSON) +- Raw JSON preview & diff summary before saving +- Read-only toggle + +Run: +```powershell +pwsh -ExecutionPolicy Bypass -File .\Scripts\WinFormsMod\Main.ps1 -ConfigPath .\Config\CollectExchSecConfiguration.json +``` + +Logs: +- Created under `Scripts/WinFormsMod/logs/` + - actions_*.log: human readable + - telemetry_*.jsonl: structured events + +Exporting Changed Settings: +- Produces JSON with: + - Questions: dictionary of path->new value + - UDSLogProcessor: array of modified rows (full rows) + - InstanceConfiguration: hash of modified instances (full sub-objects) + +Customization: +- Adjust `$Global:QuestionPanelBaseWidth` & related constants in `UI.Sections.ps1`. +- Increase undo history via `UndoMax` in `State.ps1`. +- Extend validation hooks in `Validate-Question` (Utilities.ps1). +- Add encryption for secure fields prior to save if required. + +Future Ideas: +- Debounced undo snapshotting +- JSON schema validation +- Theming / high contrast +- Telemetry opt-in/out flag \ No newline at end of file diff --git a/Solutions/Microsoft Exchange Security - Exchange On-Premises/# - General Content/Solutions/ESICollector/Beta/CollectExchSecIns.zip b/Solutions/Microsoft Exchange Security - Exchange On-Premises/# - General Content/Solutions/ESICollector/Beta/CollectExchSecIns.zip new file mode 100644 index 0000000000000000000000000000000000000000..9eed7cd0e8968d163e42618347a448d7721f1878 GIT binary patch literal 233628 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