fail2ban
ограничивает возможность подбора паролей и поиска уязвимостей сетевых сервисов, блокируя доступ к этим сервисам для узлов, производящих подозрительные действия. Такая возможность может быть очень полезна для сетевых сервисов, доступ к которым необходим из сети Интернет.Данная статья применима к:
- ОС ОН Орёл 2.12
Установка службы
Установку службы fail2ban можно с помощью графического менеджера пакетов или из командной строки командой:
Конфигурация службы
Служба fail2ban работает с четырьмя типами конфигурационных файлов:
Файл(ы) | Описание |
---|---|
/etc/fail2ban/fail2ban.conf | Глобальные настройки службы и настройки "по умолчанию" |
/etc/fail2ban/filter.d/*.conf | Фильтры, определяющие обнаружение неудачных попыток аутентификации |
/etc/fail2ban/action.d/*.conf | Действия, определяющие порядок блокировки/разблокировки |
/etc/fail2ban/jail.conf | Определения комбинаций фильтров и действий |
Блокировка по умолчанию
По умолчанию служба fail2ban защищает сервер sshd. Эта блокировка включена в созданном при установке пакета файле /etc/fail2ban/jail.d/defaults-debian.conf.
Cодержимое этого файла "по умолчанию":
enabled = true
При этом доступ блокируется на 10 минут, если неправильный пароль был введен 5 раз в течение 10 минут, а эти параметры блокировки заданы в файле /etc/fail2ban/jail.conf.
Параметры блокировок и их изменение
Параметры блокировок указаны в файле /etc/fail2ban/jail.conf. Для изменения параметров их можно исправить в этом файле, либо (лучше) создать в /etc/fail2ban/jail.d файл с расширением .conf и любым удобным именем, в котором переопределить значения параметров, например, файл/etc/fail2ban/jail.d/local.conf:
bantime = 300
maxretry = 10
findtime = 3600
ignoreip = 10.0.15.0/24
В приведенном примере определяются следующие значения параметров:
- секция
[DEFAULT]
означает, что параметры будут применяться ко всем блокировкам по умолчанию; - блокировка производится на 5 минут (300 секунд);
- дается 10 попыток ввода пароля;
- учитываются неудачные попытки входа в течение часа (3600 секунд);
- игнорируются попытки перебора пароля из сети 10.0.15.0/24.
После изменения конфигурации fail2ban нужно перезапустить, например, командой
Добавление блокировок, преднастроенные блокировки
Для добавления других блокировок, кроме ssh, нужно создать в директории /etc/fail2ban/jail.d файл с расширением .conf, содержащий переопределение секции соответствующей блокировки с параметром enabled=true.
Например, для защиты dovecot создадим файл /etc/fail2ban/jail.d/dovecot.conf:
[dovecot]
enabled = true
bantime = 120
В секции [dovecot] этого файла можно указать специальные параметры блокировки (например, bantime), которые будут применяться только для dovecot, в примере это время определено как 2 минуты (120 секунд).
В составе fail2ban имеется ряд преднастроеных блокировок, которые определены в файлах, содержащихся в каталоге /etc/fail2ban/filters.d/ (например, блокировка dovecot определена в /etc/fail2ban/filters.d/dovecot.conf).
Эти блокировки можно включать описанным выше способом по мере необходимости.
Выключение ошибочной блокировки
Если доступ оказался заблокирован по ошибке, его можно разблокировать командой:
Более подробная информация по работе и настройке службы содержится в справочной системе man:
man fail2ban-server
man fail2ban-client
man jail.conf