Autor Zpráva
Enko
Profil *
Ahoj, hledám nějaký algoritmus a na co všechno si dávat pozor při ověřování uživatelů při vstupu do chráněné části webu. Samotné přihlášení a odhlášení je v pohodě, jde mi jen o to jak například zabránit bruteforce útoku a všem ostatním věcem, které se můžou vyskytnout. Můžete mi prosím napsat v bodech na co všechno si dávat pozor.

Děkuji
ninja
Profil
V prvé řadě je to klasické zabezpečení webových aplikací. SQL injection, XSS, atd.

Proti brutalforce je možné se chránit jednak omezením četnosti pokusů o přihlášení či stížením dalších pokusů a na druhé straně cyklickým použitím dobré hash funkce se saltem.

V případě nutnosti je ideální 2 cesté přihlášení, kdy potvrzení chodí jiným kanálem (keygen, SMSka, atd.).
Šéva
Profil
Ahoj,

na BF útoky od botů je captcha
escapovat veškeré vstupy
vypnout display_error
zapnout log_errors
hashovat a solit heslo

možná jsem na něco zapomněl a někdo další asi doplní
Joker
Profil
Enko:
Jak zmiňují kolegové výše, zabezpečit aplikaci proti SQL injection apod.
Bezpečné uložení hesla (kvalitní hashovací algoritmus + sůl, nebo podobná technika) znesnadní prolomení hesel v případě, že se útočník dostane k databázi.
Útoku opakovaným přihlašováním přímo na web lze čelit omezením počtu pokusů o přihlášení za nějaký čas (například že po 5 neúspěšných pokusech se musí 5 minut počkat a podobně).
Bezpečnost lze vylepšit ale i „administrativními“ opatřeními, třeba neudělovat administrátorský přístup na web kdekomu a neukládat třeba konfigurační soubory, zálohy databáze anebo zdrojové kódy na veřejně přístupná místa.
K tomu poslednímu si sice můžete říct „Který idiot by ukládal zálohy tak, aby si je z toho webu mohl kdokoliv stáhnout“, ale viz třeba případ s webem poslanecké sněmovny, odkud šlo stáhnout jeho kompletní zdrojáky.
Enko
Profil *
Jenom doplním, že moje zkušenosti z Captchou jsou v posledních několika měsících negativní. Protože algoritmy na dešifrování klasické captchy jsou již tak dokonalé, že dokáží s více než 90% přesností dešifrovat i pro člověka nerozluštilenu captchu. O čemž jsme se osobně přesvědčil. Na toto je jediným řešením 3D captcha, kterou se chystám v brzké době implementovat.

Jak přesně řešíte to omezení počtu neůspěšného přihlášení? Podle čeho přesně identifikujete uživatele. Například omezení jen na IP adresu je nevyhovující. Nestačí mi jen řešit neúspěšné přihlášení ke konrétnímu nicku, jde mi o zachytávání veškerého neúspěšného přihlášení, právě vůči bruteforce.
ninja
Profil
Enko: Můžete sledovat posledních X pokusů o přihlášení. Pokud se v nich bude nějaké IP nebo uživatelské jméno opakovat více jak Ykrát, další přihlášení pro dané jméno/IP adresu povolíte až po Z minutách.
Enko
Profil *
OK, děkuju všem :)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: