Приветствую.
Сервер vps под debian9. Установлен fail2ban 0.9.6-2. Настроено и, по факту, чётко работает правило sshd. Установил «для себя» 3proxy с аутентификацией по паролю. Иногда вижу всякие/разные/непонятные IP в его журнале, поэтому хотел его тоже отдать под fail2ban. Но не получается. В правиле изменил только порт и путь к журналу:
[3proxy]
enabled = true
port = 12345
logpath = /var/log/3proxy/3proxy.log
Само правило fail2ban видит:
Status for the jail: 3proxy
|- Filter
| |- Currently failed: 0
| |- Total failed: 0
| `- File list: /var/log/3proxy/3proxy.log
`- Actions
|- Currently banned: 0
|- Total banned: 0
`- Banned IP list:
Но по факту - ничего не происходит. Вы скажете - action не указан. Да, не указан. Но действия и для sshd не указаны, а правило работает. Здесь у меня нет понимания, если честно.
И непонятно с regex. 3proxy предлагает вариативность формата журнала. Дефолтный regex для правила 3proxy:
^\s[+-]\d{4} \S+ \d{3}0[1-9] \S+ <HOST>:\d+ [\d.]+:\d+ \d+ \d+ \d+\s
Как надо/лучше поступить - подогнать формат журнала под дефотный regex или изменить regex под свой формат? На самом деле, выборки по коду ошибки \d{3}0[1-9]
должно быть достаточным для принятия решения по <HOST>
:
2020-07-28 02:17:29:944 PROXY:12345 00005 username 123.123.123.123:12345 CONNECT yandex.ru:443 HTTP/1.1