Cryptograss:Runbooks/A key is compromised: Difference between revisions
From PickiPedia: A knowledge base of bluegrass, old time psychedelic jams, and other public domain music
Jump to navigationJump to search
Justin chose no second admin (7 Nov) (via update-page on MediaWiki MCP Server) |
Add the root-only freeze brake (plan section 10) (via update-page on MediaWiki MCP Server) |
||
| Line 5: | Line 5: | ||
# {{Bot_proposes|'''<code>magenta.sh kick <name> --all --ban</code>''' signs out every device of theirs and bars their key from signing in to Moods. ''Planned, not built yet: githouse also refusing their merge orders while they are banned.''|by=Magent}} | # {{Bot_proposes|'''<code>magenta.sh kick <name> --all --ban</code>''' signs out every device of theirs and bars their key from signing in to Moods. ''Planned, not built yet: githouse also refusing their merge orders while they are banned.''|by=Magent}} | ||
# {{Bot_proposes|'''If you're unsure who, or how far it went: <code>magenta.sh AZ5</code>.''' Everyone is signed out, the Moods are locked and no runner wakes anyone. ''Planned: githouse merges nothing during AZ5.''|by=Magent}} | # {{Bot_proposes|'''If you're unsure who, or how far it went: <code>magenta.sh AZ5</code>.''' Everyone is signed out, the Moods are locked and no runner wakes anyone. ''Planned: githouse merges nothing during AZ5.''|by=Magent}} | ||
# {{Bot_proposes|'''If memory-lane itself may be in someone else's hands: <code>magenta.sh freeze</code>''', from your own terminal, over SSH to maybelle as root. githouse merges nothing, from anyone, whatever memory-lane says, until root lifts it. ''Planned, not built yet.''|by=Magent}} | |||
# {{Bot_proposes|'''GitHub''': remove them from the org at https://github.com/orgs/cryptograss/people. Until githouse is how merges happen, an org member's session can merge on GitHub.|by=Magent}} | # {{Bot_proposes|'''GitHub''': remove them from the org at https://github.com/orgs/cryptograss/people. Until githouse is how merges happen, an org member's session can merge on GitHub.|by=Magent}} | ||
Revision as of 23:56, 7 November 2026
What to do, in order, when someone's SSH key, or a device signed in with it, may be in someone else's hands. Brakes first, then removal, then a look at what happened. Why it's in this order: Cryptograss:Moods/ramp/Plan, section 10.[unverified]
1. Brakes (minutes; no merge, no deploy)
An admin (MOOD_ADMINS: today only justin) does these from their own terminal:[unverified]
magenta.sh kick <name> --all --bansigns out every device of theirs and bars their key from signing in to Moods. Planned, not built yet: githouse also refusing their merge orders while they are banned.[unverified]- If you're unsure who, or how far it went:
magenta.sh AZ5. Everyone is signed out, the Moods are locked and no runner wakes anyone. Planned: githouse merges nothing during AZ5.[unverified] - If memory-lane itself may be in someone else's hands:
magenta.sh freeze, from your own terminal, over SSH to maybelle as root. githouse merges nothing, from anyone, whatever memory-lane says, until root lifts it. Planned, not built yet.[unverified] - GitHub: remove them from the org at https://github.com/orgs/cryptograss/people. Until githouse is how merges happen, an org member's session can merge on GitHub.[unverified]
2. Removal (a merge and redeploys)
- Take their
ssh_pubkeyout ofpeoplein maybelle-config'shunter/ansible/inventory.yml, and their name out ofgithouse_mergersif it's there. Make the pull request, then merge it with GitHub's button ormagenta.sh merge.[unverified] - Redeploy hunter and maybelle. That removes their key from the servers, from Moods' allowed_signers and from githouse's merge_signers.[unverified]
3. What happened
- {{{1}}}[unverified]
- pickipedia and arthel run the Jenkinsfile of whatever merged into
productionwithin minutes. Read Jenkins' runs since then.[unverified] - Their pushes: the branches under their name in githouse's
refs/heads/, and in the ramp (under ▾).[unverified] - Then
magenta.sh AZ5 --lift, if it was pulled.[unverified]
If the key is Justin's
That key is root on every server, the only admin, and a merger, so none of the brakes above can be trusted to stop it. What's left is outside the keys: Justin's GitHub account (its own password and second factor), where the org, its members and its deploy keys can be changed; and Hetzner's console, which reaches the servers without SSH. Justin chose no second admin for now (7 Nov).[unverified]