How AI is changing the SOC operating model. Listen now →

close

How AI is changing the SOC operating model. Listen now →

close

BLOG

Identity Threat Detection: Best Practices for Modern SOC Teams

How to Build Coverage That Catches Real Attacks Without the Noise

Katie

Campisi

Most security teams know identity is important. The question isn't whether to monitor Okta, it's whether the coverage you've built will catch what actually matters without drowning you in noise first.

Why Identity Becomes Your Primary Detection Surface

The shift happens gradually. You start with cloud infrastructure, add Okta because it's table stakes, then realize most of the threats you actually care about run through identity: the compromised credential, the account that shouldn't be active, the user who authenticated from an impossible location.

This isn't a theory. Across Panther’s customer organizations, we consistently hear that identity and access monitoring is critical. The structural reason is straightforward: attackers almost always touch identity. Initial access leads to credential compromise. Lateral movement requires authentication. Privilege escalation touches IAM. If your identity detection is shallow, a lot of what's happening in your environment goes unexamined regardless of how well you've covered other layers.

The Signals That Actually Matter

Brute force and lockout patterns. A single failed login is noise. A pattern of failures followed by a successful authentication is a different thing. Look for velocity and outcome: multiple failures against one account, failures against multiple accounts from the same IP, or a failure-then-success sequence suggesting a credential stuffing attempt landed. 

MFA anomalies. MFA fatigue attacks make push monitoring essential. The pattern to catch: repeated push notifications in a short window, especially if followed by an approval. Also worth monitoring: MFA enrollment events for accounts that already have MFA configured, which can indicate an attacker registering their own device.

Terminated and dormant account activity. Any authentication from an account deprovisioned in the last 30 days warrants investigation. Dormant account reactivation (accounts that haven't authenticated in 90 days suddenly logging in) is a reliable indicator of credential sale or forgotten service account compromise. Low-volume, high-confidence signals that are easy to miss without explicit coverage.

Impossible travel. A user authenticates from New York, then London 45 minutes later. Cross-source impossible travel detection correlates authentication timestamps against geographic IP data and catches both compromised credentials and VPN masking. iCloud Private Relay and Cloudflare Warp create false positives here, so tuning for your user population matters.

Suspicious session behavior. Post-authentication signals often tell you more than the login event itself. A user who authenticates normally then immediately exports contacts or downloads files at unusual volume is behaving differently than their baseline. The authentication event alone wouldn't fire anything, session context is what makes it visible.

The Cross-Source Problem

Single-source identity detection has a ceiling. Okta tells you who authenticated and from where, but it doesn't tell you what they did next. CloudTrail tells you what API calls were made, not who initiated them from the identity layer.

Here's what that pattern looks like in practice. An Okta login fires without the expected MFA push marker: on its own, a medium-severity alert that might sit in the queue for hours. Look across sources and the picture changes. Credential stuffing attempts from a hosting IP in the days prior. A successful login from a different IP without MFA. Root console logins in AWS from that same IP on consecutive days. A few minutes after the last root login, a billing contact modification to transfer account ownership to an external entity. Two alerts, two log sources, one coordinated account takeover. Neither alert told the full story alone.

Panther AI triages both alerts simultaneously, correlates them on the shared IP, and surfaces the full chain with transparent reasoning before anyone manually pivots between tools. In this video, we demonstrate how Panther's AI SOC agent triages related alerts across Okta and AWS CloudTrail, automatically connecting a credential stuffing attempt to downstream root account activity to map a complete attack chain.

Before Panther, GitGuardian's security team navigated between separate logging interfaces in Okta, Google Workspace, and HashiCorp Vault for every investigation. In one instance, three engineers spent three days investigating a potential breach only to find no evidence of compromise. After consolidating into Panther, they got absolute certainty on an alert in under 20 minutes.

Most detection tools treat each log source independently, and cross-source correlation requires either complex multi-source rules or a platform where the data already sits in one place. In Panther, all log sources feed into a shared security data lake. A detection rule can query Okta, CloudTrail, and your EDR simultaneously, correlate on user identity, and surface the pattern as a single alert with the full chain of evidence attached.

Building Coverage That Doesn't Generate a Backlog

The failure mode for identity detection isn't missing coverage; it's building coverage that fires constantly and trains your team to ignore it. A few principles that hold up in practice:

  • Scope to outcomes, not events. A failed login rule should fire on patterns, not individual events. Define the behavior you're trying to catch, then work backward to the detection logic.

  • Enrich at detection time. Alerts should already include account status, recent authentication history, and whether the IP has been seen before. Context gathered after the fact slows investigation; context baked in makes triage faster and more consistent.

  • Build environment-specific baselines from the start. A company with remote employees across 15 countries has a different definition of impossible travel than a single-office team. Generic thresholds generate generic noise.

  • Encode institutional knowledge in the system, not in people. The context your most experienced analyst carries — which service accounts behave unusually by design, which executives travel constantly — should live in your detection platform, not their heads. Leverage MCP integrations to pull live context from your data lake and connected tools during every investigation.

Panther's Organization Profiles encode this context: known geographies, expected authentication patterns, executive travel schedules, service accounts that operate at unusual hours by design. Because that context is in the system, the Alert Triage applies it on every alert regardless of who's handling the queue. A new analyst gets the same investigation context as your most experienced team member.

Docker saw this directly. After onboarding Okta and CloudTrail as their first two sources and tuning detections using Python-based rules, they cut their false positive alert rate by 85% year over year, without adding additional headcount.

Identity is where most attacks eventually touch the environment. Getting the coverage right is what makes the rest of your security program actually work.

Want to see how Panther handles identity and access monitoring in your environment? Book a demo or explore how teams are building detection coverage across Okta, AWS, and beyond.

FAQs

What Okta events should I be monitoring for security?

The highest-value signals are authentication failure patterns (especially failure-then-success sequences), MFA push notifications and enrollment events, user lifecycle events like deactivation and reactivation, session anomalies like unusual geographies or access times, and administrative actions like policy changes. Monitor patterns and sequences, not individual events — a single failed login is noise; ten failures followed by a success is worth investigating.

How do I reduce false positives in identity detection without missing real threats?

Environment-specific baselining is the most effective approach. Define what normal looks like for your user population: which geographies authenticate regularly, which service accounts operate at unusual hours, which executives travel frequently. Build those baselines into detection logic so rules fire on deviations from your environment's normal, not generic anomalies. Enriching alerts with account status and recent history at detection time reduces the manual pivot work that creates alert fatigue.

What's the difference between monitoring Okta alone vs. correlating across sources?

Okta alone tells you about authentication events. Cross-source correlation tells you about behavior. A user who authenticates normally but immediately assumes an IAM role they've never used and disables CloudTrail logging is only visible if you correlate the Okta event with downstream CloudTrail activity. Most high-confidence identity threats leave traces across multiple sources — the attack chain surfaces the intent, not any single event.

How should I handle impossible travel detection when users use VPNs or tools like iCloud Relay?

Build known VPN exit nodes and privacy relay IP ranges into your allowlist, flag relay usage as enrichment context rather than a high-severity signal, and focus impossible travel logic on velocity and timing rather than geography alone. A login from a new country is interesting. A login from a new country 30 minutes after a login from a different continent is a different signal entirely.

What identity use cases do security teams typically build out first vs. discover later?

Teams start with brute force detection, MFA monitoring, and impossible travel. What most discover after deployment is that terminated and dormant account monitoring catches things the other detections miss, and that insider threat patterns — which run almost entirely through identity — require dedicated coverage that wasn't on the original roadmap. Cross-source correlation between your identity provider and downstream systems tends to surface a class of threats that single-source detection leaves completely invisible.

Share:

Bolt-on AI closes alerts. Panther closes the loop.

See how Panther compounds intelligence across the SOC.

Bolt-on AI closes alerts. Panther closes the loop.

See how Panther compounds intelligence across the SOC.

Bolt-on AI closes alerts. Panther closes the loop.

See how Panther compounds intelligence across the SOC.

Bolt-on AI closes alerts. Panther closes the loop.

See how Panther compounds intelligence across the SOC.

Get product updates, webinars, and news

By submitting this form, you acknowledge and agree that Panther will process your personal information in accordance with the Privacy Policy.

Get product updates, webinars, and news

By submitting this form, you acknowledge and agree that Panther will process your personal information in accordance with the Privacy Policy.

Get product updates, webinars, and news

By submitting this form, you acknowledge and agree that Panther will process your personal information in accordance with the Privacy Policy.