SSH-agentvideresendelse kontra at kopiere en nøgle: hvad lækker egentlig
Login med offentlig nøgle sender en signatur, ikke den private nøgle. Agentvideresendelse giver stadig en anden vært mulighed for at signere, og det er en særskilt eksponering.
To forskellige hændelser kaldes en lækket SSH-nøgle, og de kræver forskellige reaktioner. Godkendelse med offentlig nøgle sender en offentlig nøgle og en signatur lavet med den private nøgle, så den private nøgle er aldrig et felt i anmodningen. Agentvideresendelse blotlægger noget andet, fordi en fjern vært, der kan nå din videresendte agent, kan bede den signere uden nogensinde at holde nøglen. Behandler man de to som én hændelse, ender man enten med en nytteløs udskiftning eller med en delegation, der bliver kørende.
Login med offentlig nøgle sender en signatur, ikke nøglen
Godkendelsesudvekslingen bærer brugerens offentlige nøgle og en signatur over sessionsdata. Serveren kontrollerer signaturen mod den nøgle, den allerede stoler på, og derfor kan den private halvdel blive på klienten over et utroværdigt netværk. En VPN-operatør, der ser tunnelen, ser under alle omstændigheder en krypteret SSH-session.
Det beskriver protokollen, ikke troværdigheden af hvert endepunkt på vejen. Bevar værtsidentitetsbekræftelsen intakt, fordi en klient, der accepterer enhver værtsnøgle, har opgivet en anden kontrol end den, vi drøfter. En opsnappet session og en opsnappet nøgle er separate fund, og kun ét af dem er et tab af legitimationsoplysninger. Hold de to i hver sin sætning i rapporten.
ssh-keygen -lf ~/.ssh/id_ed25519.pub ssh -o StrictHostKeyChecking=yes [email protected]
Den første kommando udskriver det offentlige fingeraftryk, så du kan sammenligne det med det, serveren angiver. Den anden gør værtsnøglekontrollen eksplicit i stedet for at stole på en standardværdi, som ingen har læst. Kør begge, før du ændrer noget ved nøgler, så grundlinjen bliver dokumenteret.
Videresendelse af en agent delegerer retten til at signere
Når videresendelse er slået til, vises en socket på den fjernvært, og den lokale agent besvarer anmodninger, der kommer gennem den. Enhver, der kan bruge den socket i løbet af sessionen, kan godkende som dig over for værter, der accepterer de indlæste identiteter. Ingen privat nøgle krydser netværket for at få det til at virke.
Det er evnen, ikke filen, der er eksponeringen. Derfor hører videresendelse til en navngivet opgave og en navngivet vært frem for til enhver forbindelse, en bærbar computer laver. En springvært, der videresender forbindelsen uden en videresendt agent, fjerner normalt 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 i øjeblikket, hvilket er værd at vide, før du giver dens socket til en anden maskine. Den anden forbinder uden delegation. Den tredje viser springværtsmønstret, som ofte erstatter videresendelse helt.
Vælg reaktionen ud fra de beviser, du har
En signeringsidentitet, der antages at være eksponeret, kræver udskiftnings- og tilbagekaldelsesprocessen og fjernelse af dens accept fra de tjenester, der stolede på den. Sletning af kopien på din bærbare computer lader enhver anden kopi være urørt. Start med tjenesterne, ryd derefter op hos klienterne.
Et midlertidigt delegationsproblem er snævrere. Afslut den videresendelse, der ikke var nødvendig, og gennemgå med ejeren af hændelsen, hvilke sessioner og identiteter den dækkede. Nøgleudskiftning kan stadig følge, men det afgøres af beviser frem for bekymring.
Ingen observeret eksport beviser kun, at den mekanisme, du frygtede, ikke opstod. Det siger intet om, hvad en vært i den anden ende af den socket ellers kunne have gjort.
Hold kontrollerne adskilt i rapporten
Beskyt det private materiale, begræns hvem der kan bede det om at signere, og hold modpartens identitet bekræftet. Det er tre kontroller, der styrker hinanden, og ingen af dem erstatter en anden, når du forklarer, hvad der skete.
En kompromitteret bærbar computer eller et privilegeret program på den er et tredje tilfælde med en meget større slagradius. Ændring af VPN-ruten løser det ikke og genskaber ikke tilliden til en nøgle, der kan være læst fra disken.
Skriv ned, hvilken komponent der blev betroet, om videresendelse var slået til, og hvad der faktisk blev observeret. Den registrering er det, der gør den næste beslutning forsvarlig i stedet for et gæt på, hvad en lækage betyder.