Оглавление |
---|
Информация |
---|
Служба fail2ban ограничивает возможность подбора паролей и поиска уязвимостей сетевых сервисов, блокируя доступ к этим сервисам для узлов, производящих подозрительные действия. Такая возможность может быть очень полезна для сетевых сервисов, доступ к которым необходим из сети Интернет. |
Информация |
---|
Данная статья применима к:
|
Установка службы
Установку службы fail2ban можно с помощью графического менеджера пакетов или из командной строки командой:
Command |
---|
sudo apt install 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одержимое этого файла "по умолчанию":
Информация |
---|
[sshd] enabled = true |
При этом доступ блокируется на 10 минут, если неправильный пароль был введен 5 раз в течение 10 минут, а эти параметры блокировки заданы в файле /etc/fail2ban/jail.conf.
Параметры блокировок и их изменение
Параметры блокировок указаны в файле /etc/fail2ban/jail.conf. Для изменения параметров их можно исправить в этом файле, либо (лучше) создать в /etc/fail2ban/jail.d файл с расширением .conf и любым удобным именем, в котором переопределить значения параметров, например, файл/etc/fail2ban/jail.d/local.conf:
Информация |
---|
[DEFAULT] bantime = 300 maxretry = 10 findtime = 3600 ignoreip = 10.0.15.0/24 |
В приведенном примере определяются следующие значения параметров:
- секция
[DEFAULT]
означает, что параметры будут применяться ко всем блокировкам по умолчанию; - блокировка производится на 5 минут (300 секунд);
- дается 10 попыток ввода пароля;
- учитываются неудачные попытки входа в течение часа (3600 секунд);
- игнорируются попытки перебора пароля из сети 10.0.15.0/24.
После изменения конфигурации fail2ban нужно перезапустить, например, командой
Command |
---|
sudo systemctl restart fail2ban |
Добавление блокировок, преднастроенные блокировки
Для добавления других блокировок, кроме ssh, нужно создать в директории /etc/fail2ban/jail.d файл с расширением .conf, содержащий переопределение секции соответствующей блокировки с параметром enabled=true.
Например, для защиты dovecot создадим файл /etc/fail2ban/jail.d/dovecot.conf:
Информация |
---|
[dovecot] |
В секции [dovecot] этого файла можно указать специальные параметры блокировки (например, bantime), которые будут применяться только для dovecot, в примере это время определено как 2 минуты (120 секунд).
В составе fail2ban имеется ряд преднастроеных блокировок, которые определены в файлах, содержащихся в каталоге /etc/fail2ban/filters.d/ (например, блокировка dovecot определена в /etc/fail2ban/filters.d/dovecot.conf).
Эти блокировки можно включать описанным выше способом по мере необходимости.
Выключение ошибочной блокировки
Если доступ оказался заблокирован по ошибке, его можно разблокировать командой:
Command |
---|
fail2ban-client set <имя блокировки> unbanip <IP-адрес узла> |
Например, разблокировать доступ к ssh для узла 10.0.15.35 можно командой:
Command |
---|
fail2ban-client set sshd unbanip 10.0.15.35 |
Более подробная информация по работе и настройке службы содержится в справочной системе man:
Информация |
---|
man fail2ban man fail2ban-server man fail2ban-client man jail.conf |