Files
Anand b3e09267e0 Fix audit findings: stale guest-dialog state, SSH host-key pinning, and UX gaps
Backend: gate Proxmox access/ACL routes behind requireAdmin, pin SSH host
keys with trust-on-first-use instead of ignoring them, cap concurrent
alert-notification goroutines, propagate shutdown context to live webhook
delivery, and auto-enable secure cookies when TLS is self-terminated.

Frontend: reset per-guest form/exec state when GuestDetailDialog's guest
prop swaps without closing, toast on blocked console/shell popups, retry
dashboard layout saves that fail instead of losing them silently, add
private-key auth to the ad hoc SSH dialog, add inline CIDR validation on
firewall aliases, add a stacked mobile layout for the cluster comparison
table, and assorted smaller consistency/accessibility fixes.
2026-09-17 22:46:27 +05:30

18 lines
663 B
SQL

-- +goose Up
-- Trust-on-first-use host key pinning for the direct SSH shell feature
-- (internal/api/ssh_console.go). The first connection to a given host:port
-- records the server's host-key fingerprint here instead of accepting it
-- unverified forever; every later connection is compared against the
-- pinned value, so a MITM after that first connection is rejected instead
-- of silently trusted the way ssh.InsecureIgnoreHostKey() did.
CREATE TABLE ssh_known_hosts (
host TEXT NOT NULL,
port INTEGER NOT NULL,
fingerprint TEXT NOT NULL,
created_at TEXT NOT NULL,
PRIMARY KEY (host, port)
);
-- +goose Down
DROP TABLE ssh_known_hosts;