To forskjellige hendelser kalles en lekket SSH-nøkkel, og de krever ulike reaksjoner. Autentisering med offentlig nøkkel sender en offentlig nøkkel og en signatur laget med den private nøkkelen, så den private nøkkelen er aldri et felt i forespørselen. Agentvideresending eksponerer noe annet, fordi en ekstern vert som når den videresendte agenten din, kan be den signere uten å noen gang holde nøkkelen. Behandler man de to som én hendelse, ender man enten med en nytteløs nøkkelutskifting eller med en delegasjon som fortsetter å gå.

Innlogging med offentlig nøkkel overfører en signatur, ikke nøkkelen

Autentiseringsutvekslingen bærer brukerens offentlige nøkkel og en signatur over sesjonsdata. Serveren kontrollerer signaturen mot nøkkelen den allerede stoler på, derfor kan den private halvdelen bli værende på klienten over et ikke-klarert nett. En VPN-operatør som ser tunnelen, ser uansett en kryptert SSH-sesjon.

Det beskriver protokollen, ikke påliteligheten til hvert endepunkt på veien. Hold vertsidentitetskontrollen intakt, fordi en klient som godtar hvilken som helst vertsnøkkel, har gitt opp en annen kontroll enn den vi diskuterer. En avlyttet sesjon og en avlyttet nøkkel er separate funn, og bare ett av dem er tap av påloggingsinformasjon. Hold de to i hver sin setning i rapporten.

ssh-keygen -lf ~/.ssh/id_ed25519.pub
ssh -o StrictHostKeyChecking=yes [email protected]

Den første kommandoen skriver ut det offentlige fingeravtrykket slik at du kan sammenligne det med det serveren lister opp. Den andre gjør vertsnøkkelkontrollen eksplisitt i stedet for å stole på en standardverdi ingen har lest. Kjør begge før du endrer noe på nøkler, slik at utgangspunktet blir dokumentert.

Videresending av en agent delegerer retten til å signere

Når videresending er slått på, dukker det opp en socket på den eksterne verten, og den lokale agenten svarer på forespørsler som kommer gjennom den. Alle som kan bruke den socketen i løpet av sesjonen, kan autentisere seg som deg overfor verter som godtar de lastede identitetene. Ingen privat nøkkel krysser nettet for at dette skal virke.

Det er evnen, ikke filen, som er eksponeringen. Derfor hører videresending til en navngitt oppgave og en navngitt vert, ikke til hver tilkobling en bærbar PC gjør. En sprangsvert som videresender tilkoblingen uten en videresendt agent, fjerner vanligvis behovet helt.

ssh-add -l
ssh -o ForwardAgent=no [email protected]
ssh -J [email protected] [email protected]

Den første viser hvilke identiteter agenten har akkurat nå, greit å vite før du gir socketen dens til en annen maskin. Den andre kobler til uten delegasjon. Den tredje viser mønsteret med sprangsvert som ofte erstatter videresending helt.

Velg reaksjonen ut fra bevisene du har

En signeringsidentitet som antas å være eksponert, krever prosessen med utskifting og tilbakekalling, og at aksepten fjernes fra tjenestene som stolte på den. Sletting av kopien på den bærbare maskinen lar alle andre kopier være urørt. Begynn med tjenestene, og rydd opp i klientene etterpå.

Et midlertidig delegasjonsproblem er snevrere. Avslutt videresendingen som ikke var nødvendig, og gå gjennom med eieren av hendelsen hvilke sesjoner og identiteter den dekket. Nøkkelutskifting kan følge, men det avgjøres av bevis, ikke av bekymring.

Ingen observert eksport beviser bare at mekanismen du fryktet, ikke dukket opp. Det sier ingenting om hva en vert i den andre enden av den socketen ellers kunne ha gjort.

Hold kontrollene atskilt i rapporten

Beskytt det private materialet, begrens hvem som kan be det om å signere, hold motpartens identitet bekreftet. Det er tre kontroller som styrker hverandre, og ingen av dem erstatter en annen når du forklarer hva som skjedde.

En kompromittert bærbar PC eller et privilegert program på den er et tredje tilfelle med mye større rekkevidde. Å endre VPN-ruten løser det ikke, og det gjenoppretter ikke tilliten til en nøkkel som kan ha blitt lest fra disken.

Skriv ned hvilken komponent som ble betrodd, om videresending var på, og hva som faktisk ble observert. Det er den protokollen som gjør neste beslutning forsvarlig, i stedet for en gjetning på hva en lekkasje betyr.

Relaterte artikler