| Identity | FreeIPA / RHEL IdM, SSSD, Kerberos; optional cloud IdP for SaaS | 1 IdM replica or SSSD against a small LDAP; sudo tied to groups |
| Directory HA | Replicated IdM or LDAP, DNS NS pairs, documented Kerberos KDCs | Two identity-aware hosts; fail one and still authenticate |
| Sites / network | Split DNS, routed subnets, jump hosts, no SSH from the internet to app VMs | Two VLANs/subnets, one bastion, nftables or firewalld zones |
| Privilege | No daily root; sudoers by group; separate break-glass account | Named sudo group, root login disabled, a jump box |
| PKI | Internal CA, TLS on every listener, automated renewal | 1 lab CA; HTTPS on the reverse proxy; SSH CA optional |
| Compute | KVM/libvirt, Proxmox, or cloud instances; optional Kubernetes later | 2 KVM guests plus one container host (Podman or Docker) |
| File / data | NFS or Samba with backups; databases on their own nodes | NFS export or dedicated disk; PostgreSQL with a tested restore |
| Patch | Staging then production; unattended-upgrades or dnf-automatic with a window | A pilot VM, then the rest; reboot policy written down |
| Security | SELinux or AppArmor enforcing, auditd, SSH keys only, SIEM shipping | Enforcing MAC, sshd_config hardened, journald + one alert script |
| Hybrid / DR | 3-2-1 backup (restic/borg), off-host copies, written RPO/RTO | Backup to a second disk; restore a VM and a database |
| Ops | Change notes, runbooks, node exporter / logs, on-call lite | One-page runbook and a “proxy or IdM down” drill |