Otentikasi rong faktor kanggo SSH

"Secure Shell" SSH minangka protokol jaringan kanggo nggawe sambungan aman antarane host, standar liwat port 22 (sing luwih apik kanggo ngganti). Klien SSH lan server SSH kasedhiya kanggo umume sistem operasi. Meh kabeh protokol jaringan liyane bisa digunakake ing SSH, yaiku, sampeyan bisa kerja adoh ing komputer liyane, ngirim stream audio utawa video liwat saluran sing dienkripsi, lsp. Kajaba iku, liwat proxy SOCKS ing host remot sampeyan bisa nyambung menyang host liyane atas jenenge host remot iki.

Otentikasi dumadi nggunakake tembung sandhi, nanging pangembang lan administrator sistem biasane nggunakake tombol SSH. Masalahe yaiku kunci pribadhi bisa dicolong. Nambahake frasa sandhi kanthi teoritis nglindhungi saka nyolong kunci pribadi, nanging ing laku, nalika nerusake lan caching tombol, padha isih bisa digunakake tanpa konfirmasi. Otentikasi rong faktor ngatasi masalah iki.

Cara ngleksanakake otentikasi rong faktor

Pangembang saka Honeycomb bubar diterbitake instruksi rinci, carane ngleksanakake infrastruktur cocok ing klien lan server.

Instruksi nganggep yen sampeyan duwe host dhasar tartamtu sing mbukak menyang Internet (bastion). Sampeyan pengin nyambung menyang host iki saka laptop utawa komputer liwat Internet, lan ngakses kabeh piranti liyane sing ana ing mburi. 2FA mesthekake yen panyerang ora bisa nindakake perkara sing padha sanajan entuk akses menyang laptop, contone kanthi nginstal malware.

Pilihan pisanan yaiku OTP

OTP - sandhi digital siji-wektu, sing ing kasus iki bakal digunakake kanggo otentikasi SSH bebarengan karo tombol. Pangembang nulis manawa iki dudu pilihan sing cocog, amarga panyerang bisa ngunggahake bastion palsu, nyegat OTP sampeyan lan nggunakake. Nanging luwih becik tinimbang ora ana.

Ing kasus iki, ing sisih server, baris ing ngisor iki ditulis ing konfigurasi Chef:

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

Sembarang aplikasi OTP diinstal ing sisih klien: Google Authenticator, Authy, Duo, Lastpass, diinstal brew install oath-toolkit utawa apt install oathtool openssl, banjur acak base16 string (kunci) kui. Iki diowahi dadi format Base32 sing digunakake dening otentikasi seluler lan diimpor langsung menyang aplikasi kasebut.

AkibatΓ©, sampeyan bisa nyambung menyang Bastion lan ndeleng manawa saiki mbutuhake ora mung tembung sandhi, nanging uga kode OTP kanggo otentikasi:

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

Opsi kapindho yaiku otentikasi hardware

Ing kasus iki, pangguna ora perlu ngetik kode OTP saben wektu, amarga faktor kapindho dadi piranti hardware utawa biometrik.

Kene konfigurasi Chef sethitik liyane rumit, lan konfigurasi klien gumantung ing OS. Nanging sawise ngrampungake kabeh langkah, klien ing MacOS bisa konfirmasi otentikasi ing SSH nggunakake tembung sandhi lan nyelehake driji ing sensor (faktor kapindho).

Pamilik iOS lan Android konfirmasi mlebu kanthi mencet tombol siji ing smartphone sampeyan. Iki minangka teknologi khusus saka Krypt.co, sing luwih aman tinimbang OTP.

Ing Linux / ChromeOS ana pilihan kanggo nggarap token USB YubiKey. Mesthi, panyerang bisa nyolong token sampeyan, nanging dheweke isih ora ngerti tembung sandhi kasebut.

Source: www.habr.com

Add a comment