«Sikkerhetslag» SSH er en nettverksprotokoll for Ä etablere en sikker tilkobling mellom verter, vanligvis gjennom port 22 (som er bedre Ä endre). SSH-klienter og SSH-servere er tilgjengelige for de fleste operativsystemer. Innvendig kan SSH kjÞre praktisk talt hvilken som helst annen nettverksprotokoll, noe som betyr at du kan arbeide eksternt pÄ en annen datamaskin, overfÞre en lydstrÞm eller video gjennom en kryptert kanal, osv. I tillegg, kan du koble deg til andre verter i navnet til denne eksterne verten.
Autentisering skjer med passord, men utviklere og systemadministratorer bruker tradisjonelt SSH-nÞkler. Problemet er at den hemmelige nÞkkelen kan bli stjÄlet. Legg til et passordfrase, som teoretisk beskytter mot tyveri av den hemmelige nÞkkelen, men i praksis kan de ved videresending og caching av nÞkler . To-faktor-autentisering lÞser dette problemet.
Hvordan implementere to-faktor-autentisering
Utviklerne fra Honeycomb har nylig publisert , om hvordan du implementerer den nÞdvendige infrastrukturen pÄ klienten og serveren.
Veiledningen forutsetter at du har en grunnleggende vert som er Äpen pÄ internett (bastion). Du Þnsker Ä koble til denne verten fra bÊrbare datamaskiner eller PC-er via internett, og fÄ tilgang til alle andre enheter som ligger bak den. 2FA garanterer at en angriper ikke kan utfÞre det samme, selv om de fÄr tilgang til bÊrbare datamaskinen din, for eksempel ved Ä installere skadelig programvare.
Det fĂžrste alternativet er OTP
OTP er engangskoder som i dette tilfellet skal brukes for SSH-autentisering sammen med nĂžkkelen. Utviklerne skriver at dette ikke er et ideelt alternativ, fordi en angriper kan opprette en falsk bastion, fange din OTP og bruke den. Men det er bedre enn ingenting.
I dette tilfellet skrives fÞlgende linjer inn i Chef-konfigurasjonen pÄ serversiden:
metadata.rbattributes/default.rb(fraattributes.rb)files/sshdrecipes/default.rb(kopi avrecipe.rb)templates/default/users.oath.erb
PÄ klientsiden installeres hvilken som helst OTP-applikasjon: Google Authenticator, Authy, Duo, Lastpass, installeres brew install oath-toolkit eller apt install oathtool openssl, sÄ genereres en tilfeldig streng base16 (nÞkkel). Den konverteres til Base32-format, som mobilautentifikatorer bruker, og importeres direkte til applikasjonen.
Til slutt kan du koble deg til bastionen og se at den nÄ krever bÄde passordfrase og OTP-kode for autentisering:
â ssh -A bastion
Skriv inn passfrasen for nĂžkkelen '[snip]':
Engangspassord (OATH) for '[user]':
Velkommen til Ubuntu 18.04.1 LTS...Det andre alternativet â maskinvareautentisering
I dette tilfellet kreves det ikke at brukeren hver gang skriver inn OTP-koden, ettersom det andre faktoren blir en maskinvareenhet eller biometrisk data.
Her er Chef-konfigurasjonen litt mer komplisert, og konfigurasjonen av klientene avhenger av operativsystemet. Men etter at alle handlingene er utfÞrt, kan klientene pÄ MacOS bekrefte autentisering i SSH med passordfrase og ved Ä bruke fingertuppen pÄ sensoren (det andre faktoren).
Eiere av iOS og Android bekrefter pÄlogging . Dette er en spesialteknologi fra Krypt.co, som er enda tryggere enn OTP.
PĂ„ Linux/ChromeOS er det en mulighet til Ă„ jobbe med USB-token YubiKey. SelvfĂžlgelig kan en angriper stjele tokenet ditt, men vedkommende kjenner fortsatt ikke passordfrasen.
Kilde: habr.com
