Приложение, которое я запускаю, регистрирует неправильные входы в систему, например:
Tue, 19 Mar 13 20:46:03 +0000 failed login from iphere !
Tue, 19 Mar 13 20:46:03 +0000 failed login from iphere !
Tue, 19 Mar 13 20:46:03 +0000 failed login from iphere !
Я пытаюсь заблокировать людей, которые не могут войти в систему по IP, чтобы предотвратить атаки методом грубой силы. Примечание: iphere, очевидно, настоящий IP. И нет, не 127.0.0.1, так как это исключено из бана в конфигурации :)
Что я пробовал
Fail2ban работает с неизмененным по умолчанию джейлом / фильтром SSH! Пару раз я пытался войти в SSH, и это привело к бану. Так что это почему-то моя конфигурация виновата.
Я нашел хорошее руководство: http://www.voip-info.org/wiki/view/Fail2Ban+(with+iptables)+And+Asterisk
Я применил следующее исправление: ОШИБКА fail2ban.action.action при запуске / перезапуске У меня было несколько ОШИБОК fail2ban.action.action при запуске / перезапуске. Похоже, с iptables возникла "гонка". Я полностью решил проблему в своей системе, отредактировав / usr / bin / fail2ban-client и добавив time.sleep (0.1). Это была ошибка, которую я увидел в журнале fail2ban, которая была решена с помощью выше.
Лог-файлы
Файлы журнала показывают, что тюрьма запускается нормально. Я вижу строки, записываемые в /var/log/myapp.log fail2ban-client -d дает мне это, помимо фильтра SSH по умолчанию:
['add', 'myapp', 'polling']
['set', 'myapp', 'addlogpath', '/var/log/myapp.log']
['set', 'myapp', 'maxretry', 3]
['set', 'myapp', 'addignoreip', '127.0.0.1/8']
['set', 'myapp', 'findtime', 60000]
['set', 'myapp', 'bantime', 1800]
['set', 'myapp', 'addfailregex', '.*failed login from <HOST> .*']
Ниже вы найдете мои файлы конфигурации.
Фильтр
/etc/fail2ban/filter.d/myapp.conf
[Definition]
failregex = .*failed login from <HOST> .*
Я тестировал фильтр с помощью:
fail2ban-regex /var/log/myapp.log /etc/fail2ban/filter.d/myapp.conf
Результат (ничего особенного, просто список совпадений и это): Успех, общее количество совпадений 254
Так что с фильтром все должно быть в порядке.
Тюрьма
[myapp]
enabled = true
port = all
filter = myapp
logpath = /var/log/myapp.log
findtime = 60000
bantime = 1800
maxretry = 3
banaction = iptables-multiport-log
Очевидно, после их установки я выполнил перезагрузку fail2ban-client и перезапуск службы fail2ban.
Достаточно сказать, что никаких запретов не делается. Я потратил довольно много времени на эту проблему, но решил, что это должно быть что-то небольшое, поэтому подумал, что было бы хорошо спросить здесь.