SSH-nøkkel kopiert eller agent vidaresend? To ulike risikoar
Ein signatur er ikkje ei nøkkelfil, og ein delegert agent er ikkje ei avsløring. Skil protokollfakta frå spørsmålet om tillit til endepunktet, og svar deretter.
Ei pålogging som brukar ein SSH-nøkkel gjennom ein VPN betyr ikkje at den private nøkkelen vart overlevert til nettverksoperatøren, og den trygginga er smalare enn folk høyrer. Autentisering med offentleg nøkkel sender ein offentleg nøkkel og ein signatur som klienten lagar lokalt. Agent-vidaresending er ei anna ordning med ei anna eksponering, og ho kan etterlate ein brukbar autentiseringsevne på ein maskin du ikkje kontrollerer. Svaret du skuldar avheng av kva av dei to som faktisk hende.
Kva autentisering med offentleg nøkkel sender
I standardmetoden med offentleg nøkkel tilbyr klienten ein offentleg nøkkel, tenaren avgjer om han godtek den nøkkelen, og klienten signerer ei utfordring med den private nøkkelen, som blir i fila eller agenten. Det som går over nettverket, er den offentlege nøkkelen og signaturen som følgjer. Ingenting i den utvekslinga krev at tenaren, tunnelen eller nokon på vegen held det private materialet.
Autentiseringsspesifikasjonen definerer det beviset, og den private nøkkelen er ikkje eit felt i førespurnaden.
Det er ei utsegn om ein protokoll, ikkje ein karakterreferanse for kvart involverte endepunkt. Kontrollen av vertsidentitet må framleis vere intakt, fordi ein tenar som ikkje kan bevise kven han er, kan samle signaturar for eit føremål du ikkje hadde til hensikt. Ein leigd VM, ein arva bastion og ein berbar PC med ei ukjend utviding er tre separate tillitsspørsmål. Hald dei skilde frå det kryptografiske, som er genuint avgjort.
Kva agent-vidaresending delegerer
Agent-vidaresending opnar ein kanal frå fjernverten tilbake til agenten på maskinen din, slik at prosessar på den verten kan be agenten om å signere utan å nokon gong halde den private nøkkelen. Nøkkelen blir der han er, og evna gjer det ikkje. Alt som kan nå den vidaresende sockelen på fjernverten, i løpet av økta, kan be om autentiseringsoperasjonar som ein av dei innlasta identitetane. Det er delegert myndigheit, og difor fortener vidaresending ei snevrare retningslinje enn å overlevere ein offentleg nøkkel.
Ei kopiert nøkkelfil er ei avsløring. Ein vidaresend agent er ei løyve, og dei to treng ulike svar.
Slå på vidaresending for eit namngjeve behov og namngjevne vertar, og kontroller kva klienten faktisk gjer i staden for kva konfigurasjonen ser ut til å seie. Det er dei effektive innstillingane som tel, fordi ein vertsblokk stille overstyrer ein global standard. Den same logikken gjeld på tenarsida, som kan avvise vidaresending heilt når utrullinga aldri treng det.
Les bevisa før du vel eit svar
Viss det er grunn til å tru at ei privat nøkkelfil eller ein tilsvarande signeringsidentitet er eksponert, er svaret utskifting og tilbakekalling gjennom prosessen til organisasjonen, plus fjerning av aksepten frå kvar teneste som stolte på han. Sletting av éin lokal kopi gjer ikkje kopiane du ikkje ser, ugyldige.
Viss bekymringa er mellombels agenttilgang, er svaret snevrare: stogg den unødvendige delegeringa, gå gjennom øktene og identitetane som er involverte, og la eigaren av hendinga avgjere om utskifting er grunngitt. Bevis betyr noko her, fordi ingen observert eksport ikkje beviser at ingen autentisering vart misbrukt, og ei endring av stien åleine er ikkje ein diagnose av ein stolen nøkkel. Skriv ned kva komponent som vart betrodd, om vidaresending var slått på, og kva som faktisk vart observert. Vel deretter svaret som passar til den registreringa, i staden for det mest dramatiske som er tilgjengeleg.
ssh-add -l
ssh -G host.example | grep -i forwardagent
Køyr dei før og etter ei endring, slik at samanlikninga betyr noko. Ei økt som vart etablert tidlegare, held på delegeringa ho fekk, kva innstillingane enn seier no.
To kontrollar som ikkje er utskiftbare
Å verne privat materiale, avgrense kven som kan be om at det blir signert, og stadfeste identiteten til motparten er tre skylde kontrollar, og ingen erstattar ein annan. Eit team som fjernar vidaresending utan å kontrollere vertsnøklar, har retta halvparten av eit problem. Eit team som roterer ein nøkkel fordi ruta endra seg, har ikkje retta noko.
Eit kompromittert endepunkt er eit fjerde spørsmål, fordi privilegert programvare på din eigen maskin kan gjere monaleg meir enn å observere pakkar.
Sorter hendinga i desse kategoriane før du rører noko, og gje kvar ein eigar. Hald ein kort registrering av kva som vart betrodd, kva som vart delegert og kva som vart stadfesta, fordi den registreringa er det som gjer neste gjennomgang billeg i staden for nok ein debatt. Viss ein kategori er ukjend, skriv ukjend i staden for å anta det godarta tilfellet. Skiljet er praktisk, ikkje akademisk: det avgjer om du skiftar ut eit påloggingsbevis, kallar tilbake ei økt eller berre sluttar å vidaresende.