Post

Why Zero Trust Matters and How to Implement It with a Reverse Proxy — Part One

How a reverse proxy becomes a Zero Trust enforcement point: mTLS device certificates, per-request policy evaluation, and why VPN-based perimeter security fails at scale.

Picture this: a contractor’s laptop gets compromised through a phishing email. The attacker now has valid VPN credentials. They connect to the corporate network, and because the perimeter model says “inside the network = trusted”, they can now reach internal dashboards, APIs, and databases, often with minimal friction.

This is not a hypothetical. It is the standard failure mode of perimeter-based security, and it plays out repeatedly across enterprises of every size.

The Perimeter Model and Why It Breaks

Traditional network security is built around a single assumption: the network perimeter is the trust boundary. Protect the perimeter with a firewall and VPN, and everything inside is safe.

That assumption made sense in 2005, when employees worked from a fixed office, on company-owned machines, accessing servers that sat in a single data center. It does not make sense today.

Three shifts have broken the perimeter model completely:

Remote work and BYOD. Employees connect from home networks, coffee shops, and personal devices. The network perimeter no longer maps to a physical boundary, so being “inside” the network tells you very little about whether a connection should be trusted.

Lateral movement. Once an attacker is past the perimeter (through stolen credentials, a compromised endpoint, or a misconfigured VPN split tunnel), there is often nothing stopping them from reaching adjacent systems. Perimeter security has no concept of enforcing least-privilege access inside the network.

Hybrid and multi-cloud. Workloads span multiple clouds, co-lo facilities, and SaaS providers. There is no longer a meaningful “inside.” Data moves through environments that the perimeter model was never designed to protect.

Zero Trust: the Mental Model

Zero Trust is a security model built on a different assumption: trust nothing, verify everything, always.

Every request, regardless of where it originates, must be authenticated, authorized, and encrypted before it reaches a service. Trust is never implied by network location. It must be established per-request, based on verifiable identity signals:

  • Who is making the request? (user identity, verified via SSO)
  • What is making the request? (device identity, verified via a cryptographic certificate)
  • Should this identity be allowed to access this resource? (policy evaluation, evaluated at the enforcement point)

This is not just about stronger authentication. It is a fundamental shift in where and how trust decisions are made. Instead of a single perimeter that you either pass or fail, access decisions happen continuously, at every request, based on current context.

Why a Reverse Proxy is the Right Enforcement Point

Implementing Zero Trust per-application is the obvious approach, but it is also the wrong one. It requires every service to implement the same authentication and authorization logic, leads to inconsistency across teams, and makes policy updates a multi-team coordination problem.

A reverse proxy solves this by being the single enforcement point between all clients and all backend services. Authentication, authorization, and encryption happen once, at the proxy, and backend services focus solely on their own logic.

TrustBridge enforcement flow: mTLS → SSO → Policy → Forward

Every request goes through four steps at the proxy:

  1. Device verification via mTLS. The client presents a cryptographic certificate during the TLS handshake. The proxy validates this certificate against a known CA, confirming the device is managed and trusted.
  2. User verification via SSO. The proxy validates the user’s identity token against the identity provider. This confirms the human behind the request is who they claim to be.
  3. Policy evaluation. With both device and user identity established, the proxy evaluates whether this combination is permitted to access the requested resource, based on centrally managed policy.
  4. Forwarding. If the policy check passes, the request is forwarded to the backend. If it fails, the connection is terminated before the backend ever sees it.

This model gives you two independent identity signals that an attacker must compromise simultaneously to get through. Stolen credentials alone are not enough: the attacker also needs a trusted device certificate. A compromised device is not enough: the attacker also needs valid user credentials. The combination makes lateral movement dramatically harder.

Introducing TrustBridge

TrustBridge is my implementation of this architecture. It is a reverse proxy that integrates mTLS-based device authentication with centralized SSO user verification, and enforces access control policies, all without requiring any changes to backend services.

The design philosophy behind TrustBridge is straightforward: security enforcement should be infrastructure, not application logic. Teams building services should not need to implement their own auth stack. They should be able to rely on TrustBridge to enforce the right policies, and focus on the problem their service actually exists to solve.

This separation has practical consequences:

  • Policy changes are instant and centralized. When access rules change (a new team gets access, a contractor’s permissions are revoked), the update happens in one place and takes effect immediately across all protected services.
  • Observability is consistent. Every request leaves a trace: who accessed what, from which device, at what time, with what result. This is invaluable for audits, incident response, and anomaly detection.
  • Backend services are simpler. No per-service auth middleware, no inconsistent implementations, no drift over time.

What’s Next

This post covered the why and the what of Zero Trust with a reverse proxy. Part Two will go inside TrustBridge — how the mTLS handshake is structured, how device certificates are issued and validated, how the SSO integration works, and the architecture decisions that came with operating this at enterprise scale.

If you are working on similar problems — or thinking about how to approach Zero Trust in your own infrastructure — I would like to hear from you. You can reach me on LinkedIn or by email.

This post is licensed under CC BY 4.0 by the author.