Защищаем HTTP авторизацию от перебора паролей при помощи fail2ban

В прошлый раз я показал как быстро и непринужденно брутится пароль HTTP авторизации. Теперь защитим её от перебора, при помощи правил fail2ban. Собственно необходимое jail правило в VestaCP уже установлено, но не активировано по умолчанию. По умолчанию активирована только защита от перебора по ssh. Посмотреть текущие активные jail-ы можно командой

Убедившись, что в этом списке ещё нет нужного нам apache-auth откроем следующий конфиг

Тут нужно указать правильный шаблон path к error логам apache, у меня это выглядит так:

далее открываем файл

и добавляем строки

одной строкой это делается так:

Теперь перезапустим fail2ban

Проверим статус jail правила

Статус jail правила apache-auth
Статус jail правила apache-auth

Просмотрим текущие правила iptables

iptables
iptables

По умолчанию количество попыток(5), время поиска по логам(600), время бана(600) и прочие настройки задаются файлом по умолчанию /etc/fail2ban/jail.conf

Для каждого отдельного jail эти переменные можно изменять тут /etc/fail2ban/jail.d/defaults-debian.conf

Ну что ж, пришло время проверить нашу авторизацию. Для онлайн мониторинга лога будем использовать команду tailf

fail2ban
fail2ban

После 5 попытки сервер по http и https отвечать перестал. Вообще! TCP пакеты от данного IP заворачиваются в цепочке iptables

iptables reject
iptables reject

И так в течении 600 секунд, пока не выйдет срок бана указанный в конфигурации. Посмотрим вывод fail2ban-client status apache-auth

fail2ban-client status apache-auth
fail2ban-client status apache-auth

Бан можно снять вручную, командой

А теперь вновь воспользуемся hydra для перебора нашей http авторизации.

Это абсолютно бесполезно…

Оставить комментарий

Ваш адрес email не будет опубликован.