Five servers grant blanket passwordless sudo; policies/sudo covers only odin #14
Labels
No labels
blocked
conflicted
curated
in-progress
in-review
needs-decision
No milestone
No project
No assignees
1 participant
Due date
No due date set.
Dependencies
No dependencies set
Reference
larandar/flaky-mesh#14
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Stable ID: FM-AUDIT-06
Source:
modules/policies/sudo.nix, all five server host filesSource status: new finding, not previously tracked
Disposition: open owner decision — security posture
Epic: #9
Blocked by: owner decision on the server posture
Problem
policies/sudois careful. It grants NOPASSWD to podman and to exactly thesystemctl lifecycle verbs, with its own comment saying why:
That aspect is in one host's roots: odin. The five servers do not select it —
commoninmodules/aspects/hosts.nix:14-19isintegrations/mesh-whoami,policies/mesh,services/node-exporter,services/openssh.Each server instead writes, verbatim:
bifrost:85, fenrisulfr:77, heimdallr:56, modron:55, tamiel:20.
So the fleet's considered sudo policy protects the workstation, and every
server — including heimdallr, which holds the fleet identity secrets, and
fenrisulfr, which holds the vault NFS mounts — has blanket passwordless root
for wheel. Five identical lines is the tell: this is a fleet policy that was
never written as one.
Decision needed
Is blanket passwordless sudo the intended server posture, or an accident that
propagated by copy-paste? Both are defensible for a single-operator fleet
reached only over the mesh with key-only ssh — but it should be a decision.
Acceptance
policies/sudoor a sibling policy — andadded to
commoninmodules/aspects/hosts.nix.wheelNeedsPasswordlines gone from the host files.Provenance
Split from #9 (FM-ASPECT-AUDIT). Audit run 2026-08-04 by agent.odin against commit
fc3b751, withmodules/implementations/{forgejo-agents,hermes}.nixandoutputs/hosts/odin/{configuration.nix,secrets.agents.yaml}dirty in the working copy.