Svaki web sajt barata nekim password-ima, ako ne drugim, a ono password-ima administratora. Može biti vrlo nelagodno da oni dospeju u neželjene ruke, te ih treba maksimalno zaštiti. O čemu sve treba voditi računa?
Plain (ne konvertovane) pasword-e ne treba držati u bazi! U svojoj karijeri susretao sam se sa slučajevima da se password-i e-commerce sajtova čuvaju nezaštićeni u bazi! Isto je važilo i za informacije o kreditnim karticama korisnika!! Neoprostivo! To se zove prizivanje nesreće.
Password-i se uglavnom enkodiraju MD5 algoritmom. Ovaj algoritam je jednostran, što znači da se od enkodiranog stringa ne može dobiti original. Kada bi haker kojim slučajem došao do sadržaja baze on ipak ne bi mogao da sazna password-e korisnika, a samim tim ni da se uloguje na sistem kao neko od njih.
Primeniti MD5 algoritam podiže nivo bezbednosti, međutim ni to nije dovoljno! Vrlo često se dešava da administratori koriste vrlo "slabe" ili često korišćene password-e (najčešće korišćeni password je svakako reč "admin"). Na netu postoje baze password-a i njihove MD5 verzije, pa ako se md5 verzija Vašeg password-a nalazi u nekoj od tih baza hakeru neće biti problem da dobije originalni password.
Čak i da ni jedna baza ne sadrži Vaš password, ako se on sastoji samo iz 3-4 slova, biće relativno lako pronaći ga.
Rešenje je pojačati password. Pre MD5 konverzije dodati mu string koji se sastoji iz vrlo širokog skupa znakova (npr. "e$f*(@%6&/") pa će dekriptovanje takvog MD5 hash-a biti praktično nemoguće.
Postoji mogućnost da neko nasluti šta bi password mogao biti (npr. praćenjem unosa) pa da pokuša da password reprodukuje. Da bi se to osujetilo uvodi se tzv. lockout. Posle nekoliko uzastopnih promašaja password-a pri logovanju nalog se zaključava.
I na kraju, radi korišćenja što jačeg password-a moguće je zahtevati da se password sastoji od malih i velikih slova, da sadrži cifre ili specijalne znake ili pak da ima najmanje n znakova.
Poštujući sva ova pravila dobiće se prilične bezbedan sistem password-a.
