Kako uporabljati dvofaktorsko overjanje z Ubuntujem


Tradicionalno preverjanje pristnosti uporabniškega imena in gesla se je sčasoma izkazalo za neustrezno pri zagotavljanju zanesljive varnosti aplikacij in sistemov. Uporabniška imena in gesla je mogoče zlahka razbiti z obilico vdiralnih orodij, tako da je vaš sistem ranljiv za kršitve. Iz tega razloga mora vsako podjetje ali subjekt, ki se varnosti resno loteva, izvesti dvofaktorsko overjanje.

Dvofaktorsko preverjanje pristnosti, imenovano MFA (Multi-Factor Authentication), zagotavlja dodatno stopnjo varnosti, ki zahteva, da uporabniki pred ali po preverjanju pristnosti z običajnim uporabniškim imenom in geslom navedejo nekatere podrobnosti, kot so kode ali OTP (enkratno geslo).

Danes več podjetij, kot so Google, Facebook, Twitter in AWS, omenimo le nekatera, ki uporabnikom omogočajo, da ustanovijo MZZ za nadaljnjo zaščito svojih računov.

V tem priročniku prikazujemo, kako lahko z Ubuntu uporabljate dvofaktorsko overjanje.

1. korak: Namestite Googlov paket PAM

Najprej namestite paket Google PAM. PAM, okrajšava za Pluggable Authentication Module, je mehanizem, ki zagotavlja dodatno plast overjanja na platformi Linux.

Paket gostuje v repozitoriju Ubuntu, zato nadaljujte in ga namestite z ukazom apt, kot sledi:

$ sudo apt install libpam-google-authenticator

Ob pozivu pritisnite Y in pritisnite ENTER, da nadaljujete z namestitvijo.

2. korak: v pametni telefon namestite aplikacijo Google Authenticator

Poleg tega morate v tablični računalnik ali pametni telefon namestiti aplikacijo Google Authenticator. Aplikacija vam bo predstavila 6-mestno kodo OTP, ki se samodejno obnovi vsakih 30 sekund.

3. korak: Konfigurirajte Google PAM v Ubuntuju

Z nameščeno aplikacijo Google Authenticator bomo nadaljevali in konfigurirali paket Google PAM v Ubuntuju tako, da bomo spremenili datoteko /etc/pam.d/common-auth, kot je prikazano.

$ sudo vim /etc/pam.d/common-auth

Spodnjo vrstico dodajte datoteki, kot je navedeno.

auth required pam_google_authenticator.so

Shranite datoteko in zapustite.

Zdaj zaženite spodnji ukaz, da inicializirate PAM.

$ google-authenticator

To bo sprožilo nekaj vprašanj na zaslonu terminala. Najprej vas bomo vprašali, ali želite, da žetoni za preverjanje pristnosti temeljijo na času.

Časovni žetoni za preverjanje pristnosti potečejo po določenem času. Privzeto je to po 30 sekundah, po katerem se ustvari nov nabor žetonov. Ti žetoni veljajo za bolj varne kot žetoni, ki ne temeljijo na času, zato vnesite y za yes in pritisnite ENTER.

Nato bo na terminalu prikazana QR koda, kot je prikazano spodaj in tik pod njo, nekaj informacij. Prikazani podatki vključujejo:

  • Skrivni ključ
  • Potrditvena koda
  • Kode za nujne praske

Te podatke morate shraniti v trezor za poznejšo uporabo. Kode za nujne praske so izjemno koristne, če izgubite svojo napravo za preverjanje pristnosti. Če se kaj zgodi z vašo napravo za preverjanje pristnosti, uporabite kode.

Na pametni napravi zaženite aplikacijo Google Authenticator in izberite »Optično branje kode QR«, da skenirate predstavljeno kodo QR.

OPOMBA: Če želite skenirati celotno kodo QR, morate maksimirati okno terminala. Ko je QR koda optično prebrana, bo v aplikaciji prikazan šestmestni OTP, ki se spreminja vsakih 30 sekund.

Nato izberite y , da posodobite datoteko Google Authenticator v domači mapi.

V naslednjem pozivu omejite prijavo na samo eno prijavo vsakih 30 sekund, da preprečite napade, ki bi se lahko pojavili zaradi napadov človeka v sredini. Torej izberite y

V naslednjem pozivu izberite n , da onemogočite podaljšanje časovnega trajanja, ki naslavlja časovno neenakomernost med strežnikom in odjemalcem. To je varnejša možnost, razen če imate težave s slabo časovno sinhronizacijo.

In končno, omogočite omejevanje hitrosti na samo 3 poskuse prijave.

Na tej točki smo zaključili z uvajanjem dvofaktorske funkcije preverjanja pristnosti. Če zaženete kateri koli ukaz sudo, boste pozvani k verifikacijski kodi, ki jo lahko dobite v aplikaciji Google Authenticator.

To lahko nadalje preverite z vnovičnim zagonom in ko pridete na zaslon za prijavo, boste morali vnesti svojo potrditveno kodo.

Ko v aplikacijo Google Authenticator vnesete kodo, vnesite geslo za dostop do sistema.

4. korak: Vključite SSH v Google Authenticator

Če nameravate uporabljati SSH z modulom Google PAM, jih morate integrirati. To lahko dosežete na dva načina.

Če želite omogočiti overjanje gesla SSH za običajnega uporabnika, najprej odprite privzeto konfiguracijsko datoteko SSH.

$ sudo vim /etc/ssh/sshd_config

In nastavite naslednje atribute na "da", kot je prikazano

Za korenskega uporabnika nastavite atribut ‘PermitRootLogin’ na yes .

PermitRootLogin yes

Shranite datoteko in zapustite.

Nato spremenite pravilo PAM za SSH

$ sudo vim /etc/pam.d/sshd

Nato dodajte naslednjo vrstico

auth   required   pam_google_authenticator.so

Na koncu ponovno zaženite storitev SSH, da začnejo spremembe veljati.

$ sudo systemctl restart ssh

V spodnjem primeru se v sistem Ubuntu prijavimo iz odjemalca Putty.

Če uporabljate preverjanje pristnosti z javnim ključem, ponovite zgornje korake in dodajte vrstico, prikazano na dnu datoteke/etc/ssh/sshd_config.

AuthenticationMethods publickey,keyboard-interactive

Še enkrat uredite pravilo PAM za demon SSH.

$ sudo vim /etc/pam.d/sshd

Nato dodajte naslednjo vrstico.

auth   required   pam_google_authenticator.so

Shranite datoteko in znova zaženite storitev SSH, kot smo videli že prej.

$ sudo systemctl restart ssh

Onemogočite preverjanje pristnosti v Ubuntuju

V primeru, da izgubite napravo za preverjanje pristnosti ali skrivni ključ, se ne zmešajte. Preprosto plast preverjanja pristnosti 2FA lahko enostavno onemogočite in se vrnete na preprosto metodo prijave z uporabniškim imenom/geslom.

Najprej znova zaženite sistem in pritisnite e na prvem vnosu GRUB.

Pomaknite se in poiščite vrstico, ki se začne z Linuxom in konča s tihim pljuskom $vt_handoff. Dodajte vrstico systemd.unit = rescue.target in pritisnite ctrl+x, da vstopite v način reševanja

Ko pridobite lupino, vnesite korensko geslo in pritisnite ENTER.

Nato nadaljujte in izbrišite datoteko .google-authentator v domačem imeniku, kot sledi. Uporabniško ime zamenjajte s svojim uporabniškim imenom.

# rm /home/username/.google_authenticator

Nato uredite datoteko /etc/pam.d/common-auth.

# $ vim /etc/pam.d/common-auth

Komentirajte ali izbrišite naslednjo vrstico:

auth required pam_google_authenticator.so

Shranite datoteko in znova zaženite sistem. Na prijavnem zaslonu boste morali vnesti samo svoje uporabniško ime in geslo za preverjanje pristnosti.

In to nas pripelje do konca tega članka. Veseli bomo, ko bo šlo.