Kaksifaktoriline autentimine SSH-le

SSH «turvaline kest» on võrguprotokoll, millega luuakse kaitstud ühendus hostide vahel, tavaliselt pordil 22 (mida on soovitatav muuta). SSH-klientide ja SSH-serverite toetamine on olemas enamiku opsüsteemide jaoks. SSH-siseselt saab kasutada praktiliselt kõiki teisi võrguprotokolle, see tähendab, et saate töötada eemalt teisel arvutil, edastades krüpteeritud kanaliga heli või videot jne. Lisaks sellele, on võimalik luua ühendus teiste hostidega juba selle kaughostina . Autentimine toimub parooli kaudu, kuid arendajad ja süsteemiadministraatorid kasutavad traditsiooniliselt SSH võtmeid. Probleem on selles, et salajast võtit saab varastada. Paroolifraasi lisamine kaitseb teoreetiliselt salajase võtme varguse eest, kuid praktikas, kui võtmeid edastatakse ja puhverdatakse, mida

võivad ikkagi kasutada ilma kinnitamiseta . Kaksifaktoriline autentimine lahendab selle probleemi.Kuidas rakendada kaksifaktorilist autentimist

Honeycombi arendajad avaldasid hiljuti

üksikasjaliku juhendi üksikasjalik juhend, kuidas rakendada vastavat infrastruktuuri kliendil ja serveris.

Juhendis eeldatakse, et teil on mingi baashost, mis on avatud internetis (bastion). Soovite sellele hostile juurde pääseda sülearvutite või arvutite kaudu interneti kaudu ning pääseda kõigile teistele seadmetele, mis asuvad selle taga. 2FA tagab, et kurjategija ei saa sama teha, isegi kui ta pääseb teie sülearvutile juurde, näiteks pahavara installimise kaudu.

Esimene variant — OTP

OTP on ühekordsed digitaalsed paroolid, mida antud juhul kasutatakse SSH-autentimise jaoks koos võtmega. Arendajad kirjutavad, et see ei ole ideaalne variant, kuna kurjategija võib luua vale bastioni, teie OTP-d peatada ja seda kasutada. Kuid see on parem kui mitte midagi.

Sel juhul kirjeldatakse serveripoolsetes Chef-konfiguratsioonides järgmisi ridu:

  • metadata.rb
  • attributes/default.rb (allikas attributes.rb)
  • files/sshd
  • recipes/default.rb (koopia failist recipe.rb)
  • templates/default/users.oath.erb

Kliendipoolselt installige mõni OTP-rakendus: Google Authenticator, Authy, Duo, Lastpass, installige brew install oath-toolkit või apt install oathtool openssl, see generate a random base16 string (key). It is converted to Base32 format, used by mobile authenticators, and imported directly into the application.

As a result, you can connect to the bastion and verify that it now requires not only a passphrase but also an OTP code for authentication:

➜ ssh -A bastion
Enter passphrase for key '[snip]': 
One-time password (OATH) for '[user]': 
Welcome to Ubuntu 18.04.1 LTS...

The second option is hardware authentication

In this case, the user is not required to enter the OTP code each time, as the second factor becomes a hardware device or biometrics.

Here the Chef configuration is slightly more complex, and client configuration depends on the OS. However, after completing all actions, clients on MacOS can confirm authentication in SSH by entering the passphrase and using a finger on the sensor (second factor).

iOS and Android owners confirm the login by pressing a button on their smartphone. This is a special technology from Krypt.co that is even more secure than OTP.

On Linux/ChromeOS, there is an option to work with YubiKey USB tokens. Of course, an attacker might steal your token, but they still won’t know the passphrase.

Allikas: habr.com

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster