Kahefaktoriline autentimine SSH jaoks

„Ohutu kest“ SSH on võrgu protokoll, mis loob turvalise ühenduse hostide vahel, standardse 22. portaali kaudu (mida on parem muuta). SSH-kliente ja SSH-servereid on saadaval enamiku opsüsteemide jaoks. SSH sees töötab praktiliselt iga teine võrgu protokoll, mis tähendab, et saate eemalt töötada teisel arvutil, edastada krüpteeritud kanaliga helivoolu või videot jne. Lisaks, saab läbi SOCKS-proksi eemalolevale hostile ühenduda teistele hostidele juba selle eemaloleva hosti nimel.

Autentimine toimub parooli kaudu, kuid arendajad ja süsteemiadministrátorid rakendavad traditsiooniliselt SSH-võtmeid. Probleem seisneb selles, et salajast võtit võivad varastada. Paroolifrase lisamine kaitseb teoreetiliselt salajase võti varguse eest, kuid praktikas, võtmete edastamisel ja vahemälustamisel, võivad nad ikkagi olla kasutatavad ilma kinnitamiseta.Kaheastmeline autentimine lahendab selle probleemi.

Kuidas rakendada kaheastmelist autentimist

Honeycombi arendajad avaldasid hiljuti ühe põhjaliku juhendi, kuidas rakendada vastavat infrastruktuuri kliendil ja serveril.

Juhend eeldab, et teil on mingisugune põhi-host, mis on avatud internetile (bastion). Soovite sellele hostile ühenduda sülearvutite või arvutite kaudu interneti kaudu ja saada juurdepääs kõikidele teistele seadmetele, mis asuvad selle taga. 2FA tagab, et ründaja ei saa sama teha, isegi kui ta pääseb juurde teie sülearvutile, näiteks installides pahavara.

Esimene variant on OTP

OTP on ühekordsed digitaalsed paroolid, mida kasutatakse siin SSH-autentimisel koos võtmega. Arendajad kirjutavad, et see ei ole ideaalne valik, kuna ründaja võib luua vale bastioni, teie OTP kinni püüda ja seda kasutada. Kuid see on parem kui mitte midagi.

Sel juhul kirjutatakse serveripoolsetes konfiguratsioonides Chef järgmised read:

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

Kliendipoolele installitakse mis tahes OTP-rakendus: Google Authenticator, Authy, Duo, Lastpass, installitakse brew install oath-toolkit või apt install oathtool openssl, seejärel genereeritakse juhuslik base16 (võti). See konverteeritakse Base32 formaati, mida kasutavad mobiilsed autentijad, ja imporditakse otse rakendusse.

Lõpuks saate ühendust bastioniga ja veenduda, et nüüd nõutakse mitte ainult paroolifraasi, vaid ka OTP koodi autentimiseks:

➜ ssh -A bastion
Sisestage paroolifras: '[snip]': 
Ühekordne parool (OATH) '[user]': 
Tere tulemast Ubuntu 18.04.1 LTS...

Teine variant — riistvara autentimine

Sellisel juhul ei pea kasutaja iga kord sisestama OTP koodi, kuna teiseks faktoriks on riistvara seade või biomeetria.

Siin on Chef'i konfiguratsioon veidi keerulisem, ja klientide seadistamine sõltub operatsioonisüsteemist. Kuid peale kõikide toimingute tegemist saavad MacOS kliendid autentimist SSH-s kinnitada paroolifrasiga ja sõrme rakendamisega sensorile (teine faktor).

iOS ja Android kasutajad kinnitavad sisenemist nupule vajutades oma nutitelefonil. See on spetsiaalne tehnoloogia Krypt.co-lt, mis on isegi turvalisem kui OTP.

Linuxi/ChromeOS-is on võimalus töötada USB-tokenitega YubiKey. Loomulikult võib kurjategija teie tokeni varastada, kuid ta ei tea ikkagi paroolifras.

Allikas: habr.com

Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster