Kako koristiti dvofaktorsku provjeru autentičnosti s Ubuntuom


Tijekom vremena, tradicionalna provjera autentičnosti korisničkog imena i lozinke pokazala se neprikladnom u pružanju snažne sigurnosti aplikacijama i sustavima. Korisnička imena i lozinke mogu se lako probiti korištenjem mnoštva alata za hakiranje, ostavljajući vaš sustav ranjivim na provale. Iz tog razloga, svaka tvrtka ili entitet koji ozbiljno shvaća sigurnost mora implementirati 2-faktorsku autentifikaciju.

Kolokvijalno poznata kao MFA (Multi-Factor Authentication), 2-Factor Authentication pruža dodatni sloj sigurnosti koji zahtijeva od korisnika pružanje određenih pojedinosti kao što su kodovi ili OTP (One Time Password) prije ili nakon autentifikacije s uobičajenim korisničkim imenom i lozinkom.

Danas brojne tvrtke kao što su Google, Facebook, Twitter i AWS, da spomenemo neke, korisnicima pružaju izbor postavljanja MFA za dodatnu zaštitu svojih računa.

U ovom vodiču pokazujemo kako možete koristiti dvofaktorsku provjeru autentičnosti s Ubuntu.

Korak 1: Instalirajte Googleov PAM paket

Najprije instalirajte paket Google PAM. PAM, skraćenica za Pluggable Authentication Module, mehanizam je koji pruža dodatni sloj provjere autentičnosti na Linux platformi.

Paket se nalazi na Ubuntu repozitoriju, pa nastavite i koristite naredbu apt da ga instalirate na sljedeći način:

sudo apt install libpam-google-authenticator

Kada se to od vas zatraži, pritisnite 'Y' i pritisnite ENTER za nastavak instalacije.

Korak 2: Instalirajte aplikaciju Google Authenticator na svoj pametni telefon

Osim toga, trebate instalirati aplikaciju Google Authenticator na svoj tablet ili pametni telefon. Aplikacija će vam predstaviti 6-znamenkasti OTP kod koji se automatski obnavlja svakih 30 sekundi.

Korak 3: Konfigurirajte Google PAM u Ubuntuu

S aplikacijom Google Authenticator nastavit ćemo i konfigurirati Google PAM paket na Ubuntu modificiranjem /etc/pam.d/common-auth< datoteku kao što je prikazano.

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

Dodajte donji redak u datoteku kako je naznačeno.

auth required pam_google_authenticator.so

Spremite datoteku i izađite.

Sada pokrenite naredbu u nastavku da biste pokrenuli PAM.

google-authenticator

Ovo će izazvati nekoliko pitanja na zaslonu vašeg terminala. Prvo ćete biti upitani želite li da se tokeni za provjeru autentičnosti temelje na vremenu.

Tokeni za vremensku provjeru autentičnosti ističu nakon određenog vremena. Prema zadanim postavkama, to je nakon 30 sekundi, nakon čega se generira novi skup tokena. Ovi se tokeni smatraju sigurnijima od tokena koji se ne temelje na vremenu i stoga upišite 'y' za da i pritisnite ENTER.

Zatim će se na terminalu prikazati QR kod kao što je prikazano ispod, a odmah ispod njega bit će prikazane neke informacije. Prikazane informacije uključuju:

  • Tajni ključ
  • Kontrolni kod
  • Kodovi za hitne slučajeve

Morate spremiti ove informacije u trezor za buduću upotrebu. Hitni kodovi za struganje izuzetno su korisni u slučaju da izgubite uređaj za autentifikaciju. Ako se nešto dogodi vašem uređaju za autentifikaciju, upotrijebite kodove.

Pokrenite aplikaciju Google Authenticator na svom pametnom uređaju i odaberite 'Skeniraj QR kod' za skeniranje prikazanog QR koda.

NAPOMENA: Morate maksimalno povećati prozor terminala kako biste skenirali cijeli QR kod. Nakon skeniranja QR koda, šesteroznamenkasti OTP koji se mijenja svakih 30 sekundi bit će prikazan u aplikaciji.

Nakon toga odaberite 'y' za ažuriranje datoteke Google autentifikatora u vašoj početnoj mapi.

U sljedećem upitu ograničite prijavu na samo jednu prijavu svakih 30 sekundi kako biste spriječili napade koji bi mogli nastati zbog napada čovjeka u sredini. Dakle, odaberite 'y'

U sljedećem odzivniku odaberite 'n' da biste onemogućili produženje vremenskog trajanja koje rješava vremenski nesklad između poslužitelja i klijenta. Ovo je sigurnija opcija osim ako imate problema s lošom sinkronizacijom vremena.

I na kraju, omogućite ograničenje brzine na samo 3 pokušaja prijave.

U ovom smo trenutku završili implementaciju značajke 2-faktorske autentifikacije. Zapravo, ako pokrenete bilo koju naredbu sudo, od vas će se tražiti kontrolni kod koji možete dobiti iz aplikacije Google Authenticator.

To možete dodatno provjeriti ponovnim pokretanjem i kada dođete do ekrana za prijavu, od vas će se tražiti da date svoj kontrolni kod.

Nakon što unesete svoj kôd iz aplikacije Google Autentifikator, samo unesite svoju zaporku za pristup svom sustavu.

Korak 4: Integrirajte SSH s Google Autentifikatorom

Ako namjeravate koristiti SSH s Google PAM modulom, trebate integrirati to dvoje. Postoje dva načina na koje to možete postići.

Za provjeru autentičnosti SSH lozinke

Da biste omogućili SSH provjeru autentičnosti lozinke za običnog korisnika, prvo otvorite zadanu SSH konfiguracijsku datoteku.

sudo vim /etc/ssh/sshd_config

I postavite sljedeće atribute na 'yes' kao što je prikazano

Za root korisnika postavite atribut ‘PermitRootLogin’ na 'yes'.

PermitRootLogin yes

Spremite datoteku i izađite.

Zatim promijenite pravilo PAM za SSH

sudo vim /etc/pam.d/sshd

Zatim dodajte sljedeći redak

auth   required   pam_google_authenticator.so

Na kraju, ponovno pokrenite uslugu SSH kako bi promjene stupile na snagu.

sudo systemctl restart ssh

U donjem primjeru prijavljujemo se na sustav Ubuntu iz Putty klijenta.

Za SSH provjeru autentičnosti s javnim ključem

Ako koristite provjeru autentičnosti javnim ključem, ponovite gornje korake i dodajte liniju prikazanu na dnu datoteke /etc/ssh/sshd_config.

AuthenticationMethods publickey,keyboard-interactive

Još jednom uredite PAM pravilo za SSH demon.

sudo vim /etc/pam.d/sshd

Zatim dodajte sljedeći redak.

auth   required   pam_google_authenticator.so

Spremite datoteku i ponovno pokrenite SSH uslugu kao što smo vidjeli ranije.

sudo systemctl restart ssh

Onemogućite dvofaktorsku provjeru autentičnosti u Ubuntuu

U slučaju da izgubite uređaj za autentifikaciju ili tajni ključ, nemojte poludjeti. Možete jednostavno onemogućiti 2FA sloj provjere autentičnosti i vratiti se na svoju jednostavnu metodu prijave korisničkim imenom/lozinkom.

Prvo ponovno pokrenite sustav i pritisnite 'e' na prvom GRUB unosu.

Pomaknite se i pronađite redak koji počinje s linux i završava s tihim splash $vt_handoff. Dodajte redak systemd.unit=rescue.target i pritisnite ctrl+x za ulazak u način spašavanja

Nakon što dobijete ljusku, unesite root lozinku i pritisnite ENTER.

Zatim nastavite i izbrišite datoteku .google-authenticator u svom matičnom direktoriju kako slijedi. Obavezno zamijenite korisničko ime svojim korisničkim imenom.


rm /home/username/.google_authenticator

Zatim uredite datoteku /etc/pam.d/common-auth.


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

Komentirajte ili izbrišite sljedeći redak:


auth required pam_google_authenticator.so

Spremite datoteku i ponovno pokrenite sustav. Na zaslonu za prijavu od vas će se tražiti samo da unesete svoje korisničko ime i lozinku za provjeru autentičnosti.

I ovo nas dovodi do kraja ovog članka. Bit će nam drago čuti kako je prošlo.