System designDeep dive10 min
Network segmentation & zero trust
A network that trusts everything inside it lets one compromised laptop reach everything else. Segmentation splits the network so a breach stays small; zero trust goes further and stops granting trust for being inside at all. Every request is checked against who is asking, from what device, for what, every time.
1 · The problem
Inside a flat network, one compromised machine can reach everything
A regional hospital group runs one large internal network. On it sit the electronic health records system, the imaging archive, infusion pumps and lab analyzers, payroll, front-desk PCs, and a remote-access link for the vendor that maintains the pumps. A firewall at the edge keeps the internet out; inside, every machine can reach every other.
Then a front-desk PC opens a phishing attachment. The attacker now has a machine inside, and inside means trusted: the records database answers it, the imaging servers answer it, the pumps answer it. The flaw in this design: once attackers breach the perimeter, further lateral movement is unhindered.
On a flat network, the first machine an attacker controls can reach everything the hospital runs.
The old model is a medieval castle: thick walls, a moat, one guarded gate, and anyone past the drawbridge trusted. It worked when every employee sat in a company building on a company machine. It fails when staff work from home, clinicians use tablets, vendors connect remotely and applications live in clouds, and it fails completely once anything inside is compromised. Two answers follow: divide the castle into rooms, and stop trusting the castle at all.
2 · Segmentation
Segmentation divides the network so a breach stays in one room
Network segmentation splits the network into zones by function and sensitivity, and denies traffic between zones except for flows that are explicitly allowed. The hospital's zones and the only flows between them:
Every other path is denied. The phished PC can reach the records application's login page and nothing else; the pump vendor can reach the pumps and nothing else.
The same idea appears at every level of a modern stack, and the defaults matter:
- Cloud security groups contain only allow rules. A new group admits no inbound traffic until rules are added, and a rule can name another security group as the source, so "app servers may reach the database" stays true as servers come and go (Private networks: NAT, VPCs & firewalls).
- Kubernetes NetworkPolicies start the other way: every pod accepts all traffic until some policy selects it. Once selected, a pod accepts only what its policies allow, and the cluster's network plugin must support enforcement, or the policies do nothing.
Finer segments are safer and harder to run. Microsegmentation draws a boundary around each application or even each workload, which limits a breach to one service but needs rules for every legitimate conversation. Start with the crown jewels: the records database should accept connections only from the records application servers, whatever else is still flat.
3 · Zero trust
Zero trust grants nothing for being on the right network
Segmentation still trusts by location, just in smaller rooms: anything inside the records zone can reach the database. Zero trust removes location as a source of trust. It assumes no implicit trust is granted to users or devices based solely on their network location or on who owns the asset. Its seven tenets, condensed:
Tenet | At the hospital |
|---|---|
Every data source and computing service is a resource | The records app, the imaging archive, each pump |
All communication is secured regardless of network location | Encrypted and authenticated inside the hospital as well as outside |
Access is granted per session, with least privilege | Opening a chart grants that chart access, not the whole records system |
Access is decided by dynamic policy | Who the clinician is, which device, its state, the time and behavior |
The enterprise monitors the security posture of every asset | An unpatched tablet is treated differently from a managed one |
Authentication and authorization are dynamic and enforced before access | Re-checked as conditions change, not once at login |
The enterprise collects data to improve its policies | Access logs and device data feed the rules |
None of this means "trust nobody, block everything". It means each decision is made on evidence about the request itself, at the moment it happens, rather than on the network it came from. A clinician at home on a managed, patched laptop may get more access than a stranger's laptop plugged into a ward's network socket.
4 · The decision
Every request passes an enforcement point that asks a policy engine
A zero trust architecture splits access into two roles. A policy enforcement point (PEP) sits in front of each resource and lets traffic through or not. A policy decision point, made of a policy engine that decides and a policy administrator that carries out the decision, evaluates each request against policy and outside signals:
The application is reachable only through the enforcement point, and the decision uses who is asking, from what device, in what state, not which network the request came from.
Google's BeyondCorp is the best-known working example. It removed the privileged corporate intranet and moved internal applications onto the internet behind an access proxy that every request passes, whether the employee sits in an office or a café. Only managed devices, tracked in a device inventory database, can reach corporate applications. Even devices in Google's offices are placed on an unprivileged network that closely resembles an external one, so being in the building grants nothing.
Cloud providers now sell the same pattern. Google Cloud's Identity-Aware Proxy, for example, checks identity and role for each request to an application and can add context-aware conditions, without a VPN. That is the point of the US government's 2022 zero trust strategy as well: users should log into applications rather than networks, and every application should be treated as if it were reachable from the internet.
5 · Services
Services need identities too, and every hop is encrypted
Zero trust applies between machines as much as between people. Inside the hospital's data center, the records application calls the database, the imaging service, and a billing service. In a perimeter model, those calls are trusted because they come from internal addresses. In a zero trust model, each service has its own cryptographic identity, every call is encrypted and authenticated in both directions, and a policy names which services may call which (Encryption in transit & at rest).
Being on the right network no longer helps. The phished PC has no workload certificate, so even with a route to the billing service, it gets nothing.
A service mesh is one common way to provide those identities and policies without changing each service (Service mesh & sidecars). Concrete targets follow from it: encrypt all DNS requests and HTTP traffic inside the environment, isolate systems from each other, enforce multi-factor authentication at the application layer rather than the network layer, require phishing-resistant MFA for staff, and consider at least one device-level signal alongside the user's identity when granting access.
6 · Getting there
Zero trust is a migration, one application at a time
No hospital rebuilds its network in a weekend. CISA's zero trust maturity model, used by the US federal strategy, organizes the work into five pillars, identity, devices, networks, applications and workloads, and data, with visibility and analytics, automation and orchestration, and governance cutting across them. A practical order for the hospital:
- Know what you have
An inventory of every device and every application. Devices that can't be identified can't be given policy.
- Strong identity everywhere
One identity system for staff and vendors, with phishing-resistant MFA at the application.
- Put one application behind an access proxy
The records application first: every request checked, from any network, VPN no longer needed for it.
- Segment the crown jewels and the unmanageable
The records database accepts only its app servers. Pumps and analyzers, which can't run agents, live in a device zone reached only through the gateway.
- Default deny, then widen the circle
More applications behind the proxy, service identities between systems, and logs feeding policy.
Some things will never fit the model fully. Medical devices and other equipment often can't present identities or run agents, so they stay in tightly segmented zones with monitored gateways: segmentation and zero trust are complementary, not alternatives. Not every tenet can be fully implemented in its purest form, and most enterprises will run hybrid architectures for a long time.
7 · In practice
Shrink what any single foothold can reach
For the hospital group, the checklist:
- Assume something inside is already compromised, and design so it reaches as little as possible.
- Segment by function and sensitivity, default deny between zones, and list every allowed flow.
- Know the defaults: security groups admit nothing until allowed; Kubernetes pods accept everything until a policy selects them.
Zone | May reach | Through |
|---|---|---|
Front-desk PCs | The scheduling app only | An enforcement point that checks user and device |
Clinicians' devices | Records and imaging apps | An enforcement point, with phishing-resistant MFA |
Infusion pumps | Their management server only | A gateway; nothing else may reach them |
Pump vendor | The pump management server | A gateway, for the vendor's account only |
Then, step by step:
- Put applications behind an enforcement point that checks user, device and context on every request.
- Use phishing-resistant MFA at the application, not just the network.
- Give services identities, encrypt every hop, and write which services may call which.
- Keep unmanageable devices in their own zones, reached only through gateways.
- Migrate one application at a time, starting with the most sensitive.
Check yourself
5 questions
Takeaways
Remember this
- Perimeter security trusts everything inside, so one compromised machine can move laterally to everything else.
- Segmentation splits the network into zones with default-deny rules between them, starting with the most sensitive systems.
- Zero trust grants nothing for network location: every request is decided per session by policy on identity, device and context.
- An enforcement point in front of each resource asks a policy engine; BeyondCorp-style access proxies replace the VPN.
- Services need cryptographic identities and encrypted hops too, and devices that can't be checked are contained in segments.