From e019f2d4fbe943b878ad5b99db09c74e2425ce3e Mon Sep 17 00:00:00 2001 From: Simon Gardling Date: Thu, 23 Apr 2026 14:05:43 -0400 Subject: [PATCH] secrets overhaul: use tpm for laptop (need to migrate desktop later) --- AGENTS.md | 21 ++++-- hosts/muffin/default.nix | 2 +- hosts/yarn/impermanence.nix | 8 ++ modules/desktop-age-secrets.nix | 70 ++++++++++++++++++ modules/desktop-common.nix | 18 +---- modules/desktop-lanzaboote-agenix.nix | 49 ++++++++++++ modules/desktop-networkmanager.nix | 7 +- ...age-secrets.nix => server-age-secrets.nix} | 0 scripts/bootstrap-desktop-tpm.sh | 68 +++++++++++++++++ secrets/desktop/nix-cache-netrc | Bin 127 -> 0 bytes secrets/desktop/nix-cache-netrc.age | Bin 0 -> 453 bytes secrets/desktop/password-hash | Bin 96 -> 0 bytes secrets/desktop/password-hash.age | Bin 0 -> 430 bytes secrets/desktop/secureboot.tar | Bin 30742 -> 0 bytes secrets/desktop/secureboot.tar.age | Bin 0 -> 31017 bytes secrets/desktop/wifi-passwords.nix | Bin 3111 -> 3129 bytes secrets/secrets.nix | Bin 0 -> 3191 bytes 17 files changed, 218 insertions(+), 25 deletions(-) create mode 100644 modules/desktop-age-secrets.nix create mode 100644 modules/desktop-lanzaboote-agenix.nix rename modules/{age-secrets.nix => server-age-secrets.nix} (100%) create mode 100755 scripts/bootstrap-desktop-tpm.sh delete mode 100644 secrets/desktop/nix-cache-netrc create mode 100644 secrets/desktop/nix-cache-netrc.age delete mode 100644 secrets/desktop/password-hash create mode 100644 secrets/desktop/password-hash.age delete mode 100644 secrets/desktop/secureboot.tar create mode 100644 secrets/desktop/secureboot.tar.age create mode 100644 secrets/secrets.nix diff --git a/AGENTS.md b/AGENTS.md index 57ee10d..92effa5 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -36,10 +36,11 @@ lib/ overlays.nix # jellyfin-exporter, igpu-exporter, reflac, ensureZfsMounts patches/nixpkgs/ # applied to nixpkgs-stable for muffin builds secrets/ - desktop/ # git-crypt: mreow + yarn share these (wifi, nix-cache-netrc, secureboot.tar, password-hash, disk-password) + secrets.nix # agenix recipients (who can decrypt each .age) + desktop/ # agenix *.age (mreow + yarn) + disk-password (install-time only, git-crypt) home/ # git-crypt: per-user HM secrets (api keys, steam id) - server/ # agenix *.age + git-crypt *.nix/*.tar/livekit_keys - usb-secrets/ # USB-resident agenix identity key (git-crypt inside the repo) + server/ # agenix *.age + git-crypt *.nix/*.tar/livekit_keys (muffin) + usb-secrets/ # USB-resident agenix identity for muffin (git-crypt inside the repo) ``` **Never read or write files under `secrets/`.** They are encrypted at rest (git-crypt for plaintext, agenix for `.age`). The git-crypt key is delivered to `muffin` at runtime as `/run/agenix/git-crypt-key-nixos.age`. @@ -89,7 +90,7 @@ If Nix complains about a missing file, `git add` it first — flakes only see tr | `common-` | imported by ALL hosts | `common-doas.nix`, `common-nix.nix`, `common-shell-fish.nix` | | `desktop-` | imported by mreow + yarn only | `desktop-common.nix`, `desktop-steam.nix`, `desktop-networkmanager.nix` | | `server-` | imported by muffin only | `server-security.nix`, `server-power.nix`, `server-impermanence.nix`, `server-lanzaboote-agenix.nix` | -| *(none)* | host-specific filename-scoped; see file contents | `age-secrets.nix`, `zfs.nix`, `no-rgb.nix` (yarn + muffin) | +| *(none)* | host-specific filename-scoped; see file contents | `zfs.nix`, `no-rgb.nix` (yarn + muffin) | New modules: pick the narrowest prefix that's true, then add the import explicitly in the host's `default.nix` (there is no auto-discovery). @@ -117,14 +118,18 @@ New modules: pick the narrowest prefix that's true, then add the import explicit ## Secrets - **git-crypt** covers `secrets/**` per the root `.gitattributes`. Initialized with a single symmetric key checked into `secrets/server/git-crypt-key-nixos.age` (agenix-encrypted to the USB SSH identity). -- **agenix** decrypts `secrets/server/*.age` at activation into `/run/agenix/` on muffin. -- **USB identity**: `/mnt/usb-secrets/usb-secrets-key` on muffin; the age identity path is wired in `modules/usb-secrets.nix`. -- **Encrypting a new agenix secret** uses the SSH public key directly with `age -R`: +- **agenix** decrypts `*.age` into `/run/agenix/` at activation on every host: + - **muffin**: identity is `/mnt/usb-secrets/usb-secrets-key` (ssh-ed25519 on a physical USB). Wired in `modules/usb-secrets.nix`. + - **mreow + yarn**: identity is `/var/lib/agenix/tpm-identity` (an `age-plugin-tpm` handle sealed by the host's TPM 2.0). Wired in `modules/desktop-age-secrets.nix`; yarn persists `/var/lib/agenix` through impermanence. +- **Recipients** are declared in `secrets/secrets.nix`. Desktop secrets are encrypted to the admin SSH key + each host's TPM recipient; server secrets stay encrypted to the muffin USB key. +- **Bootstrap a new desktop**: run `doas scripts/bootstrap-desktop-tpm.sh` on the host. It generates a TPM-sealed identity at `/var/lib/agenix/tpm-identity` and prints an `age1tpm1…` recipient. Append it to the `tpm` list in `secrets/secrets.nix`, run `agenix -r` to re-encrypt, commit, `./deploy.sh switch`. +- **Encrypting a new server secret** uses the SSH public key directly with `age -R`: ```sh age -R <(ssh-keygen -y -f secrets/usb-secrets/usb-secrets-key) \ -o secrets/server/.age \ /path/to/plaintext ``` + For desktop secrets, prefer `agenix -e secrets/desktop/.age` from a shell with `age-plugin-tpm` on PATH — it reads `secrets/secrets.nix` and encrypts to every recipient listed there. - **DO NOT use `ssh-to-age`**. It produces `X25519` recipient stanzas, which the SSH private key on muffin cannot decrypt (it only decrypts `ssh-ed25519` stanzas produced by `age -R` against the SSH pubkey). Mismatched stanzas show up as `age: error: no identity matched any of the recipients` at deploy time. - Never read or commit plaintext secrets. Never log secret values. @@ -210,7 +215,7 @@ Prior art: the 3-path `{kernel,initrd,kernel-modules}` diff is lifted from nixpk - **Privilege escalation**: `doas` everywhere; `sudo` is disabled on every host. - **Shell**: fish. `bash` login shells re-exec into fish via `programs.bash.interactiveShellInit` (see `modules/common-shell-fish.nix`). -- **Secure boot**: lanzaboote. Desktops extract keys from `secrets/desktop/secureboot.tar`; muffin extracts from an agenix-decrypted tar (see `modules/server-lanzaboote-agenix.nix`). +- **Secure boot**: lanzaboote. Every host extracts keys from an agenix-decrypted tar at activation — desktops via `modules/desktop-lanzaboote-agenix.nix`, muffin via `modules/server-lanzaboote-agenix.nix`. - **Impermanence**: muffin is tmpfs-root with `/persistent` surviving reboots (`modules/server-impermanence.nix`); yarn binds `/home/primary` from `/persistent` (`hosts/yarn/impermanence.nix`). - **Disks**: disko. - **Binary cache**: muffin runs harmonia; desktops consume it at `https://nix-cache.sigkill.computer`. diff --git a/hosts/muffin/default.nix b/hosts/muffin/default.nix index a853561..5401583 100644 --- a/hosts/muffin/default.nix +++ b/hosts/muffin/default.nix @@ -19,7 +19,7 @@ ../../modules/zfs.nix ../../modules/server-impermanence.nix ../../modules/usb-secrets.nix - ../../modules/age-secrets.nix + ../../modules/server-age-secrets.nix ../../modules/server-lanzaboote-agenix.nix ../../modules/no-rgb.nix ../../modules/server-security.nix diff --git a/hosts/yarn/impermanence.nix b/hosts/yarn/impermanence.nix index b22eab9..26c8056 100644 --- a/hosts/yarn/impermanence.nix +++ b/hosts/yarn/impermanence.nix @@ -12,6 +12,14 @@ "/var/lib/systemd/coredump" "/var/lib/nixos" "/var/lib/systemd/timers" + # agenix identity sealed by the TPM. Must survive the tmpfs root + # wipe so decryption at activation finds the right handle. + { + directory = "/var/lib/agenix"; + mode = "0700"; + user = "root"; + group = "root"; + } ]; files = [ diff --git a/modules/desktop-age-secrets.nix b/modules/desktop-age-secrets.nix new file mode 100644 index 0000000..12dcca9 --- /dev/null +++ b/modules/desktop-age-secrets.nix @@ -0,0 +1,70 @@ +{ + pkgs, + inputs, + ... +}: +let + # rage cannot invoke age-plugin-tpm unless the plugin binary is on PATH at + # activation time. Wrap rage so the activation scripts (and anything else + # that picks up `age.ageBin`) get age-plugin-tpm for free. + rageWithTpm = pkgs.writeShellScriptBin "rage" '' + export PATH="${pkgs.age-plugin-tpm}/bin:$PATH" + exec ${pkgs.rage}/bin/rage "$@" + ''; +in +{ + imports = [ + inputs.agenix.nixosModules.default + ]; + + # Expose the plugin + agenix CLI for interactive edits (`agenix -e …`). + environment.systemPackages = [ + inputs.agenix.packages.${pkgs.system}.default + pkgs.age-plugin-tpm + ]; + + age.ageBin = "${rageWithTpm}/bin/rage"; + + # Primary identity: TPM-sealed key, generated by scripts/bootstrap-desktop-tpm.sh. + # Fallback identity: admin SSH key. age tries paths in order, so if the TPM + # is wiped or the board is replaced the SSH key keeps secrets accessible until + # the TPM is re-bootstrapped. Both are encrypted recipients on every .age file. + age.identityPaths = [ + "/var/lib/agenix/tpm-identity" + "/home/primary/.ssh/id_ed25519" + ]; + + # Ensure the identity directory exists before agenix activation so a fresh + # bootstrap doesn't race the directory creation. + systemd.tmpfiles.rules = [ + "d /var/lib/agenix 0700 root root -" + ]; + + age.secrets = { + # Secureboot PKI bundle (db/KEK/PK keys + certs) consumed by lanzaboote + # via desktop-lanzaboote-agenix.nix at activation time. + secureboot-tar = { + file = ../secrets/desktop/secureboot.tar.age; + mode = "0400"; + owner = "root"; + group = "root"; + }; + + # netrc for the private nix binary cache. + nix-cache-netrc = { + file = ../secrets/desktop/nix-cache-netrc.age; + mode = "0400"; + owner = "root"; + group = "root"; + }; + + # yescrypt hash for the primary user. + password-hash = { + file = ../secrets/desktop/password-hash.age; + mode = "0400"; + owner = "root"; + group = "root"; + }; + + }; +} diff --git a/modules/desktop-common.nix b/modules/desktop-common.nix index e103b1e..1012012 100644 --- a/modules/desktop-common.nix +++ b/modules/desktop-common.nix @@ -17,9 +17,10 @@ ./desktop-vm.nix ./desktop-steam.nix ./desktop-networkmanager.nix + ./desktop-age-secrets.nix + ./desktop-lanzaboote-agenix.nix inputs.disko.nixosModules.disko - inputs.lanzaboote.nixosModules.lanzaboote inputs.nixos-hardware.nixosModules.common-cpu-amd-pstate inputs.nixos-hardware.nixosModules.common-cpu-amd-zenpower @@ -50,16 +51,6 @@ mkdir -p /nix/var/nix/profiles/per-user/root/channels ''; - # extract all my secureboot keys - # TODO! proper secrets management - "secureboot-keys".text = '' - #!/usr/bin/env sh - rm -fr ${config.boot.lanzaboote.pkiBundle} || true - mkdir -p ${config.boot.lanzaboote.pkiBundle} - ${lib.getExe pkgs.gnutar} xf ${../secrets/desktop/secureboot.tar} -C ${config.boot.lanzaboote.pkiBundle} - chown -R root:wheel ${config.boot.lanzaboote.pkiBundle} - chmod -R 500 ${config.boot.lanzaboote.pkiBundle} - ''; }; swapDevices = [ ]; @@ -71,7 +62,7 @@ trusted-public-keys = [ site_config.binary_cache.public_key ]; - netrc-file = "${../secrets/desktop/nix-cache-netrc}"; + netrc-file = config.age.secrets.nix-cache-netrc.path; }; # cachyos kernel overlay @@ -896,8 +887,7 @@ "camera" "adbusers" ]; - # TODO! this is really bad :( I should really figure out how to do proper secrets management - hashedPasswordFile = "${../secrets/desktop/password-hash}"; + hashedPasswordFile = config.age.secrets.password-hash.path; }; services.gvfs.enable = true; diff --git a/modules/desktop-lanzaboote-agenix.nix b/modules/desktop-lanzaboote-agenix.nix new file mode 100644 index 0000000..3c3aa56 --- /dev/null +++ b/modules/desktop-lanzaboote-agenix.nix @@ -0,0 +1,49 @@ +{ + config, + lib, + pkgs, + inputs, + ... +}: +{ + imports = [ + inputs.lanzaboote.nixosModules.lanzaboote + ]; + + boot = { + loader.systemd-boot.enable = lib.mkForce false; + + lanzaboote = { + enable = true; + # sbctl expects the bundle at /var/lib/sbctl; muffin uses /etc/secureboot + # because it is wiped on every activation there (impermanence) — desktops + # extract to the historical sbctl path so existing tooling keeps working. + pkiBundle = "/var/lib/sbctl"; + }; + }; + + system.activationScripts = { + # Extract the secureboot PKI bundle from the agenix-decrypted tar. Mirrors + # modules/server-lanzaboote-agenix.nix; skip when keys are already present + # (e.g., disko-install staged them via --extra-files). + "secureboot-keys" = { + deps = [ "agenix" ]; + text = '' + #!/bin/sh + ( + umask 077 + if [[ -d ${config.boot.lanzaboote.pkiBundle} && -f ${config.boot.lanzaboote.pkiBundle}/db.key ]]; then + echo "secureboot keys already present, skipping extraction" + else + echo "extracting secureboot keys from agenix" + rm -fr ${config.boot.lanzaboote.pkiBundle} || true + install -d -o root -g wheel -m 0500 ${config.boot.lanzaboote.pkiBundle} + ${pkgs.gnutar}/bin/tar xf ${config.age.secrets.secureboot-tar.path} -C ${config.boot.lanzaboote.pkiBundle} + fi + chown -R root:wheel ${config.boot.lanzaboote.pkiBundle} + chmod -R 500 ${config.boot.lanzaboote.pkiBundle} + ) + ''; + }; + }; +} diff --git a/modules/desktop-networkmanager.nix b/modules/desktop-networkmanager.nix index 7cb6265..428783e 100644 --- a/modules/desktop-networkmanager.nix +++ b/modules/desktop-networkmanager.nix @@ -1,4 +1,4 @@ -{ hostname, site_config, ... }: +{ hostname, ... }: { # speed up boot times (by about three seconds) systemd.services.NetworkManager-wait-online.enable = false; @@ -9,7 +9,10 @@ networkmanager = { enable = true; - appendNameservers = site_config.dns_servers; + appendNameservers = [ + "1.1.1.1" + "9.9.9.9" + ]; wifi = { scanRandMacAddress = true; diff --git a/modules/age-secrets.nix b/modules/server-age-secrets.nix similarity index 100% rename from modules/age-secrets.nix rename to modules/server-age-secrets.nix diff --git a/scripts/bootstrap-desktop-tpm.sh b/scripts/bootstrap-desktop-tpm.sh new file mode 100755 index 0000000..00ee456 --- /dev/null +++ b/scripts/bootstrap-desktop-tpm.sh @@ -0,0 +1,68 @@ +#!/usr/bin/env bash +# Bootstrap the age-plugin-tpm identity for a desktop host (mreow / yarn). +# +# Produces a TPM-sealed age identity at /var/lib/agenix/tpm-identity and +# prints the legacy `age1tpm1…` recipient. The identity file is a TPM +# handle, not key material — the actual key never leaves the TPM. +# +# --tpm-recipient is required: nixpkgs only ships `age-plugin-tpm`, not the +# `age-plugin-tag` binary that rage looks up when it sees the new p256tag +# `age1tag1…` format. Until a packaged age-plugin-tag lands, every recipient +# stays in the legacy form so encryption works with off-the-shelf nixpkgs. +# +# Usage: +# doas scripts/bootstrap-desktop-tpm.sh +# +# After running: +# 1. Append the printed recipient to `tpm` in secrets/secrets.nix: +# "age1tpm1… " +# 2. `agenix -r` (from a shell with age-plugin-tpm on PATH) to re-encrypt +# every desktop secret with the new recipient list. +# 3. Commit + `./deploy.sh switch`. + +set -euo pipefail + +if [[ $EUID -ne 0 ]]; then + echo "this script must run as root (access to /dev/tpmrm0 + /var/lib/agenix)" >&2 + exit 1 +fi + +host=$(hostname -s) +id_file=/var/lib/agenix/tpm-identity + +install -d -m 0700 -o root -g root /var/lib/agenix + +if [[ -f "$id_file" ]]; then + echo "existing identity found at $id_file — preserving" +else + echo "generating TPM-sealed age identity..." + nix run nixpkgs#age-plugin-tpm -- --generate --tpm-recipient --output "$id_file" + chmod 0400 "$id_file" + chown root:root "$id_file" +fi + +# Always derive the legacy age1tpm1… recipient, even if the identity file +# was generated with the newer p256tag comment (Recipient line starts with +# age1tag1…). `--convert --tpm-recipient` uses the same TPM object and just +# serializes the public key point in the old format. +recipient=$(nix run nixpkgs#age-plugin-tpm -- --convert --tpm-recipient < "$id_file" 2>/dev/null | grep -o 'age1tpm1[0-9a-z]*' | head -n1) +if [[ -z "$recipient" ]]; then + # fallback to parsing the header comment (only works when the identity was + # already generated with --tpm-recipient). + recipient=$(grep '^# Recipient:' "$id_file" | awk '{print $3}') +fi +if [[ -z "$recipient" ]]; then + echo "failed to derive recipient for $id_file" >&2 + exit 1 +fi + +cat <#v%9`EgwQWUu(?HiqVxs}|0R-{kNa02b;z82|tP diff --git a/secrets/desktop/nix-cache-netrc.age b/secrets/desktop/nix-cache-netrc.age new file mode 100644 index 0000000000000000000000000000000000000000..cc33b77dcdd7284386b5b47364f758e78b0e269f GIT binary patch literal 453 zcmZQ@_Y83kiVO&0m~pq}&41nw6?4en`wK)wBH3A+3FDumxno_bpC$Chh1>x>lEl=9qQ$+%>(cmI)n z--8`^`!)%$*|G5Z9bQp6-`kv**T!$3+3n|eiv3>I?@NX{ZW{z6^gg`5_&VTG?$;Cc z4i4t8Z_hg5$JOU-cPq9*M0UQ-)<>5bGVN_w1~ygsE2evOEYg!yzF_FP=-rWLLhom5 z_NAVUJNxf%Qq#}82DR$uPJ!nJ2i8_jTE!c$eD9C9f`~xlN(r-$Y{Bi5emh4HTat5@p(a+8=6-n52o#UxRtKW`=OUE-TlXC^0^k0tgYzn{Xi3{tNn)iOrGU3we*qhus?RJmq`~^qyin<@I RH-6@1njOx+eof5%E&yLJ;dTH3 literal 0 HcmV?d00001 diff --git a/secrets/desktop/password-hash b/secrets/desktop/password-hash deleted file mode 100644 index c3cd98fa16d91d9b79347eb78ff2c2f927e89ee3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 96 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 diff --git a/secrets/desktop/secureboot.tar.age b/secrets/desktop/secureboot.tar.age new file mode 100644 index 0000000000000000000000000000000000000000..7e24b8a2bd2d22a511843c6a61fb9473d146b088 GIT binary patch literal 31017 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 z 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 CDN8T_ literal 0 HcmV?d00001 diff --git a/secrets/desktop/wifi-passwords.nix b/secrets/desktop/wifi-passwords.nix index cb860349eccd3518a21e59f1121ccf934e59294a..70879bf176861395701d7476bc2ccedefadff5a7 100644 GIT binary patch literal 3129 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 literal 3111 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 diff --git a/secrets/secrets.nix b/secrets/secrets.nix new file mode 100644 index 0000000000000000000000000000000000000000..da8705c3f8bfe70a9ee3070cb1ed5ff367150afc GIT binary patch literal 3191 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