Webová aplikace a osobní údaje - updated
V rámci jedné ze svých prací řeším obecné zabezpečení webových ohledně osobních údajů. V současné době řeším, jak by měli být zabezpečeny osobní údaje, které webové aplikaci dáváte a zda to jde ověřit z uživatelského pohledu (aspoň částečně)
- heslo hashovat pořádnou hashovací funkcí, md5/sha1 jsou prolomené
- Použití soli při hashování, vyhnutí se rainbow tabulkám
- ochrana před SQL injection
- ochrana přes XSS
- nepoužívání register_globals coby bezpečnostní hrozby
- nevyžadovat zbytečné údaje
- Sledovat chyby a aktualizovat/opravovat, pokud jde o úpravu/užití připraveného systému (Joomla, Wordpress)
Co vy na to? Myslíte si, že něco chybí? Napište v komentářích, za každou připomínku děkuji…
UPDATE
- pokud je to možné, používat SSL alespoň pro login
- do cookies neukládat žádné osobní údaje
August 18th, 2009 at 2:21 pm
S tou prolomeností hashovacích funkci – MD5 byla prolomena v tom smyslu, že můžeš najít k jednomu čistému textu jiný se stejným hashem. Pokud se tedy používá sůl, není použití téhle funkce až takový problém – na druhou stranu není důvod ji používat (vyšší náročnost výpočtu např. SHA-512 nás asi nevytrhne).
Ad „nevyžadovat zbytečné údaje“ – proč je tady teda e-mailová adresa u komentáře „required“? No nic, stejně zadávám falešnou (web je pravý).
Ad „SSL alespoň pro login“ – pokud se SSL nepoužívá celou dobu, je možné „ukrást session“ a dostat se k citlivým údajům, nebo je prostě jen odposlouchávat. No, ale pořád je to lepší než nic (když létá vzduchem heslo* v čistém tvaru). V takovém případě je ale dobré, vyžadovat SSL a nové zadání hesla i u stránek s nastavením, kde např. uživatel mění svoji e-mailovou adresu a heslo.
*) BTW: heslo jde hashovat už na straně klienta a zvýšit tak zabezpečení i bez šifrování: http://frantovo.cz/blog/index.php?q=overovani-uzivatelu-na-webu
August 22nd, 2009 at 7:04 pm
Wow, díky za připomínky…
ad md5: nejsem zrovna odborník na hashe, a nevím, jestli sůl vyřeší ten problém s tunely nebo ne… Ale solit je určitě dobrý nápad..
ad email: aha, tak to se stydím, to je Wordpress default a mě to nenapadlo řešit…