“Secure shell” SSH je mrežni protokol za uspostavljanje sigurne veze između hostova, standardno preko porta 22 (koji je bolje promijeniti). SSH klijenti i SSH serveri dostupni su za većinu operativnih sistema. Gotovo svaki drugi mrežni protokol radi unutar SSH-a, odnosno možete raditi na daljinu na drugom računalu, prenositi audio ili video stream preko šifriranog kanala itd. osim toga,
Provjera autentičnosti se odvija korištenjem lozinke, ali programeri i sistemski administratori tradicionalno koriste SSH ključeve. Problem je što privatni ključ može biti ukraden. Dodavanje pristupne fraze teoretski štiti od krađe privatnog ključa, ali u praksi, prilikom prosljeđivanja i keširanja ključeva, oni
Kako implementirati dvofaktorsku autentifikaciju
Programeri iz Honeycomb-a su nedavno objavili
Uputstva pretpostavljaju da imate određeni osnovni host otvoren za Internet (bastion). Želite da se povežete na ovaj host sa laptopa ili računara putem interneta, i pristupite svim ostalim uređajima koji se nalaze iza njega. 2FA osigurava da napadač ne može učiniti isto čak i ako dobije pristup vašem laptopu, na primjer instaliranjem zlonamjernog softvera.
Prva opcija je OTP
OTP - jednokratne digitalne lozinke, koje će se u ovom slučaju koristiti za SSH autentifikaciju zajedno sa ključem. Programeri pišu da ovo nije idealna opcija, jer bi napadač mogao podići lažni bastion, presresti vaš OTP i iskoristiti ga. Ali to je bolje nego ništa.
U ovom slučaju, na strani servera, sljedeće linije se upisuju u Chef konfiguraciju:
metadata.rb
attributes/default.rb
(odattributes.rb
)files/sshd
recipes/default.rb
(kopija izrecipe.rb
)templates/default/users.oath.erb
Bilo koja OTP aplikacija je instalirana na strani klijenta: Google Authenticator, Authy, Duo, Lastpass, instaliran brew install oath-toolkit
ili apt install oathtool openssl
, tada se generiše nasumični base16 niz (ključ). Konvertuje se u Base32 format koji koriste mobilni autentifikatori i uvozi direktno u aplikaciju.
Kao rezultat toga, možete se povezati na Bastion i vidjeti da sada zahtijeva ne samo pristupnu frazu, već i OTP kod za autentifikaciju:
➜ ssh -A bastion
Enter passphrase for key '[snip]':
One-time password (OATH) for '[user]':
Welcome to Ubuntu 18.04.1 LTS...
Druga opcija je hardverska autentifikacija
U ovom slučaju, korisnik ne mora svaki put unositi OTP kod, jer drugi faktor postaje hardverski uređaj ili biometrija.
Ovdje je Chef konfiguracija malo složenija, a konfiguracija klijenta ovisi o OS-u. Ali nakon završetka svih koraka, klijenti na MacOS-u mogu potvrditi autentifikaciju u SSH koristeći šifru i stavljanje prsta na senzor (drugi faktor).
Vlasnici iOS-a i Android-a potvrđuju prijavu
Na Linux/ChromeOS-u postoji opcija za rad sa YubiKey USB tokenima. Naravno, napadač može ukrasti vaš token, ali još uvijek ne zna pristupnu frazu.
izvor: www.habr.com