SSH "varnostni pregled" je omrežni protokol za vzpostavljanje zaščitenih povezav med gostitelji, standardno na vratih 22 (ki jih je bolje spremeniti). SSH odjemalci in SSH strežniki so na voljo za večino operacijskih sistemov. Znotraj SSH deluje praktično kateri koli drug omrežni protokol, kar pomeni, da lahko oddaljeno delate na drugem računalniku, prenašate zvočne ali video tokove preko šifriranega kanala itd. Poleg tega, se lahko povežete z drugimi gostitelji v imenu tega oddaljenega gostitelja.
Avtentikacija poteka s geslom, vendar razvijalci in sistemski skrbniki tradicionalno uporabljajo SSH ključe. Težava je v tem, da lahko tajni ključ ukradejo. Dodajanje gesla teoretično ščiti pred krajo tajnega ključa, vendar v praksi pri preusmerjanju in predpomnjenju ključev . Dvofaktorska avtentikacija reši to težavo.
Kako implementirati dvofaktorsko avtentikacijo
Razvijalci iz podjetja Honeycomb so nedavno objavili , kako implementirati ustrezno infrastrukturo na odjemalcu in strežniku.
Navodila predvidevajo, da imate nek osnovni gostitelj, odprt na internetu (bastion). Želite se povezati na ta gostitelj iz prenosnikov ali računalnikov preko interneta in dostopati do vseh drugih naprav, ki so za njim. 2FA zagotavlja, da napadalec ne more storiti enako, celo če pridobi dostop do vašega prenosnika, na primer z nameščanjem zlonamerne programske opreme.
Prva možnost — OTP
OTP so enkratna digitalna gesla, ki se v tem primeru uporabljajo za SSH avtentikacijo skupaj s ključem. Razvijalci trdijo, da to ni idealna možnost, ker lahko napadalec ustvari lažni bastion, ukrade vaš OTP in ga uporabi. A to je boljše, kot nič.
V tem primeru se na strežnikovi strani v konfiguraciji Chef zapišejo naslednje vrstice:
metadata.rbattributes/default.rb(fromattributes.rb)files/sshdrecipes/default.rb(kopija izrecipe.rb)templates/default/users.oath.erb
Na odjemalski strani se namesti katera koli aplikacija za OTP: Google Authenticator, Authy, Duo, Lastpass, namesti se brew install oath-toolkit ili apt install oathtool openssl, nato se generira naključni niz base16 (ključ). Ta se pretvori v format Base32, ki ga uporabljajo mobilni avtentifikatorji, in se neposredno uvaža v aplikacijo.
Na koncu se lahko povežete z bastionom in preverite, da zdaj zahteva ne le geselno frazo, temveč tudi kodo OTP za avtentifikacijo:
➜ ssh -A bastion
Vnesite geslo za ključ '[snip]':
Enkratna gesla (OATH) za '[user]':
Dobrodošli v Ubuntu 18.04.1 LTS...Druga možnost — strojna avtentifikacija
V tem primeru od uporabnika ni potrebno vsakič vnesti OTP-kode, saj postane strojna naprava ali biometrija drugi faktor.
Tukaj je konfiguracija Chef nekoliko bolj zapletena, konfiguracija strank pa je odvisna od OS. Po končanju vseh dejanj lahko stranke na MacOS potrjujejo avtentifikacijo v SSH z geselno frazo in prstom na senzorju (drugi faktor).
Lastniki iOS in Android potrjujejo prijavo . To je posebna tehnologija podjetja Krypt.co, ki je še varnejša od OTP.
Na Linuxu/ChromeOS obstaja možnost dela z USB-tokeni YubiKey. Seveda lahko napadalec ukrade vaš token, toda še vedno ne pozna geselne fraze.
Izvor: habr.com
