Ранее у меня есть CentOS 6.5 с Iptables, и я настраиваю некоторые тюрьмы для nginx, как предложено здесь: Как использовать fail2ban для Nginx?.
Но теперь я нахожусь в CentOS 7, пытаясь использовать новый брандмауэр и последний fail2ban также. Я знаю, что существует новое firewallcmd-ipset.conf
. Но интересно, как код вышеупомянутой ссылки должен быть адаптирован к новому брандмауэру и новому fail2ban.
Наблюдение firewallcmd-ipset.conf
кажется, что это также ожидает переменные port
и name
. Таким образом, возможно, это столь же легко как замена iptables-multiport
firewallcmd-ipset
.
Мысли?
Заранее спасибо,
FirewallD - это просто оболочка iptables, которая упрощает управление вашими правилами.
Однако, IMHO, Firewalld лучше для среды рабочей станции, чем для среды сервера.
Таким образом, я рекомендую вам systemctl
следующее действие
отключить FirewallD
mask Firewalld
enable iptables
Затем поместите соответствующее действие iptables
в свой ] jail.local
В моем предыдущем опыте использования конфигурации firewalld в fail2ban, Я обнаружил, что конфигурация не перезагружает frewalld, что означает активацию правил, добавленных fail2ban.
Когда я firewall-cmd --reload
вручную, все недопустимые IP-адреса, записанные fail2ban, отображаются в firewall-cmd --list-all
В этом случае использование iptables
- ваш более быстрый выбор, либо вы можете изменить настройки firewalld-xxxxx
.
Вам не нужно ничего менять. На CentOS 7 конфигурация по умолчанию уже включает конфигурационный бит для установки fail2ban banaction на firewallcmd-ipset. Это входит в пакет fail2ban-firewalld fail2ban-firewalld
, который должен быть установлен автоматически.
Вам нужно только убедиться, что вы не переопределили banaction
где-то еще в вашей конфигурации.