Я настроил экземпляр Traefik, запускаемый движком Docker в режиме Swarm, с «классической» конфигурацией (см. ниже, для краткости я помещаю только важные [для меня] части. Не стесняйтесь спрашивать более подробную информацию, если вам это нужно).
Установлен Fail2Ban, а также firewalld (дистрибутив CentOS). Пока что я поставил простую настройку фильтра/джейла, в основном для блокировки DOS и брутфорса, просматривая лог доступа Traefik.
Моя проблема: когда я пытаюсь с Никто или же Гидра, я вижу, что мой пробный IP-адрес был занесен в черный список:
# статус клиента fail2ban symfony-auth
Статус для джейла: symfony-auth
|- Фильтр
| |- В настоящее время не удалось: 3
| |- Всего неудачно: 906
| `- Список файлов: /var/log/traefik/access.log
`- Действия
   |- В настоящее время забанено: 1
   |- Всего забанено: 2
   `- Список запрещенных IP-адресов: 37.19.218.169
Но ничего не меняется в части правил iptables, и я вижу, что данный IP-адрес не заблокирован.Более того, если я попытаюсь перейти на сайт с заблокированного IP, я смогу это сделать, даже если он забанен.
Я должен добавить, что у меня есть 00-файл firewalld.conf, с инструкциями по умолчанию относительно действий для этого дистрибутива:
# кот /etc/fail2ban/jail.d/00-firewalld.conf
# Этот файл является частью пакета fail2ban-firewalld для настройки использования
# действия firewalld как действия по умолчанию. Вы можете удалить этот пакет
# (вместе с пустым мета-пакетом fail2ban), если вы не используете firewalld
[ПО УМОЛЧАНИЮ]
banaction = firewallcmd-rich-rules[actiontype=<мультипорт>]
banaction_allports = firewallcmd-rich-rules[actiontype=<allports>]
бэкэнд = systemd
Наконец, у меня нет разницы во времени, как указано здесь.
# хвост /var/журнал/сообщения
12 июл 13:28:05 ....
# timedatectl
               Местное время: пн 2021-07-12 13:30:18 UTC
           Всемирное время: пн 2021-07-12 13:30:18 UTC
                 Время RTC: Пн 2021-07-12 13:30:13
                Часовой пояс: UTC (UTC, +0000)
Синхронизация системных часов: да
              Служба NTP: активна
          RTC в местной ТЗ: нет
Так почему же мой заблокированный IP-адрес все еще может достичь целевого веб-сайта? Спасибо за ваши выводы и просветления.
Фрагменты
Траефик докер-compose.yml
Ведущая часть
версия: "3.3"
Сервисы:
  обратный прокси:
    изображение: "traefik:v2.4"
    команда:
      # Конфигурация журнала
      #- "--log.level=ОТЛАДКА"
      - "--log.filepath=/var/log/traefik/traefik.log"
      - "--accesslog.filepath=/var/log/traefik/access.log"
     
Объемная часть :
    # ...
    тома:
      # Чтобы сохранить сертификаты
      - traefik-сертификаты:/letsencrypt
      - "/var/run/docker.sock:/var/run/docker.sock:ro"
      - /var/журнал/traefik:/var/log/traefik/
    # ...
Fail2Ban
Мой фильтр
/etc/fail2ban/filter.d/my_filter.conf
[Определение]
failregex = ^<HOST>.*"(GET|POST|HEAD).*" (404|444|403|400|301) .*$
игнорироватьregex =
Моя тюрьма
[моя_тюрьма]
 включено = верно
 порт = http,https
 фильтр = мой_фильтр
 logpath = /var/log/traefik/access.log
 максимальная попытка = 10
Статус клиента
# статус клиента fail2ban
Положение дел
|- Количество тюрем: 2
`- Список джейлов: sshd, my_jail