
Предположим, у меня есть файл .txt, содержащий список IP-адресов, которые я хотел бы забанить на некоторое время (то есть, файл черного списка). Я знаю, как это сделать в Apache (например) — просто включив файл .txt в apache.conf и выполнив плавный перезапуск.
Мне было интересно, возможно ли сделать то же самое с помощью fail2ban, когда я каким-то образом заставляю fail2ban периодически «считывать» список IP-адресов, которые я хотел бы забанить, используя механизм fail2ban для взаимодействия с iptables?
решение1
Fail2ban — для управления списком адресов, подлежащих запрету.автоматически.
Все основано на предположении, что если есть несколько последовательных «ошибок» со сторонытакой жеудаленный адрес, эти «ошибки» не случайны, а адрес вредоносный и пытается сделать что-то отвратительное (например, перебор паролей, сканирование на уязвимости и т. д.). Ошибки взяты в кавычки, потому что это зависит от определения — то, что считать «ошибкой», определяетсяфильтрыв fail2ban. Ожидается, что приложениежурналычто-нибудьв настоящее время(почти) когда он обнаруживает проблему в коммуникации, а также это сообщение журнала содержит адрес удаленного компьютера, с которым он общался.
Такое обнаружение само по себе не является безошибочным. Законный пользователь может неправильно вспомнить свой пароль и попытаться несколько раз угадать его при входе в систему; то, как эти попытки отображаются в журналах, не отличается от настоящего перебора. Если они были слишком настойчивы и торопливы, то их забанят, и это фактически ложное срабатывание.
Удаленные IP-адреса также часто являются просто зараженными компьютерами, и через некоторое время они появятся под другим IP-адресом; предыдущий IP-адрес, который они занимали, может быть занят каким-то другим, невиновным субъектом, и эта система будет ошибочно забанена. Зараженные и уязвимые системы также иногда излечиваются и исправляются, поэтому они больше не представляют опасности.
Чтобы учесть все это, баны, налагаемые fail2ban,не постоянный, и через некоторое время бан будет автоматически снят.
Все по-другому, когда у тебя естьаприориСписок адресов для бана. Во-первых, обычно эти адреса не являются адресами, асетевые блоки(наборы смежных адресов). Во-вторых, записи этого списка являютсяизвестно, что срок действия не истекает; мы предполагаем, что субъекты, которые управляют этими сетевыми блокамиявляются вредоносными. И, наконец, самое главное:fail2ban ужасно справляется с управлением большими списками банов. Он хорош и пригоден к использованию только потому, что он автоматический;не пытайтесь использовать его с тысячами адресов. Даже просто запуск/остановка с тысячей адресов в базе данных приведет к значительному времени обработки (десятки минут).
Используйте свой брандмауэр напрямую в случаях, когда у вас есть список адресов. Не пытайтесь управлять им с помощью fail2ban. Вместо этого, если вы обнаружите некоторые адреса (или близкие наборы адресов, например, небольшие подсети), которые автоматически банятся и разбаниваются часто, может быть полезно провести расследование по ним и, возможно, забанить их вручную, чтобы fail2ban никогда больше с ними не сталкивался.