VPN rollout to a distributed workforce
A site running a legacy VPN concentrator needed remote access rebuilt for a distributed team without a central office network. The rollout moved user by user to a WireGuard-based road-warrior setup, verified individually rather than pushed as one big-bang cutover: each new peer's public key was diffed against its private configuration file before being marked done, not after a user reported it broken. That check alone caught a silent key-mismatch bug in half of one rollout batch — the kind of bug that looks fine until someone actually tries to connect.
A recurring root cause worth calling out: reachability issues that looked like routing bugs turned out to be a live firewall alias whose in-kernel table had silently desynced from its own configuration. Re-applying the same config fixed it — the lesson was to always verify the running state, not just the saved config.
Choosing a DNS filtering strategy
The obvious answer for network-wide DNS filtering is a dedicated appliance like Pi-hole or AdGuard Home. For a site that needed high availability and role-based access control for multiple admins, that answer didn't hold up — neither tool has a real HA story. The decision instead was to use the existing firewall's built-in DNS resolver with its extended blocklist feature: one less service to keep alive, and access control that was already solved. Sometimes the right architecture call is the boring one that doesn't add a new single point of failure.
Hardening: investigate before you fix
The pattern that holds up across every hardening pass, including the one that secured this site: don't patch an exposure until you know exactly who's been using it and how. A finding is not "close the port" — it's "read the logs, find out who actually depends on this working the current way, and design the fix so nothing breaks."