Zero Trust for a Ten-Server Fleet: The 20% That Delivers 80%
Zero trust is not an enterprise shopping list. The handful of practices that give small fleets most of the benefit.
Zero trust has become a procurement category, which is a shame, because its core idea costs nothing: stop treating network location as identity. Being inside the VPN should not mean being trusted.
Practice 1: Authenticate services, not networks
Every service-to-service call should present credentials — an API token, mTLS, a signed request — even between your own machines. The payoff is that one compromised host no longer inherits access to everything that happens to share its subnet.
Practice 2: Per-service accounts with minimum scope
The web app talks to the database as a user that can read and write its own schema — not as root. The backup job can read volumes — not write them. When credentials leak (assume they will), scope is what turns a breach into an inconvenience.
Practice 3: Short-lived access over standing access
Human SSH access via short-lived certificates or session-based grants beats permanent authorized_keys entries that outlive employees. If issuing access takes one command, revoking it stops being a project.
Practice 4: Verify posture continuously
Trust is a state, not a grant. A host that starts behaving strangely — new listeners, odd outbound connections, changed binaries — should lose standing automatically. This is where continuous behavioral monitoring plugs into the zero-trust loop: detection findings become access decisions.
What you can skip at small scale
Identity-aware proxies for every internal tool, device-management suites, policy engines with their own query language — fine tools, premature at ten servers. The four practices above are configuration and habit, not procurement, and they carry the bulk of the model's value.
What zero trust is really about
Zero trust is often summarized as "never trust, always verify", which is accurate but easy to misread. It does not mean trusting nothing; it means that trust is granted explicitly, for a specific purpose, based on verified identity and context, and that it can be withdrawn. The traditional model granted broad trust to anything inside the network perimeter. Once an attacker was inside — through a phishing email, a stolen password or a vulnerable server — they could often move freely. Zero trust aims to make every step after that first foothold difficult.
For a small fleet the goal is not a grand architecture but a steady reduction of implicit trust: fewer shared credentials, fewer open paths between machines and fewer permanent privileges.
Start with an inventory of trust
Before changing anything, map who and what can reach what. List the services on each machine, which other machines connect to them and with which credentials. List the human accounts with administrative access and how they authenticate. List the long-lived keys and tokens in use. This exercise is often surprising: databases reachable from every server, a single SSH key shared by the whole team, a service account with full administrator rights because it was convenient years ago. Each finding becomes a concrete task.
Identity for humans: the foundation
Human access is where most intrusions begin, so start there. Use a single identity provider for staff accounts, enforce multi-factor authentication for everyone and prefer phishing-resistant methods such as hardware security keys or passkeys for administrators. Remove shared administrator accounts, so that every privileged action is tied to a person. Grant administrative rights only to those who need them, and review the list regularly.
When someone leaves, a single action in the identity provider should remove access everywhere. If that is not yet true, find the systems that are not connected and fix them.
Identity for machines
Services need identities too. Give each service its own credentials rather than sharing one key across many, and scope those credentials to exactly what the service does. Prefer mechanisms that provide short-lived credentials automatically, such as workload identity features offered by cloud platforms or certificates issued by an internal authority, over static keys copied into configuration files. Mutual TLS between services provides both encryption and authentication of each side, and is increasingly practical even for small teams through service meshes or simple internal certificate tooling.
Network segmentation that supports zero trust
Zero trust does not make network controls obsolete; it changes their role. Instead of a single trusted interior, define small zones with explicit rules: web servers may reach the application tier on specific ports, the application tier may reach the database, and nothing else. Default-deny firewall rules between zones make unexpected connections fail and, when logged, visible. Administrative access should come through a dedicated, well-monitored path rather than from anywhere on the network.
Device trust without a large budget
Enterprise device-management suites are not necessary to start considering device health. Simple measures go a long way: require full-disk encryption and automatic updates on staff laptops, keep an inventory of devices that may access company systems and use your identity provider's options to restrict sign-in to known devices where available. For servers, the equivalent is configuration baselines, patch levels and integrity monitoring reported to a central place.
Logging every access decision
A zero-trust approach generates useful records: every authentication, every authorization decision, every denied connection. Collect them centrally. Denied connections between zones are particularly valuable, because in a well-designed network they should be rare; a sudden burst often indicates misconfiguration or an attacker probing. Authentication logs reveal unusual sign-in locations, times and failure patterns. Together these records turn the access model into a detection system.
A ninety-day plan
In the first month, enforce multi-factor authentication everywhere, remove shared administrator accounts and inventory the paths between machines. In the second month, give each service its own scoped credentials, replace the most powerful static keys with short-lived alternatives and introduce default-deny rules between the most sensitive zones. In the third month, move human server access to short-lived certificates or session-based grants, centralize the access logs and start reviewing denied connections weekly. Each step stands on its own, so the plan delivers value even if it takes longer than expected.
Common mistakes
The usual missteps are buying a product before understanding the trust relationships it should enforce, applying strict controls to everything at once and breaking critical workflows, forgetting machine identities while focusing on human ones, and treating zero trust as a project with an end date. It is better understood as a direction of travel: each removed implicit trust makes the next intrusion harder.
Remote access without a flat VPN
Many small organizations connect remote staff through a VPN that, once connected, places the laptop on the internal network with broad reach. That is precisely the implicit trust zero trust tries to remove. Better options grant access per application: an identity-aware gateway in front of each internal tool, a bastion host with short-lived certificates for server administration, or a modern overlay network whose rules specify which user may reach which service. Each of these checks identity and device on every connection and limits what a compromised laptop can touch.
If a traditional VPN must stay for now, restrict what VPN users can reach with firewall rules, require multi-factor authentication for every connection and log sessions centrally.
Applying the model to cloud accounts
Cloud platforms are well suited to zero-trust principles because every action is an authenticated API call. Use separate accounts or projects for production and development, grant roles with the minimum permissions needed, avoid long-lived access keys for people in favor of single sign-on, and enable the provider's audit logging in every region. Review roles with broad permissions regularly; a single overly powerful role is often the shortest path from a minor compromise to a major one.
Measuring progress
Progress can be tracked with a few simple numbers: the share of accounts with phishing-resistant multi-factor authentication, the number of shared or static credentials still in use, the number of services reachable from everywhere rather than from specific sources and the number of permanent administrator grants. Watching these numbers fall quarter after quarter shows that implicit trust is genuinely being removed, which is the whole point.
Explaining it to the team
Zero trust works best when people understand why access is changing. Explain that the goal is to limit damage, not to signal distrust of colleagues, and that every change is designed to keep a single stolen password or infected laptop from becoming a company-wide incident. When the secure path is also convenient — single sign-on, quick certificate issuance, clear request processes — people adopt it willingly.
The bottom line
For a small fleet, zero trust is less about technology than about habits: every person and every service proves who it is, receives only the access it needs, holds that access for as short a time as practical and leaves a record of what it did. Those habits cost little, compound over time and turn a single compromised password or laptop from a company-wide crisis into a contained, manageable event.
Start with one change this week — multi-factor authentication for every administrator is the obvious candidate — and build from there, one removed shortcut at a time, until implicit trust is the exception rather than the rule.
Run AI on your own terms
AXTO gives you world-class AI apps and self-hosted editions — on your own keys, your own data.