Для успешного исключения проникновения и внедрения вредоносных кодов в структуру сайтов необходимо использовать функционал Iptables и Ipset.
Ipset позволяет на уровне сервера создавать списки IP-адресов, с которых идут массовый brute-force, сканирование директорий, отправка запросов типа: POST /index.php?option=com_ajax&plugin=helixultimate&format=json&task=saveMegaMenuSettings HTTP/1.1 и POST /index.php?option=com_sppagebuilder&task=asset.uploadCustomIcon HTTP/1.1.
Запуск IPTABLES и IPSET
Сначала проверяем наличие на сервере работающего на ОС Debian-12 пакета Ipset. Может он установлен и просто не настроен.
![]()
Поскольку команда ipset version дала command not found, значит пакет отсутствует. Установка: apt update и apt install ipset.



После успешной инсталляции проверяем: ipset list. Пустой вывод говорит, что ipset установлен, но отсутствует черный список - Blacklist.

Настройка IPSET
Для работы IPSET требуется Blacklist. Поэтому формируем черный список. Создаём универсальный blacklist. Используем hash:net, чтобы Fail2Ban мог писать туда IP, и подсети:
ipset create blacklist hash:net family inet hashsize 4096 maxelem 200000.
Для того, чтобы видеть по каким адресам из черного списка идет срабатывание Iptables, то есть видеть статистику надо запустить логирование:
iptables -I INPUT 1 -m set --match-set blacklist src -j LOG --log-prefix "IPSET-BLACKLIST: " --log-level 4.

Где IPSET-BLACKLIST – название нашего лог файла.
Формируем для Iptables правило: iptables -I INPUT 2 -m set --match-set blacklist src -j DROP
Сохранение конфигурации Iptables: netfilter-persistent save и iptables-save > /etc/iptables/rules.v4

Добавляем IP-адрес в черный список, командой: ipset add blacklist
Удаление адреса из списка: ipset del blacklist
Сохранение списка: ipset save > /etc/ipset.conf
![]()