У меня fail2ban настроен как показано ниже:
- заблокировать IP после 3 неудачных попыток
- освободить IP через 300 секунд
Это работает отлично, и я хочу сохранить его таким образом, чтобы действительный пользователь мог повторить попытку входа после истечения времени ожидания. Теперь я хочу реализовать правило, согласно которому если один и тот же IP-адрес обнаруживается как атака и блокируется, разблокируется 5 раз, навсегда блокирует IP-адрес и никогда больше не разблокируется. Может ли это быть достигнуто с помощью fail2ban или мне нужно написать собственный скрипт для этого?
Я делаю это в санто.
Ответы:
До 0.11 в fail2ban не было ни функции, ни настройки по умолчанию . Но, начиная с предстоящего релиза 0.11, время бана рассчитывается автоматически и экспоненциально увеличивается с каждым новым нарушением, что в долгосрочной перспективе будет означать более или менее постоянный блок.
До тех пор ваш лучший подход, вероятно, заключается в настройке fail2ban для мониторинга собственного файла журнала . Это двухэтапный процесс ...
Шаг 1
Нам может понадобиться создать фильтр для проверки BAN в файле журнала (файл журнала fail2ban)
Шаг 2
Нам нужно определить тюрьму , похожую на следующую ...
Технически, это не постоянный блок , а только блоки на год (что мы тоже можем увеличить).
В любом случае, на ваш вопрос (может ли это быть достигнуто только с помощью fail2ban или мне нужно написать собственный скрипт для этого?) ... написание собственного скрипта может работать хорошо. Настройка скрипта для извлечения часто запрещенных IP-адресов и последующего их размещения
/etc/hosts.deny
- вот что я бы порекомендовал.источник
sshd_config
, это может потенциально блокировать только 3 неудачных входа в систему для sshd-сеанса - не предусмотрено 3 неудачных входа в систему. Например, по умолчанию злоумышленник может попробовать ['pass1', 'pass2', 'pass3'] за один сеанс, прежде чем sshd отключится. В зависимости от того, как sshd настроен на запись в журнал, это может выглядеть как 1, 2 или 3 попытки сбоя 2банка.Я полагаю, если вы поместите
bantime = -1
в этот раздел конфигурации, это постоянный блок.источник
bantime
любого отрицательного значения - это постоянный бан (по состоянию на Fail2Ban ver. 0.6.1 (2006/03/16))Фил Хаген написал отличную статью на эту тему. « Постоянно Ban рецидивистов С fail2ban ».
Его предложение такое же, как у Поти, но содержит пошаговое руководство.
Это включало:
источник
Чтобы расширить ответ Чина, это довольно просто. Просто измените 2 настройки в
/etc/fail2ban/jail.local
соответствии с вашими предпочтениями.источник
У fail2ban уже есть тюрьма, чтобы забанить рецидив. Если вы посмотрите
/etc/fail2ban/jail.conf
, вы найдете:Как добавить в jail.local?
Для проверки вы LOGLEVEL вы можете сделать:
fail2ban-client get loglevel
.В старой версии fail2ban вы можете получить эту ошибку .
источник
Зайдите в vim, откройте /etc/fail2ban/jail.conf
и просто изменить после
fail2ban service restart
:источник