nginx auth_request (3/3): Web-Application firewall, WAF
Сразу оговорюсь - я знаю про существование nginx naxsi
и mod_security
, речь про то, как вообще такое делается.
Под WAF я понимаю некое дополнение к веб-серверу, выполняющее одну или несколько следющих задач:
- блокировка вредоносных запросов
- подтверждение юзером "сомнительных" запросов
- ограничение частоты запросов по сложным критериям
Дополнительно можно собирать статистику.
nginx auth_request (2/3): Многофакторная авторизация, NFA
В этой статье рассмотрим, как в принципе делается кастомный портал с авторизацией на базе nginx_authreq
.
Вся авторизация держится на предположении, что юзеру известен некий секрет, недоступный другим. Правда если его украсть или скопировать - система не может распознать обмана.
nginx auth_request (1/3): Вводная
У меня тут накопилось немного опыта работы с этим модулем, решил поделиться.
Прежде всего - что это? Это модуль, который разрешает или запрещает прохождение запроса в nginx на основе подзапроса. Две основных схемы применения:
- с его помощью можно соорудить WAF (web-application firewall)
- ...и кастомный портал предварительной авторизации
...всё перечисленное - без модификации исходного сайта.
Новый проект -- libsimdb, библиотека для поиска визуально похожих изображений
Эта идея периодически всплывала в голове, поскольку минимум раз в год я перебираю свой архив контента. Но, поскольку это именно что "раз в год", реализация неоднократно откладывалась.
Новый проект - f2b, легковесная замена fail2ban
Идея "переписать fail2ban" периодически приходила в голову. Хоть они и пишут, что "кроме питона ничего не надо", но сам по себе питон тянет уже дохрена всего.
Кроме того, на типовой роутер fail2nan вкорячить конечно можно, но места под что-либо другое уже не хватит.