Инструменты пользователя

Инструменты сайта


linux:administration:fail2ban

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
linux:administration:fail2ban [2026/08/26 14:22] – so_v_alinux:administration:fail2ban [2026/11/10 10:13] (текущий) – so_v_a
Строка 8: Строка 8:
 На VPS такие попытки особенно часты, поэтому важно  настроить защиту заранее. На VPS такие попытки особенно часты, поэтому важно  настроить защиту заранее.
  
-> **(!)Note**: Главное условие — чтобы сервис писал логи, по которым можно определить неудачные попытки входа или ат +> **(!)Note**: Главное условие — чтобы сервис писал логи, по которым можно определить неудачные попытки входа или атаки.
-аки.+
  
 ## Как работает Fail2ban ## Как работает Fail2ban
Строка 23: Строка 22:
 sudo apt install fail2ban sudo apt install fail2ban
 ``` ```
 +если есть необходимость добавить какие-то зависимые пакеты установщик обычно делает это сам.
  
-После завершения установки сервис запускается сам, но на этом этапе он ещё не делает ничего полезного, т.к. _по умолчанию все фильтры выключены_.+После завершения установки сервис запускается самостоятельно, но на этом этапе он ещё не делает ничего полезного, т.к. _по умолчанию все фильтры выключены_.
  
 Стандартные настройки находятся в файле: Стандартные настройки находятся в файле:
Строка 42: Строка 42:
 [sshd] [sshd]
 enabled = true enabled = true
 +mode = aggressive
 port = ssh port = ssh
 logpath = %(sshd_log)s logpath = %(sshd_log)s
 backend = systemd backend = systemd
 ``` ```
 +здесь:
 +- **enabled** — включение/отключение защиты
 +- **mode = aggressive** — агрессивный режим, ловит больше ошибок SSH включая ошибки при аутентификации по ключу
 +- **port** — порт на котором работает SSH (_если используется нестандартный порт_, то это следует указать явно, например **port = 2222**)
 +- **logpath** — путь до отслеживаемого лога (здесь указан в виде системной переменной, но м.б. указан и явно, в виде `/var/log/auth.log`)
  
-В этой секции настроек включаем защиту сервиса **sshd**, указываем порт, на котором работает SSH (_если используется нестандартный порт_, то это следует указать явно, например **port = 2222**), и путь к отслеживаемому логу. +Настройки **параметров срабатывания** могут быть заданы глобально, в секции [DEFAULT], или для конкретного **jail**. Лучше задавать явно в соответствующей же секции:
- +
-Настройки **параметров срабатывания** могут быть заданы глобально или для конкретного **jail**. Лучше задавать явно в соответствующей же секции:+
 ```bash ```bash
 [sshd] [sshd]
Строка 62: Строка 66:
  
 То есть с указанными выше настройками Fail2ban будет блокировать IP на час, если за 10 минут с него поступит 5 неудавшихся попыток входа. То есть с указанными выше настройками Fail2ban будет блокировать IP на час, если за 10 минут с него поступит 5 неудавшихся попыток входа.
 +
 +Пример указания настроек **параметров срабатывания** в секции [DEFAULT]:
 +```
 +[DEFAULT]
 +# IP-адреса, которые НИКОГДА НЕ БАНИМ (добавьте свои IP)
 +ignoreip = 127.0.0.1/8 ::1 ВАШ_IP_1 ВАШ_IP_2
 +# Время блокировки (1 час = 3600 сек, 'm' - минуты, 'h' - часы)
 +bantime  = 1h
 +# Время поиска (смотрим попытки за последние 10 минут)
 +findtime = 10m
 +# Количество ошибок для блокировки
 +maxretry = 5
 +```
 +здесь **ignoreip** - список IP адресов-исключений, которые не должны попадать в бан.
  
 После внесения изменений в файл конфигурации службу следует перезапустить: После внесения изменений в файл конфигурации службу следует перезапустить:
/var/www/html/dokuwiki/data/attic/linux/administration/fail2ban.1787754140.txt.gz · Последнее изменение: — so_v_a