TPM Audit

#runbook #audit audited 2026-06-10 method kubectl exec onto Cilium pods (hostNetwork: true) to access /sys/class/dmi/id/ and dmesg
  • Summary

    • HostnameRoleClusterMachine ModelTPM HardwareTPM VersionTPM EnabledEnableableNotes
      optiplexcontrol-planefollyDell OptiPlex 3050Present (fTPM)2.0NoYesfirmware-level TPM, probe failed, needs BIOS config
      riptideworkerfollyHP EliteDesk 800 G5 Desktop MiniPresent (fTPM)2.0YesN/ATPM 2.0 detected and operational
      shaleworkerfollyHP EliteDesk 800 G2 DM 35WPresent1.2NoYesTPM 1.2 present but disabled; probe error
      oldschoolworkeroffsiteHP EliteDesk 800 G3 DM 35WUnknownUnknownUnknownUnknownpod timeout, could not verify
      retrofitcontrol-planeoffsiteHP EliteDesk 800 G2 DM 65WUnknownUnknownUnknownUnknownpod timeout, could not verify
    • k8s-node: not a registered node in the cluster; appears to be a netboot target alias, not a live host.

  • Detailed findings

    • optiplex (folly control-plane)

      • Model: Dell OptiPlex 3050

      • TPM: ACPI TPM2 table present (DELL CBX3). Intel PTT (fTPM) likely implemented via ME.

      • Dmesg: tpm_tis MSFT0101:00: probe with driver tpm_tis failed with error -1

      • Status: TPM hardware exists but kernel driver fails to claim it. Likely requires BIOS enablement of "Intel Platform Trust Technology" (PTT) or "TPM 2.0" option.

      • Actionable: Yes — enter BIOS, enable TPM 2.0 / Intel PTT, set TPM active, reboot.

    • riptide (folly worker)

      • Model: HP EliteDesk 800 G5 Desktop Mini

      • TPM: ACPI TPM2 table present (INTEL CFL). Detected as tpm_tis IFX0785:00: 2.0 TPM (device-id 0x1B, rev-id 22)

      • Dmesg: No errors. TPM operational.

      • Status: TPM 2.0 fully functional.

      • Actionable: N/A — already working.

    • shale (folly worker)

      • Model: HP EliteDesk 800 G2 DM 35W

      • TPM: ACPI TPM2 table present. However, dmesg shows tpm_tis 00:01: 1.2 TPM (device-id 0x1B, rev-id 16) — TPM 1.2 device detected.

      • Status: TPM 1.2 hardware present but probe may have failed. BIOS setting likely needed to enable.

      • Actionable: Yes — enter BIOS, enable TPM, set active.

    • oldschool (offsite worker)

      • Model: HP EliteDesk 800 G3 DM 35W

      • TPM: Could not verify. Pod experienced timeouts; network latency to offsite cluster is high.

      • Status: Unknown — direct SSH access not available from the audit environment.

      • Actionable: Requires physical/local access or reliable SSH to check.

    • retrofit (offsite control-plane)

      • Model: HP EliteDesk 800 G2 DM 65W

      • TPM: Could not verify. Pod experienced timeouts; network latency to offsite cluster is high.

      • Status: Unknown — direct SSH access not available from the audit environment.

      • Actionable: Requires physical/local access or reliable SSH to check.

  • NixOS configuration note

    • The x86 hardware profile (nix/hardware/x86/default.nix) sets:

    • systemd.tpm2.enable = lib.mkDefault false;
    • TPM2 is not currently used by NixOS on any of these hosts. For TPM-based features (systemd-cryptenroll, TPM-backed disk encryption, UKI measured boot), set it to true per-host and enable the TPM in firmware.

  • Recommendations

    • Enable TPM in BIOS for optiplex, shale, oldschool, retrofit (if hardware supports it)

    • Set systemd.tpm2.enable = true in host configs for any that will use TPM-backed disk encryption

    • Investigate offsite access — high latency prevents reliable exec-based auditing; consider a Tailscale subnet router or SSH jump for reliable access to oldschool/retrofit

  • Commands used

    • # From a Cilium pod (hostNetwork: true) on each node:
      cat /sys/class/dmi/id/product_name   # machine model
      ls /dev/tpm*                         # TPM device nodes
      dmesg | grep -i tpm                  # TPM kernel messages
  • Host details

    • HostInternal IPKernelOS
      optiplex10.3.0.107.0.9NixOS 25.11 (Xantusia)
      riptide10.3.0.127.0.9NixOS 25.11 (Xantusia)
      shale10.3.0.117.0.10NixOS 25.11 (Xantusia)
      oldschool10.89.0.116.17.9NixOS 25.11 (Xantusia)
      retrofit10.89.0.106.17.9NixOS 25.11 (Xantusia)

Linked references 2

Hosts/riptide

Newest x86 box in the fleet; has a working TPM 2.0 (Runbooks/TPM Audit).

Runbooks

Runbooks/TPM Audit — TPM inventory of the k8s fleet and how it was gathered