The machines
Void Linux · NixOS · FreeBSD · Windows 11Main computer
General-purpose workstation with three drives, running Void Linux (glibc), NixOS and Windows 11.
02 · FreeBSD · air-gappedStorage computer
Dedicated storage machine running hardened FreeBSD, kept air-gapped.
03 · Void Linux musl · hardenedLaptop
Portable machine running hardened Void Linux on musl libc.
04 · FreeBSD · ultra-hardenedServer setup
Server infrastructure running ultra-secure, hardened FreeBSD.
Main computer
multi-boot · 3 drives- Role
- Daily driver: research, development and general use
- OS
- Void Linux (glibc), NixOS, Windows 11
- Storage
- 3 hard drives
- Posture
- General-purpose, multi-boot
Three operating systems, each for a different job. Void Linux on glibc is the broadly compatible daily environment, with a small, fast base and runit instead of systemd. NixOS is where I work declaratively: the whole system is described in configuration, so it can be rebuilt and rolled back, which is the same property my reproducible-builds research cares about. Windows 11 covers software and testing that needs it.
Storage computer
FreeBSD · air-gapped- Role
- Data storage and archives
- OS
- FreeBSD, hardened
- Network
- Air-gapped, no network connection
- Posture
- Offline, hardened
Storage is kept on a machine that is never on a network. Data crosses the gap only through deliberate, controlled transfer, which makes the exposure of the data a question about that one path instead of about every service on the machine. FreeBSD's native ZFS support makes it a natural fit for storage, and a small, conservative base suits a machine that should do nothing except hold data.
Laptop
Void Linux musl · hardened- Role
- Portable workstation
- OS
- Void Linux (musl), hardened
- Posture
- Hardened, mobile
A laptop leaves the building, so it gets the strictest defaults. Void with musl keeps the libc small and simple to audit, which reduces the code that sits under every program. The trade-off is that some glibc-only binaries do not run, and I accept that for the smaller attack surface.
Server setup
FreeBSD · ultra-hardened- Role
- Server
- OS
- FreeBSD, ultra-hardened
- Posture
- Minimal exposure, hardened
The server is built around exposing as little as possible. FreeBSD provides jails for isolating services from each other and pf for firewalling, both of which match an isolation-first approach: assume a service can be compromised, and limit what that gets an attacker.
Configuration
Exact hardening settings, hardware details and network layout are deliberately not published here. A public list of how a machine is defended mostly helps the people trying to get in.