Oefenweb.fail2ban
fail2ban
Настройка fail2ban на системах, подобных Debian.
Требования
Нет
Переменные
fail2ban_loglevel: [по умолчанию:3, илиINFOв более новых версиях]: Устанавливает уровень вывода логов (например,1 = ERROR,2 = WARN,3 = INFO,4 = DEBUG)fail2ban_logtarget: [по умолчанию:/var/log/fail2ban.log]: Устанавливает цель для логов. Это может быть файл, SYSLOG, STDERR или STDOUTfail2ban_syslog_target: [по умолчанию:/var/log/fail2ban.log]:fail2ban_syslog_facility: [по умолчанию:1]:fail2ban_socket: [по умолчанию:/var/run/fail2ban/fail2ban.sock]: Устанавливает сокет-файл, который используется для связи с демономfail2ban_pidfile: [по умолчанию:/var/run/fail2ban/fail2ban.pid]: Устанавливает pid-файл, в котором хранится идентификатор процесса демона (работает только наfail2ban >= 0.8.9)fail2ban_dbpurgeage: [по умолчанию:86400]: Устанавливает возраст, по которому запреты должны быть удалены из базы данныхfail2ban_ignoreips: [по умолчанию:[127.0.0.1/8]]: Какие IP-адреса/CIDR маски/DNS-хосты должны игнорироваться в действиях fail2banfail2ban_bantime: [по умолчанию:600]: Устанавливает время блокировкиfail2ban_maxretry: [по умолчанию:3]: Максимальное количество попыток перед тем, как хост будет заблокированfail2ban_findtime: [по умолчанию:600]: Хост блокируется, если он сгенерировалfail2ban_maxretryв последниеfail2ban_findtimefail2ban_backend: [по умолчанию:auto]: Указывает бэкенд, используемый для отслеживания изменений файлов. Для Debian 12 требуетсяsystemdfail2ban_banaction: [по умолчанию:iptables-multiport]: Устанавливает глобальное/умолчательное действие по блокировкеfail2ban_banaction_allports: [по умолчанию:iptables-allports]: Устанавливает глобальное/умолчательное действие по блокировке для всех портовfail2ban_mta: [по умолчанию:sendmail]: Действие по отправке электронной почтыfail2ban_protocol: [по умолчанию:tcp]: Устанавливает протокол по умолчаниюfail2ban_chain: [по умолчанию:INPUT]: Указывает цепочку, в которую необходимо добавить прыжки в действиях iptables-*fail2ban_action: [по умолчанию:%(action_)s]: Действие по умолчанию. Обратите внимание, что переменные (включая действия, определенные в других конфигурационных файлах) должны быть заключены в стиль Python%(и)s, чтобы они были расширеныfail2ban_sendername: [по умолчанию:Fail2ban]: Имя 'от' для писем, отправляемых действиями mta. Обратите внимание: используйтеfail2ban_sender, чтобы установить адрес электронной почты 'от'.fail2ban_sender: [необязательный]: Адрес 'от' для писем, отправляемых действиями mta.fail2ban_filterd_path: [необязательный]: Путь к директории, содержащей фильтры для копирования (обратите внимание на косую черту в конце)fail2ban_actiond_path: [необязательный]: Путь к директории, содержащей действия для копирования (обратите внимание на косую черту в конце)fail2ban_jaild_path: [необязательный]: Путь к директории, содержащей тюрьмы для копирования (обратите внимание на косую черту в конце)fail2ban_services: [по умолчанию см.defaults/main.yml]: Определения службfail2ban_services.{n}.name: [обязательно]: Имя службы (например,ssh)fail2ban_services.{n}.enabled: [по умолчанию:true]: Включена ли служба или нетfail2ban_services.{n}.*: [необязательный]: Название опцииfail2ban_services.{n}.*.*: [необязательный]: Значение опции
Для версии >= 0.11.1
fail2ban_bantime_increment: [по умолчанию:true]: Увеличивает время блокировки после предыдущей блокировкиfail2ban_bantime_factor: [по умолчанию:1]: Фактор увеличения времени блокировки дляbantime_formulaилиbantime_multipliersfail2ban_bantime_formula: [по умолчанию:'ban.Time * (1<<(ban.Count if ban.Count<20 else 20)) * banFactor']: Формула, которая будет использоваться для расчета увеличенного времени блокировки. Обратите внимание, что вы можете использовать либоbantime_formula, либоbantime_multipliers, при этомbantime_multipliersимеет приоритет.fail2ban_bantime_overalljails: [по умолчанию:false]: Блокировка IP для всех тюрем, если определено несколькоfail2ban_bantime_rndtime: [необязательный]: Опция для умных ботов, которые пытаются получить доступ сразу после времени блокировкиfail2ban_bantime_multipliers: [необязательный]: Умножитель для использования вместо bantime_formula. Например,1 2 4 8 16 32 64. Обратите внимание: для bantime = 600 и bantime_factor = 1 это будет600*1*1, 600*1*2...
Зависимости
Нет
Примеры
Простой
---
- hosts: all
roles:
- oefenweb.fail2ban
Включение фильтра sshd (с нестандартными настройками)
---
- hosts: all
roles:
- oefenweb.fail2ban
vars:
fail2ban_services:
# В более старых версиях Fail2Ban это называется ssh
- name: sshd
port: 2222
maxretry: 5
bantime: -1
Добавление пользовательских фильтров (извне роли)
---
- hosts: all
roles:
- oefenweb.fail2ban
vars:
fail2ban_filterd_path: ../../../files/fail2ban/etc/fail2ban/filter.d/
fail2ban_services:
- name: apache-wordpress-logins
port: http,https
filter: apache-wordpress-logins
logpath: /var/log/apache2/access.log
maxretry: 5
findtime: 120
Лицензия
MIT
Информация о авторе
Миша тер Смиттен (на основе работы ANXS)
Обратная связь, отчеты о багах, запросы и др.
Буду рад вашим отзывам!
ansible-galaxy install Oefenweb.fail2ban