Mindent a Biztonságos jelszavakról

img

Mit is kell tudnunk egy biztonságos jelszóról? Milyen szabályok betartásával védhetjük meg adatainkat?

Egy biztonságos jelszó:

  • legalább 15 karakter hosszú
  • vannak benne nagybetűk
  • vannak benne kisbetűk
  • vannak benne számok
  • vannak benne speciális karakterek ( ‘ ” ? $ & # ( ) [ ] { } @ ~ < > , . – / \ | )
  • nem hasonlít előző jelszavadra
  • nem a neved
  • nem a felhasználóneved
  • nem egy barátod neve
  • nem családtagod neve
  • nem szótári szó
  • nem becenév
  • nem a születési dátumod
  • nem a telefonszámod
  • nem egy billentyűzeten könnyen beírható karaktersorozat (123456789, qwertzuio, asdfghjk)
  • semmilyen módon ne lehessen személyedhez kötni
  • minden weboldalon más-más jelszót használsz
  • sűrűn, legalább néhány havonta változtatod a jelszavaidat

    Minden új jelszó generálásakor törökedni kell arra, hogy ezeket a szabályokat betartsuk. Így programjainkat, weboldalunkat vagy akár teljes számítógépünket nagyobb biztonságban tudhatjuk. Nem elég azt hinnünk, hogy egy jelszó attól, mert nekünk személyes információ, másnak nehéz feladat.

Egy időben elterjedt, hogy a weboldalak md5-ben tárolják le a jelszavainkat, mely az akkori technikákkal visszafejthetetlen volt. Ez mára a szivárványtáblák elterjedésével megkönnyíti a hackerek dolgát. Egy szivárványtábla általában úgy van összeállítva, hogy értelmes szavak, karaktersorozatok gyűjteményét tartalmazza. Ezáltal szótári szavakra könnyebben tudják ellenőrizni, hogy mit adtunk meg jelszóként.

Igen a fenti szabályok betartása inkább biztonsági szempontból fontos. Neked mi számít, a kényelmed, vagy az adataid? Kényelmes a kutyusod nevét megadni jelszóként, vagy végighúzni az ujjaid az alfa-numerikus billentyűzet pár gombján. DE! Az adataidat ez megvédi? Gondolj bele, vannak barátaid, ismerőseid, akik napi kapcsolatban vannak veled, ismerik minden rejtett zugát életednek, tudják a születési dátumod, telefonszámod, email címed, tudnak rólad mindent. Ha egy ilyen könnyen megjegyezhető jelszót adsz meg, mennyire fogsz meglepődni, mikor feltörik a facebook profilod és nevedben üzenetet küldenek, vagy a céges email címed, és adatot lopnak tőled? Nem azt fogja egy átlagos cég elővenni, aki az adatokat ellopta, ellene max indítanak egy eljárást, Téged lehet, kirúgnak, vagy megtéríttetik veled az okozott kárt.

Érted miért fontosak az adataid?

Egy kis statisztika:

A fehasználók leggyakoribb jelszvai a következőek:

  1. 123456
  2. 12345
  3. 123456789
  4. password
  5. iloveyou
  6. princess
  7. rockyou
  8. 1234567
  9. 12345678
  10. abc123

Ugye mennyire egyszerű megjegyezni? Szerinted mennyire egyszerű feltörni? Törekedjünk nehezen törhető jelszavak kitalálására.

Persze ezek a dolgok kétoldalúak. Ha egy weboldal nem ad a biztonságra, akkor te hiába adsz meg 100 karakter hosszú, random karaktersorozatot, az oldalt feltörik és ellopják a felhasználók adatait.

Én ahol tehetem, a kétlépcsős azonosítást használom, ahol nem elegendő a jelszavad tudni, a telefonodnak is kéznél kell lennie. Mire jó ez?

A két lépcsőből álló azonosítás egyik fő tulajdonsága, hogy nem csak a jelszavad kell hozzá. Első lépésben egy szokásos felhasználónév + jelszó párost kell megadnod. Ezt még könnyű szerrel ki is lehet játszani. De a második lépésben egy ellenörzőkódot kér a weboldal. Itt jön a gond. A hackernek elég komolyan személyes kapcsolatban kell hozzád állnia, hogy a telefonodon lévő dolgokat el tudja lopni, hisz a második lépcsőben egy üzenetben fogod megkapni az általában 6-8 karakteres jelszót.

Ilyen 2 lépcsős bejelentkezést biztosít számodra például a Gmail vagy a Facebook is.

Azon az egyen jelenleg is csodálkozok, hogy ha a Gmail és a Facebook alkalmazza a kétlépcsős bejelentkezést, akkor a Hotmail például miért nem? Vagy lehet csak én vagyok a bambusz és nem találom.

Ha nincs lehetőség egy weboldalon a kétlépcsős bejelentkezésre, akkor legalább egy captcha kóddal el kell látni a bejelentkező oldalt vagy valamilyen módszerrel, mely megvédi a felhasználók adatait a lopástól. Ilyen technika például a bejelentkezési kísérletek számának figyelése. Ezt érdemes szerver oldalon “elkövetni”, hisz egy Cookieban vagy sessionben tárolt számlálót egész egyszerűen ki lehet játszani. Elég csak törölni a Cookiekat vagy rábírni a szervert egy új session indítására.

Véleményem szerint ezt is érdemes több lépésben csinálni és rengeteg dolgot ellenőrizni. Például én figyelném a delikvens IP címét, böngészőjét – ehhez generálnék egy egyedi azonosítót, majd ezt figyelném, hogy mivel próbálkozik. Mivel itt is 2 lehetőségünk van:

  • egy robot próbál random karakterekkel vagy szótári szavakkal betörni az oldalra. Ekkor egymástól tejesen eltérő adatokkal fog próbálkozni.
  • egy felhasználó próbálja a másik felhasználó (ismeri a felhasználónevet) személyes adataival betörni. Ekkor telefonszám, születési dátum, könnyen fejthető karaktersorozat kombókkal fog próbálkozni.

Mindkét esetben maximum 5 lehetőséget adnék a próbálkozásra, melyet adatbáziban tárolnék le. Így könnyedén vissza tudom ellenőrizni, hogy a felhasználó hányszor próbált rosszul belépni, 5 hiba után 10-30 perc kitiltással “jutalmaznám”.

De ez még nem elég, hiszen a rosszakarónk elbújhat egy dinamikus IP mögé is, így az IP ellenőrzés sajnos nem teljesen lehetséges megoldás. Ekkor a következő lépés lenne, hogy a beírt felhasználónevet is ellenőrizném, ha hasonló mennyiségben rontja el a felhasználónevet, vagy a hozzá tartozó jelszót, ami esetleg nem is létezik az adatbázisban, szintén “jutalommal” honorálnám kedvességét.

Robotok ellen egy captcha kóddal védekeznék, felhasználóknál folyamatosan ellenőrizném, hogy azonos IPről próbálkozik-e esetleg ugyanazt a felhasználónevet próbálja-e feltörni és a felajánlott jelszóemlékeztetőt igénybe veszi-e. Ezek alapján készítenék egy szabályt melyet a programnak be kell tartania. A visszatérő “jóakarókat” pedig akár teljes IP tiltással jutalmaznám meg.

Menetközben létrehoztak egy új robotok elleni védelmet a HoneyPot-ot, magyarul mézesbödönt :) Ennek lényege, hogy a felhasználók számára láthatalan mezőt helyeznek el a bejelentkezésnél, melyet persze a “hülye” robotok egyből kitöltenek. Ha ez a mező ki van töltve, láthatjuk, hogy robot próbálkozott az oldalunkra való bejutással. Persze ekkor is szükséges egy moderátor, aki néha ellenőrzi, hogy a megadott adatokat véletlenül, nem felhasználó adta-e meg. De a legtöbb esetben ezeket csak a robotok töltik ki. Így a robotokkal szemben védve vagyunk. Általában.

Ez a megoldás csak annyiból érdekes, hogy általánosságban elmondható, ezek a robotok nagyon egyszerűen működnek. Nincsenek túl okosra tervezve, így nem tudják, hogy ez a mező nekik tabu. Érdemes megfontolni a használatát :)