Защита от brute force атака
Първо и основно правило е да използвате дълги пароли съчетани от думи и цифри. Хубаво е думите които използвате да не са стандартни (пр admin, root, code, pass и т.н.) поради факта че brute force използва комбинацията от най-често използваните думи и речникови думи.
Второто правило е да използвате различни пароли за различни сайтове, това се налага заради фишинг сайтовете които са направени само да събират информация от потребителите (юзър, парола, в повечето случай банкова сметка).
Трето основно правило : Сменяйте паролата си често… Ако някой се е добрал до паролата ви а вие я смените 😀 Първото място където трябва да си смените паролата е пощата после постепенно в другите сайтове ( защо пощата? – Прочетете статията ми за Как да разбием паролите на приятел. )
Това беше от потребителска страна. Нека сега да разгледаме от към web developer-ска страна. Много са подходите но сега ще съобщя най-използваните.
I. Captcha (Completely Automated Public Turing test to tell Computers and Humans Apart) в превод – Напълно автоматизирана проверка за разграничаване на човек от компютър.
Идея на метода:
1.Генерира произволен код (цифри и букви)
2.Записване на този код в потребителската сесия.
3.Изобразяване на този код посредством PHP ( като картинка). Кода се изобразява на картинката като всяка буква е в различен шрифт, големина, цвят. Допълнително се добавя шум в картинката и понякога блър (замъгляне) Това се прави с цел затрудняване на ботовете да прочетат кода.
4.Дадената картинка се показва на потребителя и той въвежда кода от картинката в текст поле. След попълването на полето, стойността му се взима и се сравнява с тази записана в сесията. Ако кода съвпада то е попълнена от потребител, ако не съвпада тогава можем да смятаме че това е бот.
Целия метод Captcha пропада когато процеса на brute force се извършва ръчно от потребител, а не чрез бот.
II. Втори най-използван метод е блокиране на ИП при неколкократни неуспешни опити.
Пример:Ако потребител въведе повече от трипъти грешна парола автоматично взимате ИП-то му и го блокирате.
Аз ви препоръчвам за да не губите потребители да банвате ИП-то само за няколко часа, защото има и некадърни потребители които ще го направят без да искат или просто са толкова глупави че са си забравили паролата.
III.Друга защита която изобщо не я препоръчвам е разрешаването на влизане от едно ИП на даден потребител.Много остарял метод.
IV.Добро решение е когато блокирате IP, да блокирате и username-а (обикновено ботовете не си сменят имената).
V. И не на последно място, както има списъци с пароли, така има и списъци със лоши ИП-та потрърсете в google и сложете един такъв списък 🙂 аз лично ползвам, но направен от мен с ип-та които са ме спамили 🙂