Fail2ban и proftpd (помогите написать фильтр)

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС для молодых и начинающих системных администраторов.

Модераторы: SLEDopit, Модераторы разделов

Аватара пользователя
Hooper
Сообщения: 49
ОС: Ubuntu/FreeBSD

Fail2ban и proftpd

Сообщение Hooper »

Имеется Debian Lenny с установленными Proftpd и fail2ban. Fail2ban по умолчанию включает в себя несколько фильтров, есть фильтр и для логов proftpd, но к сожалению он несколько различается с тем что имеем на самом деле в логах:
/etc/fail2ban/filter.d/proftpd.conf

Код: Выделить всё

failregex = \(\S+\[<HOST>\]\)[: -]+ USER \S+: no such user found from \S+ \[\S+\] to \S+:\S+$
            \(\S+\[<HOST>\]\)[: -]+ USER \S+ \(Login failed\): Incorrect password\.$
            \(\S+\[<HOST>\]\)[: -]+ SECURITY VIOLATION: \S+ login attempted\.$
            \(\S+\[<HOST>\]\)[: -]+ Maximum login attempts \(\d+\) exceeded$

логи же имеют следующий вид:

Код: Выделить всё

192.168.0.198 UNKNOWN nobody [21/Янв/2010:01:00:06 +0300] "USER qwe" 331 -
192.168.0.198 UNKNOWN nobody [21/Янв/2010:01:00:06 +0300] "PASS (hidden)" 530 -

Помогите, пожалуйста, написать регулярное выражение :)
Гугл выдал ^<HOST> .* nobody .*PASS .* 530 и (.*) (.*) <HOST> (.*) (.*) 530 не помогло :(

Upd после смены локали на английскую заработало с ^<HOST> .* nobody .*PASS .* 530 видимо не дружит с русскими названиями месяцов в логах :)
Desktop: [Ubuntu 10.10] Q6600@3.0, Asus Formula Maximus, 4 gb DDR2 1066Mhz, Nvidia 9800
Notebook: [Ubuntu 10.10] Toshiba A200, 5450, ATI HD2600, 3 gb DDR2
Homeserver: [FreeBSD 8.1 amd64] Athlon 64 3000+, 2 gb DDR, 2x1Tb hdd on zfs pool
Спасибо сказали: