«Shell-i Sigurt» SSH është një protokoll rrjeti për krijimin e një lidhjeje të sigurt ndërmjet hosteve, standardisht përmes portit 22 (i cili është më mirë ta ndryshoni). Klientët SSH dhe serverët SSH janë të disponueshëm për shumicën e sistemeve operative. Brenda SSH funksionon praktikisht çdo protokoll tjetër rrjeti, pra mund të punoni në distancë në një kompjuter tjetër, të transferoni flukse audio ose video përmes një kanali të koduar, etj. Për më tepër, mund të lidheni me hoste të tjerë tashmë në emër të këtij hosti të largët.
Autentikimi ndodh përmes fjalëkalimit, por zhvilluesit dhe administratorët e sistemeve tradicionalisht aplikojnë çelësa SSH. Problemi është se çelësi sekret mund të vidhet. Shtimi i një fraze fjalëkalimi teorikisht mbron nga vjedhja e çelësit sekret, por në praktikë gjatë përparimit dhe ruajtjes së çelësave, ata . Autentikimi me dy faktorë e zgjidh këtë problem.
Si të implementoni autentikimin me dy faktorë
Zhvilluesit nga kompania Honeycomb së fundmi publikuan , se si të realizoni infrastrukturën përkatëse në klient dhe server.
Udhëzimi supozon se keni një host bazë, të hapur në internet (bastion). Ju dëshironi të lidheni me këtë host nga laptopë ose kompjuterë përmes internetit dhe të keni akses në të gjitha pajisjet e tjera që ndodhen pas tij. 2FA garanton që një sulmues të mos mund të bëjë të njëjtën gjë, edhe nëse fiton qasje në laptopin tuaj, për shembull, duke instaluar softuer keqdashës.
Opsioni i parĂ« â OTP
OTP â fjalĂ«kalime digjitale qĂ« pĂ«rdoren vetĂ«m njĂ« herĂ«, tĂ« cilat nĂ« kĂ«tĂ« rast do tĂ« pĂ«rdoren pĂ«r autentikimin SSH sĂ« bashku me çelĂ«sin. Zhvilluesit shkruajnĂ« se kjo nuk Ă«shtĂ« njĂ« zgjidhje ideale, sepse njĂ« sulmues mund tĂ« ngrijĂ« njĂ« bastion tĂ« rremĂ«, tĂ« kapĂ« OTP-nĂ« tuaj dhe ta pĂ«rdorĂ« atĂ«. Por kjo Ă«shtĂ« mĂ« mirĂ« se asgjĂ«.
Në këtë rast, anëtarët e serverit në konfigurimin Chef shkruhen këto rreshta:
metadata.rbattributes/default.rb(ngaattributes.rb)files/sshdrecipes/default.rb(kopje ngarecipe.rb)templates/default/users.oath.erb
Në anën e klientit, çdo aplikacion OTP instalohet: Google Authenticator, Authy, Duo, Lastpass, instalohet brew install oath-toolkit ose apt install oathtool openssl, pastaj krijohet një varg i rastësishëm base16 (çelësi). Ai konvertohet në formatin Base32, i cili përdoret nga autentikatorët mobilë, dhe importohet drejtpërdrejt në aplikacion.
Më në fund, mund të lidhni në bastion dhe të konstatoni se tani kërkon jo vetëm frazën e fjalës, por edhe kodin OTP për autentikim:
â ssh -A bastion
Jepni frazën e fjalës për çelësin '[snip]':
Fjalëkalimi i njëhershëm (OATH) për '[user]':
MirĂ« se vini nĂ« Ubuntu 18.04.1 LTS...Opsioni i dytĂ« â autentikimi harduerik
Në këtë rast, nga përdoruesi nuk kërkohet të futet çdo herë kodi OTP, pasi faktori i dytë bëhet një pajisje harduerike ose biometria.
Këtu konfigurimi i Chef është pak më i komplikuar, dhe konfigurimi i klientëve varet nga sistemi operativ. Megjithatë, pas përfundimit të të gjitha veprimeve, klientët në MacOS mund të konfirmojnë autentikimin në SSH përmes frazës së fjalës dhe aplikacionit të gjurmës në sensor (faktori i dytë).
Pronarët e iOS dhe Android konfirmojnë hyrjen . Kjo është një teknologji speciale nga Krypt.co, e cila është edhe më e sigurt se OTP.
Në Linux/ChromeOS ka një mundësi për të punuar me token USB YubiKey. Sigurisht, një sulmues mund ta vjedhë token-in tuaj, por ai nuk e di ende frazën e fjalës.
Burimi: habr.com
