“Secure shell” SSH je sieťový protokol na vytvorenie bezpečného spojenia medzi hostiteľmi, štandardne cez port 22 (ktorý je lepšie zmeniť). SSH klienti a SSH servery sú dostupné pre väčšinu operačných systémov. Takmer každý iný sieťový protokol funguje v rámci SSH, to znamená, že môžete pracovať na diaľku na inom počítači, prenášať audio alebo video stream cez šifrovaný kanál atď. okrem toho
Autentifikácia prebieha pomocou hesla, ale vývojári a správcovia systému tradične používajú kľúče SSH. Problém je, že súkromný kľúč môže byť ukradnutý. Pridanie prístupovej frázy teoreticky chráni pred krádežou súkromného kľúča, ale v praxi pri preposielaní a ukladaní kľúčov do vyrovnávacej pamäte
Ako implementovať dvojfaktorovú autentifikáciu
Vývojári z Honeycomb nedávno zverejnili
Pokyny predpokladajú, že máte určitého základného hostiteľa otvoreného pre internet (baštu). Chcete sa pripojiť k tomuto hostiteľovi z notebookov alebo počítačov cez internet a získať prístup ku všetkým ostatným zariadeniam, ktoré sa nachádzajú za ním. 2FA zaisťuje, že útočník nemôže urobiť to isté, aj keď získa prístup k vášmu notebooku, napríklad inštaláciou malvéru.
Prvou možnosťou je OTP
OTP - jednorazové digitálne heslá, ktoré sa v tomto prípade použijú na overenie SSH spolu s kľúčom. Vývojári píšu, že to nie je ideálna možnosť, pretože útočník by mohol zdvihnúť falošnú baštu, zachytiť vaše OTP a použiť ho. Ale je to lepšie ako nič.
V tomto prípade sa na strane servera do konfigurácie Chef zapíšu nasledujúce riadky:
metadata.rb
attributes/default.rb
(zattributes.rb
)files/sshd
recipes/default.rb
(kopírovať zrecipe.rb
)templates/default/users.oath.erb
Na strane klienta je nainštalovaná akákoľvek aplikácia OTP: nainštalovaný Google Authenticator, Authy, Duo, Lastpass brew install oath-toolkit
alebo apt install oathtool openssl
, potom sa vygeneruje náhodný reťazec base16 (kľúč). Je konvertovaný do formátu Base32, ktorý používajú mobilné autentifikátory, a importovaný priamo do aplikácie.
V dôsledku toho sa môžete pripojiť k Bastion a uvidíte, že teraz vyžaduje nielen prístupovú frázu, ale aj OTP kód na overenie:
➜ ssh -A bastion
Enter passphrase for key '[snip]':
One-time password (OATH) for '[user]':
Welcome to Ubuntu 18.04.1 LTS...
Druhou možnosťou je hardvérová autentifikácia
V tomto prípade používateľ nemusí zakaždým zadávať OTP kód, keďže druhým faktorom je hardvérové zariadenie alebo biometria.
Tu je konfigurácia Chef trochu komplikovanejšia a konfigurácia klienta závisí od operačného systému. Po dokončení všetkých krokov však môžu klienti v systéme MacOS potvrdiť autentifikáciu v SSH pomocou prístupovej frázy a priložením prsta na senzor (druhý faktor).
Majitelia iOS a Android potvrdia prihlásenie
V systéme Linux/ChromeOS existuje možnosť pracovať s tokenmi YubiKey USB. Útočník vám samozrejme môže ukradnúť token, no stále nepozná prístupovú frázu.
Zdroj: hab.com