Presmerovanie SSH agenta verzus kopírovanie kľúča: čo v skutočnosti uniká
Prihlásenie verejným kľúčom posiela podpis, nie súkromný kľúč. Presmerovanie agenta však dáva inému hostiteľovi možnosť podpisovať, a to je samostatné vystavenie.
Dve rôzne udalosti sa nazývajú uniknutý SSH kľúč a vyžadujú rôzne reakcie. Autentifikácia verejným kľúčom posiela verejný kľúč a podpis vytvorený súkromným kľúčom, takže súkromný kľúč nikdy nie je pole požiadavky. Presmerovanie agenta vystavuje niečo iné, pretože vzdialený hostiteľ, ktorý dosiahne na vášho presmerovaného agenta, ho môže požiadať o podpis bez toho, aby kľúč kedy držal. Ak sa obe berú ako jedna udalosť, výsledkom je buď zbytočná výmena kľúča, alebo delegovanie, ktoré zostáva aktívne.
Prihlásenie verejným kľúčom prenáša podpis, nie kľúč
Autentifikačná výmena nesie používateľov verejný kľúč a podpis nad údajmi relácie. Server overuje tento podpis kľúčom, ktorému už dôveruje, a preto súkromná polovica môže zostať na klientovi aj cez nedôveryhodnú sieť. Operátor VPN, ktorý sleduje tunel, v každom prípade vidí šifrovanú reláciu SSH.
To opisuje protokol, nie dôveryhodnosť každého koncového bodu na ceste. Zachovajte overovanie identity hostiteľa nedotknuté, pretože klient, ktorý prijíma akýkoľvek kľúč hostiteľa, sa vzdal inej kontroly, než o ktorej hovoríme. Zachytená relácia a zachytený kľúč sú oddelené zistenia a len jedno z nich je strata prístupových údajov. Držte obe v oddelených vetách správy.
ssh-keygen -lf ~/.ssh/id_ed25519.pub ssh -o StrictHostKeyChecking=yes [email protected]
Prvý príkaz vypíše verejný odtlačok, aby ste ho porovnali s tým, čo uvádza server. Druhý zviditeľní kontrolu kľúča hostiteľa namiesto spoliehania sa na predvolenú hodnotu, ktorú nikto nečítal. Spustite oba predtým, než na kľúčoch čokoľvek zmeníte, aby bola základná línia zdokumentovaná.
Presmerovanie agenta deleguje možnosť podpisovať
Keď je presmerovanie zapnuté, na vzdialenom hostiteľovi sa objaví socket a miestny agent odpovedá na požiadavky, ktoré cezeň prichádzajú. Ktokoľvek môže tento socket počas relácie používať, môže sa voči hostiteľom prijímajúcim načítané identity preukázať ako vy. Žiadny súkromný kľúč preto neprechádza sieťou.
Vystavená je schopnosť, nie súbor. Preto presmerovanie patrí k pomenovanej úlohe a pomenovanému hostiteľovi, nie ku každému spojeniu, ktoré notebook nadviaže. Preskakovací hostiteľ, ktorý spojenie preposiela bez presmerovaného agenta, zvyčajne potrebu úplne odstráni.
ssh-add -l ssh -o ForwardAgent=no [email protected] ssh -J [email protected] [email protected]
Prvý vypíše, ktoré identity agent práve drží, čo sa hodí vedieť predtým, než jeho socket odovzdáte inému stroju. Druhý sa pripája bez delegovania. Tretí ukazuje vzor preskakovacieho hostiteľa, ktorý často presmerovanie úplne nahradí.
Vyberte reakciu podľa dôkazov, ktoré máte
Identita na podpisovanie, o ktorej sa predpokladá, že je vystavená, vyžaduje proces nahradenia a odvolania a odstránenie jej prijímania zo služieb, ktoré jej dôverovali. Vymazanie kópie na notebooku nechá všetky ostatné kópie nedotknuté. Začnite službami, potom ukliďte klientov.
Dočasný problém s delegovaním je užší. Ukončite presmerovanie, ktoré nebolo potrebné, a s vlastníkom incidentu prejdite, ktoré relácie a identity pokrývalo. Nahradenie kľúča môže nasledovať, ale rozhodujú o tom dôkazy, nie obavy.
Žiadny pozorovaný export dokazuje len to, že mechanizmus, ktorého ste sa báli, sa neobjavil. Nič nehovorí o tom, čo ďalšie mohol hostiteľ na druhom konci tohto socketu urobiť.
Držte kontroly v správe oddelené
Chráňte súkromný materiál, obmedzte, kto ho môže požiadať o podpis, udržujte overenú identitu protistrany. To sú tri kontroly, ktoré sa navzájom posilňujú, a žiadna z nich nenahrádza inú, keď vysvetľujete, čo sa stalo.
Kompromitovaný notebook alebo privilegovaná aplikácia na ňom je tretí prípad s oveľa širším dosahom. Zmena trasy VPN ho nerieši a neobnoví dôveru v kľúč, ktorý mohol byť prečítaný z disku.
Zapíšte, ktorej súčasti sa dôverovalo, či bolo presmerovanie zapnuté a čo sa skutočne pozorovalo. Práve tento záznam robí ďalšie rozhodnutie obhájiteľným, namiesto dohadu o tom, čo znamená únik.