Skip to content

docs(oracle): record its key-only SSH baseline (#1500) - #1502

Merged
Gerrrt merged 3 commits into
mainfrom
gerrrt/oracle-ssh-baseline-1500
Nov 14, 2026
Merged

Gerrrt merged 3 commits into
mainfrom
gerrrt/oracle-ssh-baseline-1500

Conversation

@Gerrrt

@Gerrrt Gerrrt commented Nov 14, 2026 •

Copy link
Copy Markdown
Owner

What changed

Docs only. This records oracle's key-only SSH baseline, which was applied by hand on 2026-11-14:

  • stacks/wiki/README.md: a new The host's SSH, once step that writes /etc/ssh/sshd_config.d/10-oracle-baseline.conf and checks it.
  • docs/network.md: a sentence on oracle's row that points to that step.
  • docs/changelog.md: dated 2026-11-14 entries.
  • The keys: the same README step now lists the from= pin for each kind of key in authorized_keys: robo to 10.0.99.20, trinity's backup key to 10.0.99.40, operator keys to Hicks. These pins were applied on oracle at 06:44 UTC. restore-the-firewall.md §0 now adds the key without a password and with its pin.

Why

The audit of 2026-11-13 found oracle's sshd offering publickey,password. This is the host that holds every off-host copy, and nothing in the repo set its sshd. Closes #1500.

Blast radius

oracle's SSH only, and the change is already live there.

  • The last password login was 2026-09-02. Every login since, including the backup pushes from 10.0.99.20 and 10.0.99.40, has used a key.

  • If a key stops working, the laptop's console still works.

  • No change to network segmentation or firewall rules

  • No new port published to a VLAN that could not already reach the service

  • No credential added outside secrets/*.sops.yaml

Verification

  • The config: on oracle, sshd -t passed, then systemctl reload ssh. sshd -T shows all four settings set to no.

  • The login: ssh -o PreferredAuthentications=none to localhost and to 10.0.99.30 prints Permission denied (publickey).

  • The keys: ssh-keygen -lf still parses all five keys with their options. Before pinning, I checked 120 days of the journal: each key had logged in from one host or from Hicks only. No login had happened under the pins when this was written. The first real ones are the 2026-11-15 backup runs.

  • The checks: scripts/check_docs.py printed docs OK, and ./scripts/lint.sh passed. make validate was not run, because the change is docs only.

  • make validate passes

  • Deployed to the lab and confirmed working

  • Docs updated (docs/, service README, or docs/roadmap.md)

🤖 Generated with Claude Code

The 2026-11-13 audit found oracle's sshd offering password logins on
the host that holds every off-host copy. A drop-in applied by hand on
2026-11-14 turns them off. This records the step in the wiki stack's
README so a rebuild repeats it, notes it on oracle's network.md row,
and logs it in the changelog.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Copilot AI balanced review requested due to automatic review settings November 14, 2026 00:34

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The backup-key enrollment instructions still require password-based ssh-copy-id after the baseline disables that authentication method, blocking off-host backup setup on rebuilt hosts.

1 open issue
What changed in this PR

This docs-only PR records oracle’s manually applied key-only SSH baseline so it can be restored after a rebuild.

Changes:

  • Documents the SSH configuration drop-in and verification steps.
  • Links the host’s network entry to the rebuild instructions.
  • Records the deployment and remaining key restrictions in the changelog.
File Description
stacks/​wiki/​README.md Adds SSH hardening and verification instructions.
docs/​network.md Records key-only SSH and links to the setup procedure.
docs/​changelog.md Adds the dated baseline deployment record.

Review effort: Balanced

Comment thread stacks/wiki/README.md Resolved
@Gerrrt
Gerrrt enabled auto-merge (squash) November 14, 2026 06:39
Your Name and others added 2 commits November 14, 2026 06:42
restore-the-firewall.md §0 used ssh-copy-id with oracle's password,
which the key-only baseline now refuses. Add the key from oracle's
console or an existing key session, then check BatchMode login.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Each key on oracle now carries a from= pin to the host or subnet it
has logged in from, with forwarding and ~/.ssh/rc turned off. Record
the options in the wiki README, point restore-the-firewall §0 at them,
and log it in the changelog.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Gerrrt
Gerrrt merged commit 9a6fa15 into main Nov 14, 2026
8 of 9 checks passed
@Gerrrt
Gerrrt deleted the gerrrt/oracle-ssh-baseline-1500 branch November 14, 2026 06:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

oracle: record its key-only SSH baseline

2 participants