Zero Trust implementation

“Zero Trust” has become one of those terms that sounds impressive in a boardroom but often means very different things depending on who you ask.

For some, it’s MFA.
For others, it’s Conditional Access.
For vendors, it’s a feature set.

And that’s exactly the problem.

In most environments I’ve worked in, Zero Trust isn’t being implemented—it’s being approximated. A few controls are enabled, a few policies are configured, and the assumption is that the organisation is now operating under a Zero Trust model.

But when you actually test those environments—when you look at real access paths, token behaviour, legacy protocols, and application integrations—you quickly realise something:

👉 The core principles of Zero Trust aren’t being enforced consistently.

This matters because Zero Trust isn’t about enabling features. It’s about fundamentally changing how access is granted, validated, and monitored.

In this article, I’m not going to explain what Zero Trust is.

Instead, I’ll focus on:

  • What organisations consistently get wrong
  • The gaps that exist in real-world implementations
  • Why those gaps matter from an attacker’s perspective
  • How to fix them in a practical, achievable way

Quick Fix Summary

If your Zero Trust implementation isn’t delivering real security:

  • ✅ Enforce Conditional Access across all access paths (including legacy protocols)
  • ✅ Eliminate persistent access (tokens, service principals, OAuth apps)
  • ✅ Treat identity as your primary security boundary—not the network
  • ✅ Continuously validate device and session state—not just at login
  • ✅ Audit and remove exceptions aggressively

The Core Misunderstanding: Zero Trust Is Not a Product

One of the biggest misconceptions is that Zero Trust can be “implemented” by turning on a set of features.

It can’t.

Zero Trust is a model, and more importantly, a discipline.

It requires:

  • Continuous validation
  • Minimal implicit trust
  • Strong identity controls
  • Ongoing monitoring

What I see instead is:

  • MFA enabled → “We’re Zero Trust”
  • Conditional Access configured → “Done”

That’s not Zero Trust—that’s a starting point.


Where Zero Trust Implementations Actually Break Down

1. Conditional Access Isn’t Applied Everywhere

This is probably the most common gap.

Conditional Access policies are configured—but:

  • Legacy authentication is still enabled
  • Service accounts are excluded
  • Certain applications bypass controls

Real-World Example

An environment had:

  • MFA enforced via Conditional Access
  • Strong device compliance policies

But:

  • IMAP/POP was still enabled
  • Legacy authentication bypassed MFA

Result:
👉 Account compromise without triggering modern controls


How to Check for Legacy Authentication

Get-AuthenticationPolicy

Or review in Entra:

  • Sign-in logs → Filter by “Client App” → Look for legacy protocols

2. Identity Is Secured—But Access Isn’t

Another common issue is focusing heavily on identity protection, but ignoring what happens after authentication.

Once a user is authenticated:

  • Access is often broad
  • Permissions are rarely re-evaluated
  • Sessions persist longer than expected

Zero Trust requires:
👉 Continuous validation—not just login checks


3. Tokens and Sessions Are Trusted Too Long

This is a big one—and often overlooked.

Users authenticate once, and tokens:

  • Persist for hours (or longer)
  • Are reused without re-evaluation

In some cases:

  • MFA is never re-triggered
  • Conditional Access isn’t re-applied

From an attacker’s perspective, this is gold.


Where This Becomes Risky

  • Token theft scenarios
  • Session hijacking
  • Compromised devices

Even with MFA, access can persist.


4. Service Principals and OAuth Apps Are Ignored

Most Zero Trust discussions focus on users.

But in modern environments, applications often have:

  • Equal or greater access

Service principals and OAuth apps:

  • Operate outside normal user controls
  • Often have persistent permissions
  • Are rarely reviewed

Example Check

Connect-MgGraph -Scopes "Application.Read.All"Get-MgServicePrincipal | Select DisplayName, AppId

You’ll often find:

  • Unknown apps
  • Over-permissioned integrations
  • No ownership

5. Devices Are Assumed Trusted (When They Shouldn’t Be)

Even with Intune in place, many environments:

  • Trust compliant devices too broadly
  • Don’t validate real-time state
  • Allow exceptions that weaken controls

Zero Trust isn’t:
👉 “Trusted device = full access”

It’s:
👉 “Continuously validated device + user + context”


6. Exceptions Slowly Kill the Model

This is where most Zero Trust strategies quietly fail.

Over time:

  • Users get excluded
  • Apps get exceptions
  • Policies get relaxed

Each exception seems justified.

But collectively?

👉 They reintroduce trust into a Zero Trust model.


How to Fix These Gaps (Without Starting Over)

This is where you can make real improvements without rebuilding everything.

Step 1: Audit All Access Paths

Start by identifying:

  • Legacy protocols
  • OAuth apps
  • Service principals
  • Conditional Access exclusions

You can’t fix what you don’t see.


Step 2: Enforce Conditional Access Consistently

Ensure policies apply to:

  • All users (with minimal exceptions)
  • All cloud apps
  • All authentication methods

This is foundational.


Step 3: Reduce Session Lifetime and Enforce Revalidation

In Entra:

  • Configure sign-in frequency
  • Apply session controls

This limits:

  • Token persistence
  • Risk from compromised sessions

Step 4: Review and Reduce Permissions

Focus on:

  • Least privilege
  • Removing unused access
  • Assigning ownership

This applies to:

  • Users
  • Apps
  • Service principals

Step 5: Continuously Monitor and Adapt

Zero Trust isn’t static.

Regularly review:

  • Sign-in logs
  • App usage
  • Access patterns

Because your environment—and attacker techniques—will evolve.


What Zero Trust Looks Like When It’s Done Properly

It’s not perfect.

It’s not frictionless.

But it is:

  • Consistent
  • Measurable
  • Continuously improving

And most importantly:
👉 It reflects how your environment actually operates—not just how it’s supposed to.


Additional Tips / Pro Tips

Start with identity—but don’t stop there
Identity is the foundation, not the full solution.

Focus on reducing implicit trust
Every assumption should be challenged.

Test your controls regularly
Try to bypass them—you’ll learn more than from reports.

Keep exceptions visible and reviewed
They’re necessary—but dangerous if unmanaged.


Warnings

Zero Trust can create a false sense of security
Especially if implemented superficially.

Overcomplicating policies can backfire
Complexity often leads to misconfiguration.

Ignoring non-user access is a major gap
Apps and services are part of your attack surface.


FAQ Section

Why do most Zero Trust implementations fail?

Because they focus on enabling features rather than enforcing consistent access controls across all access paths.


Is MFA enough for Zero Trust?

No. MFA is a component, but Zero Trust requires continuous validation and broader access control.


What is the biggest gap in Zero Trust deployments?

Unmanaged access paths such as legacy authentication, OAuth apps, and service principals.


How do I validate my Zero Trust implementation?

By testing access scenarios, reviewing logs, and identifying gaps in enforcement.


Can Zero Trust be fully achieved?

Not completely—it’s an ongoing process rather than a fixed state.


Conclusion / Actionable Takeaways

Zero Trust isn’t misunderstood because it’s complicated.

It’s misunderstood because it’s often simplified.

And in doing so, organisations miss the point.

👉 Zero Trust isn’t about enabling controls—it’s about removing assumptions.

What to do next:

  1. Audit your environment for hidden access paths
  2. Remove or reduce exceptions
  3. Enforce Conditional Access consistently
  4. Review application and service permissions
  5. Continuously test and validate controls

From experience, the difference between a “Zero Trust environment” and a secure one comes down to one thing:

👉 How honest you are about the gaps that still exist.

Last Updated

April 2026 – Reflects current Microsoft 365, Entra ID, and modern Zero Trust implementation challenges.

Leave a Reply

Your email address will not be published. Required fields are marked *