Et login, der bruger en SSH-nøgle gennem en VPN, betyder ikke, at den private nøgle blev overdraget til netværksoperatøren, og den beroligelse er smallere, end folk hører den. Offentlig-nøgle-autentificering sender en offentlig nøgle og en signatur, som klienten laver lokalt. Agent-videresendelse er en anden ordning med en anden eksponering, og den kan efterlade en brugbar autentificeringsevne på en maskine, du ikke kontrollerer. Det svar, du skylder, afhænger af, hvilken af de to der faktisk skete.

Hvad offentlig-nøgle-autentificering sender

I den standard offentlige-nøgle-metode tilbyder klienten en offentlig nøgle, serveren afgør, om den accepterer den nøgle, og klienten underskriver en udfordring med den private nøgle, som bliver i dens fil eller dens agent. Det, der krydser netværket, er den offentlige nøgle og den resulterende signatur. Intet i den udveksling kræver, at serveren, tunnelen eller nogen på vejen ligger inde med det private materiale.

Autentificeringsspecifikationen definerer det bevis, og den private nøgle er ikke et felt i anmodningen.

Det er en udtalelse om en protokol, ikke en karakterreference for hvert involveret endepunkt. Kontrol af værtsidentitet skal stadig være intakt, fordi en server, der ikke kan bevise, hvem den er, måske indsamler signaturer til et formål, du ikke havde til hensigt. En lejet VM, en arvet bastion og en bærbar computer med en ukendt udvidelse er tre separate tillidsspørgsmål. Hold dem adskilt fra det kryptografiske, som er genuint afgjort.

Hvad agent-videresendelse delegerer

Agent-videresendelse åbner en kanal fra fjernværten tilbage til agenten på din maskine, så processer på den vært kan bede agenten om at underskrive uden nogensinde at ligge inde med den private nøgle. Nøglen bliver, hvor den er, og evnen gør ikke. Alt, der kan nå den videresendte socket på fjernværten, i sessionens levetid, kan anmode om autentificeringsoperationer som en af de indlæste identiteter. Det er delegeret myndighed, og derfor fortjener videresendelse en snævrere politik end at overdrage en offentlig nøgle.

En kopieret nøglefil er en afsløring. En videresendt agent er en bevilling, og de to har brug for forskellige svar.

Aktivér videresendelse for et navngivet behov og navngivne værter, og kontroller, hvad klienten faktisk gør, i stedet for hvad konfigurationen ser ud til at sige. Det er de effektive indstillinger, der betyder noget, fordi en værtsblok stille tilsidesætter en global standard. Den samme ræsonnement gælder på serversiden, som helt kan afvise videresendelse, når udrulningen aldrig har brug for det.

Læs beviserne, før du vælger et svar

Hvis en privat nøglefil eller en tilsvarende signeringsidentitet menes at være eksponeret, er svaret udskiftning og tilbagekaldelse gennem din organisations proces, plus fjernelse af dens accept fra enhver tjeneste, der stolede på den. Sletning af én lokal kopi ugyldiggør ikke de kopier, du ikke kan se.

Hvis bekymringen er midlertidig agentadgang, er svaret snævrere: stop den unødvendige delegation, gennemgå de involverede sessioner og identiteter, og lad hændelsesejeren afgøre, om udskiftning er berettiget. Beviser betyder noget her, fordi ingen observeret eksport ikke beviser, at ingen autentificering blev misbrugt, og en ændring af stien alene er ikke en diagnose på en stjålet nøgle. Skriv ned, hvilken komponent der blev betroet, om videresendelse var aktiveret, og hvad der faktisk blev observeret. Vælg derefter det svar, der passer til den registrering, i stedet for det mest dramatiske, der er tilgængeligt.

ssh-add -l
ssh -G host.example | grep -i forwardagent

Kør dem før og efter en ændring, så sammenligningen betyder noget. En session, der blev etableret tidligere, beholder den delegation, den fik, uanset hvad indstillingerne siger nu.

To kontroller, der ikke kan udskiftes

Beskyttelse af privat materiale, begrænsning af hvem der kan bede om at signere, og verifikation af modpartens identitet er tre beslægtede kontroller, og ingen erstatter en anden. Et team, der fjerner videresendelse uden at kontrollere værtsnøgler, har rettet halvdelen af et problem. Et team, der roterer en nøgle, fordi ruten ændrede sig, har ikke rettet noget.

Et kompromitteret endepunkt er et fjerde spørgsmål, fordi privilegeret software på din egen maskine kan gøre betydeligt mere end at observere pakker.

Sorter hændelsen i de kategorier, før du rører noget, og giv hver en ejer. Hold en kort registrering af, hvad der blev betroet, hvad der blev delegeret, og hvad der blev verificeret, fordi den registrering er det, der gør den næste gennemgang billig i stedet for endnu en debat. Hvis en kategori er ukendt, skriv ukendt i stedet for at antage det godartede tilfælde. Skellet er praktisk, ikke akademisk: det afgør, om du udskifter en legitimationsoplysning, tilbagekalder en session eller blot stopper med at videresende.

Relaterede artikler