Dufaktora aŭtentigo por SSH

"Sekura ŝelo" SSH estas retprotokolo por establi sekuran konekton inter gastigantoj, normale super haveno 22 (kiu estas pli bone ŝanĝi). SSH-klientoj kaj SSH-serviloj estas disponeblaj por plej multaj operaciumoj. Preskaŭ ajna alia reta protokolo funkcias ene de SSH, tio estas, vi povas labori malproksime en alia komputilo, transdoni sonan aŭ videofluon per ĉifrita kanalo, ktp. Cetere, per SOCKS-prokurilo sur fora gastiganto vi povas konektiĝi al aliaj gastigantoj nome de ĉi tiu fora gastiganto.

Aŭtentikigo okazas per pasvorto, sed programistoj kaj sistemadministrantoj tradicie uzas SSH-ŝlosilojn. La problemo estas, ke la privata ŝlosilo povas esti ŝtelita. Aldoni pasfrazon teorie protektas kontraŭ ŝtelo de la privata ŝlosilo, sed praktike, dum plusendado kaj konservado de ŝlosiloj, ili ankoraŭ povas esti uzata sen konfirmo. Dufaktora aŭtentigo solvas ĉi tiun problemon.

Kiel efektivigi dufaktoran aŭtentikigon

Programistoj de Honeycomb ĵus publikigis detalaj instrukcioj, kiel efektivigi la taŭgan infrastrukturon sur la kliento kaj servilo.

La instrukcioj supozas, ke vi havas certan bazan gastiganton malfermitan al Interreto (bastiono). Vi volas konektiĝi al ĉi tiu gastiganto de tekkomputiloj aŭ komputiloj per la Interreto, kaj aliri ĉiujn aliajn aparatojn, kiuj troviĝas malantaŭ ĝi. 2FA certigas, ke atakanto ne povas fari la samon eĉ se ili akiras aliron al via tekkomputilo, ekzemple instalante malware.

La unua opcio estas OTP

OTP - unufojaj ciferecaj pasvortoj, kiuj ĉi-kaze estos uzataj por SSH-aŭtentigo kune kun la ŝlosilo. La programistoj skribas, ke ĉi tio ne estas ideala opcio, ĉar atakanto povus levi falsan bastionon, kapti vian OTP kaj uzi ĝin. Sed estas pli bone ol nenio.

En ĉi tiu kazo, ĉe la servilo, la sekvaj linioj estas skribitaj en la agordon de Chef:

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

Ajna OTP-apliko estas instalita ĉe la klienta flanko: Google Authenticator, Authy, Duo, Lastpass, instalita brew install oath-toolkitapt install oathtool openssl, tiam hazarda baz16-ĉeno (ŝlosilo) estas generita. Ĝi estas konvertita al la formato Base32, kiun poŝtelefonaj aŭtentikiloj uzas kaj importitaj rekte en la aplikaĵon.

Kiel rezulto, vi povas konektiĝi al Bastion kaj vidi, ke ĝi nun postulas ne nur pasfrazon, sed ankaŭ OTP-kodon por aŭtentigo:

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

La dua opcio estas aparatara aŭtentigo

En ĉi tiu kazo, la uzanto ne devas enigi la OTP-kodon ĉiufoje, ĉar la dua faktoro fariĝas la aparataro aŭ biometriko.

Ĉi tie la agordo de Chef estas iom pli komplika, kaj la klienta agordo dependas de la OS. Sed post plenumi ĉiujn paŝojn, klientoj sur MacOS povas konfirmi aŭtentigon en SSH uzante pasfrazon kaj metante fingron sur la sensilon (dua faktoro).

Posedantoj de iOS kaj Android konfirmas ensaluti premante unu butonon sur via inteligenta telefono. Ĉi tio estas speciala teknologio de Krypt.co, kiu estas eĉ pli sekura ol OTP.

En Linukso/ChromeOS ekzistas eblo labori kun YubiKey USB-ĵetonoj. Kompreneble, atakanto povas ŝteli vian ĵetonon, sed li ankoraŭ ne konas la pasfrazon.

fonto: www.habr.com

Aldoni komenton