[#] Ограничение количества попыток ввода пароля в веб-форме авторизации при помощи Nginx или HAProxy на примере WordPress
habrabot(difrex,1) — All
2015-02-08 12:30:02


Рассмотрим на примере WordPress способ усиления безопасности при помощи ограничения количества HTTP-запросов к форме ввода пароля. Это позволит оградить опубликованный блог от брутфорса (поиска и взлома пароля путем перебора всех теоретически возможных вариантов из определенного набора символов или подбора по словарю распространенных паролей). Данный способ, в принципе, можно использовать и для защиты других веб-приложений. Задача может быть реализована в Nginx с помощью модуля ngx\_http\_limit\_req\_module [[1][1]], выступающем в роли фронт-энда к Apache или веб-сервера FastCGI, или же с помощью HAProxy [[2][2], [3][3]], выступающем в роли балансировщика нагрузки перед веб-серверами. В обоих случаях алгоритм работы следующий. При аутентификации браузер обращается по адресу, содержащему в себе подстроку "/wp-login.php". Необходимо отследить ее и ограничить количество запросов с одного IP не затрагивая обращения по всем остальным адресам. Параметры блокировки необходимо подобрать таким образом, чтобы не создавать неудобств обычным пользователями. Особенно внимательно следует настраивать блокировки в том случае, когда формой авторизации пользуется большое количество пользователей с одного IP-адреса. [Читать дальше →][4]

[1]: http://nginx.org/ru/docs/http/ngx_http_limit_req_module.html
[2]: http://blog.haproxy.com/2013/04/26/wordpress-cms-brute-force-protection-with-haproxy/
[3]: http://blog.serverfault.com/2010/08/26/1016491873/
[4]: http://habrahabr.ru/post/250023/#habracut