Kako sigurno upravljati nalozima i lozinkama
Nažalost, veoma često se neoprezno rukuje sa nalozima i lozinkama za pristup različitim sistemima, pa zbog toga želim da kroz ovaj članak skrenem pažnju na to. Ono što je još gore je to što korisnici ne koriste lozinke na pravi način, ali ni sistem administratori ne rade baš sve kako treba.
Nažalost, veoma često se neoprezno rukuje sa nalozima i lozinkama za pristup različitim sistemima, pa zbog toga želim da kroz ovaj članak skrenem pažnju na to. Ono što je još gore je to što korisnici ne koriste lozinke na pravi način, ali ni sistem administratori ne rade baš sve kako treba.
O korisničkim nalozima
Posebno treba obratiti pažnju na nekoliko stvari vezano za upravljanje korisničkim nalozima, a naravno direktno u vezi sa tim i korisničkim lozinkama. Prva stvar jeste da je potrebno raditi obavezno sa grupama, a ne sa pojedinačnim korisnicima, jer na taj način se određena prava dodeljuju ili oduzimaju grupi i svim njenim članovima. Druga stvar jeste neprestano praćenje korisničkih naloga što podrazumeva logovanje svih aktivnosti korisnika na sistemu. Treća stvar jesu neaktivni nalozi koji postoje na sistemu i na njih treba posebno obratiti pažnju, jer ih hakeri mogu reaktivirati na različite načine. Neko se može zapitati zašto ne brisati nepotrebne naloge već ih sam privremeno deaktivirati (eng. deactivate). Odgovor na ovo pitanje je direktno vezan za stavku koju sam već ranije pomenuo, a tiče se logovanja aktivnosti naloga. Ukoliko se nalog obriše sa sistema brišu se i svi prateći podaci, dok u slučaju deaktivacije sve je i dalje tu sem što korisnik više ne može da pristupi sistemu. Poslednja, ali možda i najbitnija stvar jesu takozvani zajednički nalozi (eng. shared accounts) koje više ljudi zna i koristi se za pristup nekim resursima. Na primer, kupi se samo jedna licenca nekog programa, a onda se više ljudi loguje preko istog korisničkog imena i lozinke po potrebi. Preporuka stručnjaka jeste da ovakve naloge skoro nikada ne koristiti, osim u slučajevima kada drugačije nije moguće.
Šta možemo uraditi da bi kroz upravljanje nalozima otežali ili sprečili otkrivanje lozinke?
Prvo što možemo uraditi jeste voditi računa o minimalnoj kompleksnosti lozinke (eng. password strength). Kada pričamo o kompleksnim lozinkama mislimo na elemente koje mora da sadrži (mala slova, velika slova, brojeve i specijalne simbole).
Druga stvar koju možemo podesiti jeste isticanje (eng. expiration) korisničkog naloga ili lozinke. Ovo može biti korisno jer korisnik mora da periodično promeni svoju lozinku ili da ponovo aktivira nalog i postavi novu lozinku u zavisnosti od polise.
Treća stvar jeste podešavanje koliko se puta ne može ponovo postaviti ista lozinka (eng. Password history/reuse). Ovo je korisno ako korisnici ponavljaju svoje lozinke. Na ovaj način to će biti onemogućeno i samim tim biće otežan rad hakera na otkrivanje šifre.
Još jedna od mera koja je u direktnoj vezi sa prvom jeste minimalna dužina lozinke (eng. password length). Ovo podešavanje zavisi od tipa naloga i danas je standard da se za obične naloge koristi minimum dužina 8 karaktera, a za admin i privilegovane naloge minimum 12 karaktera.
Mera koja sprečava online napade efikasno poznata je kao Lockout, a radi se o tome da se posle nekoliko pogrešno unetih lozinki zaključa korisnički nalog na određeni vremenski period. Ovo drastično otežava, odnosno onemogućava online napad grubom silom. Microsoft Windows operativni sistem ima podešeno da se na 5 pokušaja nalog zaključa 3-5 minuta i ovo se može menjati po potrebi.
Ono o čemu još treba povesti računa jeste proces oporavka lozinke u slučaju da je zaboravljena (eng. recovery). Da li je taj proces automatizovan preko nekog portala ili se to radi tako što se pozove odgovorno lice koje će to uraditi direktno na sistemu. U oba slučaja postoje opasnosti, jer u slučaju automatskog sistema neko može pokušati da promeni šifru postojećeg korisnika, a u slučaju da to nije sistem već čovek mogu se koristiti tehnike socijalnog inženjeringa kako bi se taj čovek prevario i promenio lozinku.
Gde se nalaze lozinke i u kom su obliku?
Prvo što je izuzetno važno istaći jeste da se lozinke ne čuvaju nikada u čistom tekstu, već kao heš vrednosti (eng. hash values) gde se uglavnom koriste neki od popularnih algoritama (MD5 i različite varijante SHA-1 algoritma). U ovom slučaju čak i da neko dođe u posed heš vrednostima neće moći lako da dođe do same lozinke.
Ako gledamo Microsoft Windows operativni sistem postoje dva mesta gde se mogu naći heš vrednosti lozinki. Na svakom računaru sa Microsoft Windows operativnim sistemom se nalazi takozvani SAM fajl gde se nalaze lokalni korisnici, ali i korisnici koji su se preko domena logovali na računar. Ovo je veoma opasno jer se možda neki od privilegovanih korisnika logovao na sistem i ostavio svoje podatke u SAM bazu. Sa druge strane, ako se koristi opcija run as administrator koja postoji na sistemu tada se uneseni podaci neće ubeležiti u SAM bazu. Što se tiče samog fajla on se nalazi u Windows/System32/Config folderu. Drugo mesto na kome se mogu naći heš vrednosti lozinki jeste AD server i u njemu fajl pod nazivom ntds.dit koji je mnogo teži za rad od SAM fajla, a teže je doći do njega jer se nalazi na samom AD serveru.
Kod operativnog sistema Linux stvari su sasvim drugačije i heš vrednosti lozinki se uvek nalaze u jednom od sledeća dva foldera etc/passwd i etc/shadow. Odavde ih možete iskopirati na neki eksterni disk i onda ih kasnije razbijati offline tipom napada.
Kako se hakuje lozinka?
Prva stvar jeste da je potrebno ovaj proces razdvojiti u odnosu na to da li imamo pristup samom sistemu (online) ili smo uspeli da iskopiramo fajl sa heš vrednostima lozinki i da ih onda u lokalu obrađujemo (offline). Druga opcija je mnogo bolja jer na napadača ne utiče Lockout nalog koji može biti podešen ili brzina samog linka i servera odnosno krajnjeg računara.
Sledeće metode se mogu koristiti za otkrivanje lozinke:
- Pogađanje, shoulder surfing na osnovu podataka koje znamo o korisniku (datum rođenja, ime članova porodice, ime kućnog ljubimca, automobil koji vozi i slično) ili tako što pratimo šta radi na računaru i možda uspemo da uhvatimo i lozinku koju unosi na tastaturi;
- Sniffing (ovo je tehnika koja se može koristiti samo ako je lozinka u čistom (eng. clear) tekstu u suprotnom ćemo uhvatiti podatke koji nam neće biti od koristi);
- Dictionary (za ovu tehniku nam je potrebno da imamo dobar rečnik za različite jezike, što veći broj reči i sveobuhvatniji rečnik to su nam šanse veće, međutim ova metoda ne garantuje da će se otkriti lozinka jer ako se u lozinci ne nalazi smislena reč, neće biti moguće naći odgovarajuću vrednost);
- Brute force je tehnika grube sile i izuzetno je zahtevna vremenski jer je potrebno ispitati sve moguće vrednosti kombinacija karaktera za određenu dužinu lozinke, sigurno je da će u jednom momentu biti otkrivena lozinka ovom metodom međutim, to može da bude i posle nekoliko stotina godina.
Saveti za kraj
Nikada ne koristiti istu lozinku na više različitih mesta, jer ako neko uspe da otkrije na jednom mestu sigurno će pokušati da isproba istu lozinku na drugom mestu.
Nikada ne zapisivati lozinku na papiru i onda ostaviti ispod tastature ili još gore zalepiti na monitor računara gde svako može da je vidi (ako već zapisujete čuvajte kod sebe u novčaniku ili negde gde pod ključem).
Nikada prilikom kreiranja lozinke ne unositi smislene reči zbog napada rečnikom koji će u tom slučaju biti efikasan.
Uvek koristiti kompleksnu lozinku sa svim elementima i dužinom nikada manjom od 8 karaktera.
Nikada ne unositi svoju lozinku na stranici koja nema sertifikat (to možete videti kroz zeleni katanac sa leve strane u Internet pretraživaču u suprotnom ne unositi podatke).
Nikada i nikom ne slati putem elektronske pošte ili otkrivati putem telefona svoju lozinku jer neko može prisluškivati mrežu ili telefonsku liniju i na taj način doći do lozinke. Takođe, moguće je i da se neko posluži tehnikama socijalnog inženjeringa i pokuša da se predstavi kao neko drugi.
Koristiti program za upravljanje lozinkama – Password manager o kom je već bilo reči u jednom od prethodnih članaka (zanimljivo je da je po nekim istraživanjima prosečan korisnik ovakvih programa imao 91 zabeleženu lozinku).
Nadam se da sam ovim člankom bar malo uspeo da skrenem pažnju na problem koji je izuzetno izražen i koji je mnoge kompanije dosta koštao. Ako se bar malo zamislite oko ove teme mislim da sam postigao svoj cilj.