Stop Hoarding Logs, Start Hunting: How to Fix Your Microsoft Sentinel Data Lake Before the Bill Arrives + Video

Listen to this Post

Featured Image

Introduction:

Microsoft Sentinel is a powerful cloud-native SIEM, but its flexibility is a double-edged sword. Without a deliberate strategy, it becomes a massive data sink, ingesting everything from verbose Active Directory logs to third-party EDR telemetry into expensive analytics tiers. The core concept is simple: the “right data in the right place.” This means distinguishing between data that drives real-time detections and data that is best stored in a low-cost data lake for long-term hunting and investigation.

Learning Objectives:

  • Understand the cost implications of sending all log sources to the Analytics tier versus the Data Lake tier.
  • Learn how to migrate third-party data (e.g., non-Microsoft EDR) from Analytics to the Data Lake using CLI and the Defender portal.
  • Identify a focused set of critical Windows Event IDs for AD logons, privilege changes, and Kerberos activity to optimize detection while retaining broader logs for hunting.

You Should Know:

  1. Taming the Data Deluge: Analytics vs. Data Lake

The post highlights a critical error: treating the Analytics tier as a catch-all. Sentinel’s Analytics tier is designed for high-performance queries that power alerts, incidents, and automation. Dumping every log source here leads to exponential cost growth. The “data lake” (typically a Log Analytics workspace configured with basic logs) is the correct destination for verbose, high-volume data that supports hunting and investigations but doesn’t need real-time alerting.

Step-by-step guide to re-assess your log strategy:

  1. Inventory Log Sources: Run a KQL query to see which tables are consuming the most volume.
    // Run in Sentinel Logs
    Usage 
    | where TimeGenerated > ago(30d)
    | summarize TotalVolumeGB = sum(Quantity) by DataType, Solution
    | order by TotalVolumeGB desc
    
  2. Classify Data: Create a decision list. Mark logs as “Analytics” if they are used in detection rules, threat hunting, or incident response. Mark logs as “Data Lake” if they are used for compliance, historical auditing, or long-term investigation but not immediate alerting.
  3. Apply Auxiliary Logs (Data Lake) Config: For high-volume tables like Syslog, CommonSecurityLog, or custom third-party tables, enable “Auxiliary logs” (basic logs) pricing tier. This reduces ingestion costs by up to 80% but limits query capabilities (no KQL functions, no analytics rules).

  4. Migrating Third-Party EDR Telemetry to the Data Lake

A key demonstration in the session was moving third-party data from the analytics tier into the data lake. This involves changing the table classification in your Log Analytics workspace. While this is often done via the UI, automation requires CLI.

Step-by-step guide using Azure CLI:

  1. Identify the Table: Let’s assume your third-party EDR data is landing in a custom table named ThirdParty_EDR_CL.
  2. Set the Table Plan: Use the Azure CLI to change the table plan to `Auxiliary` (Data Lake).
    Login to Azure
    az login
    
    Set the workspace context
    az account set --subscription "Your_Subscription_ID"
    
    Update the table plan to Basic Logs (Auxiliary)
    Format: az monitor log-analytics workspace table update --resource-group <RG> --workspace-name <Workspace> --name <TableName> --plan "Auxiliary"
    az monitor log-analytics workspace table update \
    --resource-group "Your_RG" \
    --workspace-name "Your_Sentinel_Workspace" \
    --name "ThirdParty_EDR_CL" \
    --plan "Auxiliary"
    

  3. Verification: In the Azure Portal, navigate to your Log Analytics workspace -> Tables. Locate your table and confirm the “Plan” is now “Basic Logs” and the “Data Lake” storage options are active.

3. Active Directory Event ID Optimization

Not all AD events are created equal. Ingesting every single Event ID from your Domain Controllers is a primary cost driver. The session emphasized focusing on specific events for real-time detection while pushing the rest to the data lake.

Focused Event IDs for Analytics (Real-time Detection):

  • 4624: Successful logon (filter for specific logon types: 2, 3, 10).
  • 4625: Failed logon (brute force detection).
  • 4672: Special privileges assigned to a new logon (admin logon).
  • 4738/4739: User account changes and password changes.
  • 4740: User account locked out.
  • 4768/4769/4771: Kerberos authentication and ticket requests (target for Golden Ticket and Kerberoasting detection).

Step-by-step guide to optimize AD data ingestion:

  1. Create a Data Collection Rule (DCR): In your Azure Monitor Agent configuration, create a DCR that targets your Domain Controllers.
  2. XPath Query: Use XPath filtering to only send the critical Event IDs to the `SecurityEvent` table (Analytics tier).
    <!-- Example XPath to filter only specific Event IDs -->
    <QueryList>
    <Query Id="0" Path="Security">
    <Select Path="Security">
    [System[EventID=4624 or EventID=4625 or EventID=4672 or EventID=4740 or EventID=4768 or EventID=4771]]
    </Select>
    </Query>
    </QueryList>
    
  3. Send Verbose Logs to Data Lake: Configure a second DCR to send all remaining AD events to a custom table (e.g., AD_Verbose_CL) that is set to the `Auxiliary` plan. This allows for deep historical investigations without the analytics cost.

4. Leveraging Microsoft Cloud Platform (MCP) for Correlation

A major insight was using MCP integration to correlate third-party EDR telemetry with Microsoft XDR signals. This breaks down silos and enriches detection without requiring all data to reside in the Analytics tier.

Step-by-step guide to enable cross-correlation:

  1. Ensure MCP Integration: Verify that your Microsoft 365 Defender (MDE, MDI) and your third-party EDR are both connected to Microsoft Sentinel via the MCP connector.
  2. Query Across Data Sources: Use KQL to join the high-fidelity Microsoft signals with the third-party data that now resides in the data lake (basic logs). Note: Basic logs are not available for real-time analytics rules but are accessible for hunting.
    // Example Hunting Query
    let CriticalMDEAlerts = AlertEvidence
    | where TimeGenerated > ago(24h)
    | where AlertName has "Suspicious Process";
    CriticalMDEAlerts
    | join kind=inner (
    ThirdParty_EDR_CL
    | where TimeGenerated > ago(24h)
    | extend HostName = tostring(parse_json(Message).host)
    ) on $left.DeviceName == $right.HostName
    
  3. Create a Hunting Rule: In Sentinel, create a “Hunting” rule based on this query. When analysts hunt, they can still correlate the signals, even if the third-party data is in the lower-cost tier.

5. CLI for Cost Management: Automating Data Tiering

Managing Sentinel at scale requires automation. Using the Azure CLI or PowerShell to enforce data tiering policies prevents “configuration drift” where new sources inadvertently land in Analytics.

Step-by-step guide to audit and enforce:

  1. Audit Table Plans: Run a CLI command to list all tables and their current plans.
    az monitor log-analytics workspace table list \
    --resource-group "Your_RG" \
    --workspace-name "Your_Sentinel_Workspace" \
    --query "[].{TableName:name, Plan:plan}" \
    --output table
    
  2. PowerShell Enforcement Script: Create a PowerShell script that runs weekly to ensure specific high-volume tables remain on the “Auxiliary” plan.
    Connect to Azure
    Connect-AzAccount
    $workspace = Get-AzOperationalInsightsWorkspace -ResourceGroupName "Your_RG" -Name "Your_Sentinel_Workspace"
    $tablesToEnforce = @("Syslog", "CommonSecurityLog", "ThirdParty_EDR_CL")
    foreach ($table in $tablesToEnforce) {
    Logic to check and update table plan
    Write-Host "Ensuring $table is on Auxiliary plan"
    }
    

What Undercode Say:

  • Intent Over Ingestion: The primary takeaway is that “hoarding logs” is a strategic failure. A mature security program defines a clear intent for each data source before ingestion, separating detection-critical data from archival data.
  • Operational Synergy: The session demonstrated that the future of SIEM is not about a single tool but about the integration layer (MCP). Correlating Microsoft XDR with third-party telemetry from a data lake provides the depth of a monolithic SIEM with the cost efficiency of a modern data architecture.

Prediction:

The shift towards tiered storage and purpose-built data lakes will accelerate as AI-driven analysis becomes standard. SOCs will no longer store data simply to store it, but will utilize AI to query massive historical data lakes (low cost) for anomalies without the latency and expense of real-time ingestion. This trend will force vendors to decouple detection from storage, making cost-effective scalability the primary differentiator in SIEM platforms by 2026.

▶️ Related Video (74% Match):

🎯Let’s Practice For Free:

IT/Security Reporter URL:

Reported By: Micahheaton 400 – Hackers Feeds
Extra Hub: Undercode MoN
Basic Verification: Pass ✅

🔐JOIN OUR CYBER WORLD [ CVE News • HackMonitor • UndercodeNews ]

💬 Whatsapp | 💬 Telegram

📢 Follow UndercodeTesting & Stay Tuned:

𝕏 formerly Twitter 🐦 | @ Threads | 🔗 Linkedin | 🦋BlueSky