Oefenweb.fail2ban

fail2ban

CI Ansible Galaxy

Настройка fail2ban на системах, подобных Debian.

Требования

Нет

Переменные

  • fail2ban_loglevel: [по умолчанию: 3, или INFO в более новых версиях]: Устанавливает уровень вывода логов (например, 1 = ERROR, 2 = WARN, 3 = INFO, 4 = DEBUG)

  • fail2ban_logtarget: [по умолчанию: /var/log/fail2ban.log]: Устанавливает цель для логов. Это может быть файл, SYSLOG, STDERR или STDOUT

  • fail2ban_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-хосты должны игнорироваться в действиях fail2ban

  • fail2ban_bantime: [по умолчанию: 600]: Устанавливает время блокировки

  • fail2ban_maxretry: [по умолчанию: 3]: Максимальное количество попыток перед тем, как хост будет заблокирован

  • fail2ban_findtime: [по умолчанию: 600]: Хост блокируется, если он сгенерировал fail2ban_maxretry в последние fail2ban_findtime

  • fail2ban_backend: [по умолчанию: auto]: Указывает бэкенд, используемый для отслеживания изменений файлов. Для Debian 12 требуется systemd

  • fail2ban_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_multipliers
  • fail2ban_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)

Обратная связь, отчеты о багах, запросы и др.

Буду рад вашим отзывам!

О проекте

Set up fail2ban in Debian-like systems

Установить
ansible-galaxy install Oefenweb.fail2ban
Лицензия
mit
Загрузки
350.5k
Владелец