Dvofaktorska autentifikacija SSH servera na Ubuntu Linux
Dvofaktorska autentifikacija (2FA) SSH servera na linux-u je važna jer značajno povećava sigurnost pristupa serverima. Tradicionalna SSH autentifikacija često koristi samo lozinke ili ključeve, što može biti ranjivo na napade kao što su brute-force napadi ili krađa lozinke.
Zašto je važna 2FA na SSH?
- Smanjena ranjivost pri krađi lozinke: Ako neko uspe da dođe do vaše lozinke, 2FA dodaje dodatni sloj sigurnosti, jer je potrebna dodatna potvrda za ulazak na server, obično mobilni telefon ili drugi uređaj na kome je podešena 2FA.
- Smanjenje rizika od napada: Kombinacija nečega što znate (lozinka) i nečega što imate dodatno (npr. generisani kod na mobilnom telefonu) čini napade mnogo težim.
- Zaštita poverljivih podataka: Serveri na linux-u često sadrže osetljive podatke ili kritične servise bilo to server za lične potrebe ili server velike kompanije. 2FA pomaže u zaštiti tih podataka i servisa.
Kako 2FA funkcioniše na linux-u putem SSH?
Dvofaktorska autentifikacija se obično implementira pomoću aplikacija kao što su Google Authenticator ili Authy. Proces uključuje:
- Instalaciju aplikacije: Postavljanje 2FA aplikacije na vašem mobilnom telefonu.
- Konfiguraciju servera: Instaliranje potrebnih paketa na serveru i konfiguracija SSH da zahteva 2FA kod.
- Generisanje tajnog ključa: Prilikom uključivanja 2FA dobijate jedinstveni tajni ključ koji se koristi za generisanje vremenski ograničenih kodova.
- Unos 2FA koda: Prilikom prijave, osim lozinke, unosite i 2FA kod koji se generiše na vašem telefonu.
Implementacija 2FA za SSH pristup na linux-u znatno podiže nivo sigurnosti i preporučuje se svima koji žele dodatno osigurati pristup svojim serverima.
Kako instalirati 2FA
Za početak je potrebno da pristupite serveru, te da pokrenete komandu za instalaciju samog 2FA sistema. Mi ćemo u ovom primeru koristiti Google Authenticator za podešavanje 2FA.
apt install libpam-google-authenticator
Upisujemo „y“ i nastavljamo dalje. Kada se ovaj paket instalirao uspešno, nastavljate dalje sa podešavanjem. Sada je potrebno da izmenite određeni konfiguracioni fajl na serveru, kako bi uopšte postojala mogućnost da 2FA funkcioniše. Za tu potrebu prvo otvorite konfiguracioni fajl sledećom komandom:
nano /etc/pam.d/sshd
Nakon toga, potrebno je da na dnu upišete:
auth required pam_google_authenticator.so
Da biste sačuvali, potrebno je da pritisnete CTRL+X, zatim „y“ i dugme Enter za potvrdu.
Nakon toga je potrebno da uradite određene izmene u konfiguracionom fajlu SSH servera. Da biste pristupili konfiguracionom fajlu SSH servera, pokrenite sledeću komandu:
nano /etc/ssh/sshd_config
Zatim pronađite ChallengeResponseAuthentication i umesto „no“, upišite „yes“.
Na isti način je potrebno da sačuvate izmene, pritiskom na CTRL+X, zatim na „y“ i Enter.
Da biste potvrdili unete izmene, potrebno je i da restartujete SSH servis:
service sshd restart
Ako je sve u redu i npr niste greškom uneli neki dodatan karakter koji bi mogao da stvori problem, nakon restarta dobijate povratni odgovor tako što će se stvoriti novi red u terminalu.
Podešavanje 2FA
Nakon potrebnih izmena možete pristupiti i samom podešavanju 2FA. Za to je potrebno da pokrenete sledeću komandu u terminalu:
google-authenticator
Na pitanje, da li želite da tokeni budu vremenski ograničeni, odgovarite sa y i nakon toga će biti kreiran QR kod koji je potrebno da se skenira u već instaliranoj Google Authenticator aplikaciji na telefonu.
Takođe na sva ostala pitanja odgovarite sa „y“. Kako su neka od njih sigurnosne prirode, svakako je poželjno da te stvari koje su pomenute upravo tako funkcionišu kako je objašnjeno.
- Prvo pitanje se odnosi na to da li želite da se datoteka na putanji ažurira novim sadržajem – odgovarate sa „y“.
- Drugo pitanje se odnosi na to da li želite da dozvolite da se isti autentifikacioni token koristi na više mesta, na primer skeniranje istog QR koda za dodavanje na više uređaja. Kako podešavate sigurnost, ovo preporučujemo da onemogućite odgovorom „y“.
- Treće pitanje nam govori da se u aplikaciji novi token za pristup kreira na svakih 30 sekundi, te nam dozvoljava da nakon isteka 30 sekunde upišemo kod koji je bio, upravo zbog mogućeg kašnjena servera i aplikacije, da li zapravo vide isti kod.
- Četvrto pitanje se odnosi na to, da li ovaj uređaj, u vašem slučaju server podleže hakerskim napadima, na primer kao što je brute force i da li želite da potvrdite ograničenje koje ne dozvoljava da se uđe na server sa pogrešnim tokenom više od 3 puta u 30 sekundi (y).
Sada kada ste skenirali vaš QR kod, možete probati da uđete na server, ali ovaj put sa već aktiviranom 2FA SSH zaštitom.
Kao što možete videti, nakon upisivanja lozinke, pojavljuje se još jedno polje u koje je potrebno da upišete kod iz Google Authenticator aplikacije na telefonu. Nakon upisa koda, pritiskom Enter uspešno ulazite na server.






