Autentifikimi me dy faktorë për SSH

«Shell-i i sigurt» SSH është një protokoll rrjeti për të krijuar një lidhje të sigurt midis hosteve, zakonisht mbi portin 22 (të cilin është më mirë ta ndryshoni). Klientët SSH dhe serverët SSH janë në dispozicion për shumicën e sistemeve operative. Brenda SSH funksionon pothuajse çdo protokoll tjetër rrjeti, pra mund të punoni në distancë në një kompjuter tjetër, të transmetoni një kanal audio ose video nëpërmjet një kanali të enkriptuar, etj. Për më tepër, nëpërmjet SOCKS-proxies në hostin e largët mund të lidheni me hoste të tjera tashmë në emër të këtij hosti të largët.

Autentifikimi bëhet përmes fjalëkalimit, por zhvilluesit dhe administratorët e sistemeve tradicionalisht përdorin çelësat 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ërforwardimit dhe keƥimit të çelësave ata ende mund të përdoren pa konfirmim. Autentifikimi me dy faktorë zgjidh këtë problem.

Si të implementoni autentikimin me dy faktorë

Zhvilluesit nga kompania Honeycomb së fundmi publikuan një udhëzues të detajuar, si si realizoni infrastrukturën përkatëse në klient dhe server.

Udhëzimi parashikon që të keni një host bazik, të hapur në internet (bastion). Ju dëshironi të lidheni me këtë host nga laptopët ose kompjuterët 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 merr akses në laptopin tuaj, për shembull, duke instaluar malware.

MundĂ«sia e parĂ« — OTP

OTP — janĂ« fjalĂ«kalime digjitale njĂ«pĂ«rdorimshme, tĂ« cilat nĂ« kĂ«tĂ« rast do tĂ« pĂ«rdoren pĂ«r autentifikimin SSH sĂ« bashku me çelĂ«sin. Zhvilluesit shkruajnĂ« se kjo nuk Ă«shtĂ« njĂ« zgjidhje ideale, sepse njĂ« sulmues mund tĂ« krijojĂ« njĂ« bastion fals, tĂ« kapĂ« OTP-nĂ« tuaj dhe ta pĂ«rdorĂ« atĂ«. Por kjo Ă«shtĂ« mĂ« mirĂ« se asgjĂ«.

Në këtë rast, në anën e serverit shkruhen rreshtat e mëposhtëm në konfigurimin Chef:

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

Në anën e klientit instalohet ndonjë aplikacion OTP: Google Authenticator, Authy, Duo, Lastpass, instalohet brew install oath-toolkit ose apt install oathtool openssl, pastaj gjenerohet një varg të rastësishëm base16 (çelësi). Ai konvertohet në formatin Base32, që përdorin autentifikuesit mobilë, dhe importohet drejtpërdrejt në aplikacion.

Si rezultat, mund të lidheni me bastionin dhe të siguroheni që tani ai kërkon jo vetëm frazën e fjalës kaluese, por edhe kodin OTP për autentifikim:

➜ ssh -A bastion
Vendosni frazën e fjalës kaluese për çelësin '[snip]': 
Fjalë kalim një-herëshe (OATH) për '[user]': 
Mirësevini në Ubuntu 18.04.1 LTS...

MĂ«nyra e dytĂ« — autentifikimi harduerik

Në këtë rast, përdoruesi nuk kërkohet të fusë çdo herë kodin OTP, sepse faktori i dytë bëhet një pajisje harduerike ose biometri.

Këtu konfigurimi i Chef është pak më i komplikuar, dhe konfigurimi i klientëve varet nga sistemi operativ. Por, pas përfundimit të të gjitha veprimeve, klientët në MacOS mund të konfirmojnë autentifikimin në SSH përmes frazës së fjalës kaluese dhe duke e vendosur gishti në sensor (faktori i dytë).

Pronaret e iOS dhe Android konfirmojnë hyrjen me një prekje butoni në smartphone. Kjo është një teknologji speciale nga Krypt.co, që është edhe më e sigurt se OTP.

Në Linux/ChromeOS ka një variant për të punuar me token USB YubiKey. Sigurisht, një sulmues mund të vjedhë tokenin tuaj, por ai ende nuk e di frazën e fjalës kaluese.

Burimi: habr.com

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster