SSH-nøkkel kopiert eller agent videresendt? To forskjellige risikoer
En signatur er ikke en nøkkelfil, og en delegert agent er ikke en avsløring. Skill protokollfakta fra spørsmålet om tillit til endepunktet, og svar deretter.
En pålogging som bruker en SSH-nøkkel gjennom en VPN betyr ikke at den private nøkkelen ble overlevert til nettverksoperatøren, og den betryggelsen er smalere enn folk hører. Autentisering med offentlig nøkkel sender en offentlig nøkkel og en signatur som klienten lager lokalt. Agent-videresending er en annen ordning med en annen eksponering, og den kan etterlate en brukbar autentiseringsevne på en maskin du ikke kontrollerer. Svaret du skylder avhenger av hvilken av de to som faktisk skjedde.
Hva autentisering med offentlig nøkkel sender
I standardmetoden med offentlig nøkkel tilbyr klienten en offentlig nøkkel, serveren avgjør om den godtar den nøkkelen, og klienten signerer en utfordring med den private nøkkelen, som blir i filen eller agenten. Det som går over nettverket, er den offentlige nøkkelen og signaturen som følger. Ingenting i den utvekslingen krever at serveren, tunnelen eller noen på veien holder det private materialet.
Autentiseringsspesifikasjonen definerer det beviset, og den private nøkkelen er ikke et felt i forespørselen.
Det er en uttalelse om en protokoll, ikke en karakterreferanse for hvert involverte endepunkt. Kontrollen av vertsidentitet må fortsatt være intakt, fordi en server som ikke kan bevise hvem den er, kan samle signaturer for et formål du ikke hadde til hensikt. En leid VM, en arvet bastion og en bærbar PC med en ukjent utvidelse er tre separate tillitsspørsmål. Hold dem adskilt fra det kryptografiske, som er genuint avgjort.
Hva agent-videresending delegerer
Agent-videresending åpner en kanal fra fjernverten tilbake til agenten på maskinen din, slik at prosesser på den verten kan be agenten om å signere uten å noen gang holde den private nøkkelen. Nøkkelen blir der den er, og evnen gjør det ikke. Alt som kan nå den videresendte sockelen på fjernverten, i løpet av økten, kan be om autentiseringsoperasjoner som en av de innlastede identitetene. Det er delegert myndighet, og derfor fortjener videresending en snevrere policy enn å overlevere en offentlig nøkkel.
En kopiert nøkkelfil er en avsløring. En videresendt agent er en tillatelse, og de to trenger forskjellige svar.
Aktiver videresending for et navngitt behov og navngitte verter, og kontroller hva klienten faktisk gjør i stedet for hva konfigurasjonen ser ut til å si. Det er de effektive innstillingene som teller, fordi en vertsblokk stille overstyrer en global standard. Den samme logikken gjelder på serversiden, som kan avvise videresending helt når utrullingen aldri trenger det.
Les bevisene før du velger et svar
Hvis det antas at en privat nøkkelfil eller en tilsvarende signeringsidentitet er eksponert, er svaret utskifting og tilbakekalling gjennom organisasjonens prosess, plus fjerning av dens aksept fra hver tjeneste som stolte på den. Sletting av én lokal kopi ugyldiggjør ikke kopiene du ikke kan se.
Hvis bekymringen er midlertidig agenttilgang, er svaret snevrere: stopp den unødvendige delegeringen, gjennomgå øktene og identitetene som er involvert, og la hendelseseieren avgjøre om utskifting er berettiget. Bevis betyr noe her, fordi ingen observert eksport ikke beviser at ingen autentisering ble misbrukt, og en endring av stien alene er ikke en diagnose av en stjålet nøkkel. Skriv ned hvilken komponent som ble betrodd, om videresending var aktivert, og hva som faktisk ble observert. Velg deretter svaret som passer til den registreringen, i stedet for det mest dramatiske som er tilgjengelig.
ssh-add -l
ssh -G host.example | grep -i forwardagent
Kjør dem før og etter en endring, slik at sammenligningen betyr noe. En økt som ble etablert tidligere, beholder delegeringen den fikk, uansett hva innstillingene sier nå.
To kontroller som ikke er utskiftbare
Å beskytte privat materiale, begrense hvem som kan be om at det signeres, og verifisere motpartens identitet er tre beslektede kontroller, og ingen erstatter en annen. Et team som fjerner videresending uten å kontrollere vertsnøkler, har rettet halvparten av et problem. Et team som roterer en nøkkel fordi ruten endret seg, har ikke rettet noe.
Et kompromittert endepunkt er et fjerde spørsmål, fordi privilegert programvare på din egen maskin kan gjøre betydelig mer enn å observere pakker.
Sorter hendelsen i disse kategoriene før du berører noe, og gi hver en eier. Hold en kort registrering av hva som ble betrodd, hva som ble delegert og hva som ble verifisert, fordi den registreringen er det som gjør neste gjennomgang billig i stedet for nok en debatt. Hvis en kategori er ukjent, skriv ukjent i stedet for å anta det godartede tilfellet. Skillet er praktisk, ikke akademisk: det avgjør om du skifter ut et påloggingsbevis, tilbakekaller en økt eller bare slutter å videresende.