Функционирует ли fail2ban правильно?

Как настроить fail2ban так, чтобы он не банил адреса каждую минуту, и есть ли способ автоматической очистки лог-файлов, чтобы избежать их излишнего увеличения?
  • 13 января 2024 г. 18:57
Ответы на вопрос 2
Для того чтобы проверить, функционирует ли корректно fail2ban на вашей системе, вы можете проверить его статус, логи и текущие правила бана следующими командами:

```sh
# Проверка статуса fail2ban
sudo fail2ban-client status

# Проверка статуса определенной jail
sudo fail2ban-client status sshd

# Просмотр логов fail2ban (может отличаться в зависимости от системы)
sudo tail -f /var/log/fail2ban.log
```

Чтобы настроить fail2ban таким образом, чтобы он не блокировал IP-адреса слишком часто, вы можете изменить настройки «findtime» и «bantime» в конфигурационном файле jail. 

- `findtime` определяет временной промежуток, в течение которого несколько неудачных попыток входа приведут к блокировке;
- `bantime` определяет продолжительность блокировки.

Вы можете изменить эти значения, чтобы подстроить fail2ban под свои нужды. Пример конфигурации для jail, который меняет параметры для SSH:

```ini
[sshd]
enabled = true
filter = sshd
action = %(action_)s
logpath = /var/log/auth.log
# Установка времени поиска для обнаружения неудачных попыток - например, 10 минут
findtime = 600
# Установка времени бана - например, 1 час
bantime = 3600
maxretry = 5
```

Чтобы предотвратить излишнее увеличение лог-файлов, вы можете настроить `logrotate` — стандартную программу для систем управления логами на Unix-подобных операционных системах. Создайте или отредактируйте файл конфигурации для fail2ban в `/etc/logrotate.d/`, указав необходимые параметры. Например:

```sh
/var/log/fail2ban.log {
    weekly
    rotate 4
    compress
    missingok
    notifempty
    postrotate
        fail2ban-client flushlogs 1>/dev/null
    endscript
}
```

В этой конфигурации логи будут сжиматься и сохраняться за последние четыре недели, а также запуск `fail2ban-client flushlogs` после каждого ротирования логов для очистки внутренних логов fail2ban.

После изменения настроек fail2ban не забудьте перезагрузить службу:

```sh
sudo systemctl restart fail2ban
```

Или используйте `fail2ban-client reload`, чтобы перезагрузить конфигурацию без остановки самого сервиса:

```sh
sudo fail2ban-client reload
```

Убедитесь, что вы изменяете файлы `.local`, а не `.conf`, поскольку изменения в `.conf` могут быть перезаписаны при обновлении пакета, в то время как `.local` файлы предназначены для пользовательских настроек и имеют приоритет над `.conf`.
а при чём тут nginx? 
и, да, нормально, подбор паролей и/или других дыр в ssh происходит всегда
Похожие вопросы