»Varna lupina« SSH je omrežni protokol za vzpostavitev varne povezave med gostitelji, običajno preko vrat 22 (ki jih je bolje spremeniti). Odjemalci SSH in strežniki SSH so na voljo za večino operacijskih sistemov. Znotraj SSH deluje skoraj vsak drug omrežni protokol, kar pomeni, da lahko delate na daljavo na drugem računalniku, prenašate avdio ali video tok po šifriranem kanalu itd. Poleg tega
Preverjanje pristnosti poteka z geslom, vendar razvijalci in sistemski skrbniki tradicionalno uporabljajo ključe SSH. Težava je v tem, da lahko zasebni ključ ukradejo. Dodajanje gesla teoretično ščiti pred krajo zasebnega ključa, v praksi pa pri posredovanju in predpomnjenju ključev
Kako implementirati dvostopenjsko avtentikacijo
Razvijalci iz Honeycomba so nedavno objavili
Navodila predvidevajo, da imate določen osnovni gostitelj odprt za internet (bastion). S tem gostiteljem se želite povezati iz prenosnikov ali računalnikov prek interneta in dostopati do vseh drugih naprav, ki se nahajajo za njim. 2FA zagotavlja, da napadalec ne more storiti enakega, tudi če dobi dostop do vašega prenosnika, na primer z namestitvijo zlonamerne programske opreme.
Prva možnost je OTP
OTP - enkratna digitalna gesla, ki bodo v tem primeru skupaj s ključem uporabljena za avtentikacijo SSH. Razvijalci pišejo, da to ni idealna možnost, saj lahko napadalec dvigne lažni bastion, prestreže vaš OTP in ga uporabi. Ampak to je bolje kot nič.
V tem primeru so na strani strežnika v konfiguracijo Chefa zapisane naslednje vrstice:
metadata.rb
attributes/default.rb
(odattributes.rb
)files/sshd
recipes/default.rb
(kopiraj izrecipe.rb
)templates/default/users.oath.erb
Katera koli aplikacija OTP je nameščena na strani odjemalca: Google Authenticator, Authy, Duo, Lastpass, nameščen brew install oath-toolkit
ali apt install oathtool openssl
, potem se ustvari naključni niz base16 (ključ). Pretvorjen je v format Base32, ki ga uporabljajo mobilni avtentifikatorji, in uvožen neposredno v aplikacijo.
Posledično se lahko povežete z Bastionom in vidite, da zdaj ne zahteva samo gesla, ampak tudi kodo OTP za preverjanje pristnosti:
➜ ssh -A bastion
Enter passphrase for key '[snip]':
One-time password (OATH) for '[user]':
Welcome to Ubuntu 18.04.1 LTS...
Druga možnost je strojna avtentikacija
V tem primeru uporabniku ni treba vsakič vnesti kode OTP, saj drugi dejavnik postane strojna naprava ali biometrija.
Tu je konfiguracija Chefa nekoliko bolj zapletena, konfiguracija odjemalca pa je odvisna od OS. Toda po zaključku vseh korakov lahko odjemalci v sistemu MacOS potrdijo avtentikacijo v SSH z uporabo gesla in s prstom na senzor (drugi faktor).
Lastniki iOS in Android potrdijo prijavo
V sistemu Linux/ChromeOS obstaja možnost dela z žetoni YubiKey USB. Seveda lahko napadalec ukrade vaš žeton, vendar še vedno ne pozna gesla.
Vir: www.habr.com