Какое-то время назад написал скрипт который делает бан по странам при помощи связки ipset + firewalld, хотел написать статью как пользоваться, но в итоге думаю Readme будет достаточно
Из основного:
- работает в CentOS / Deb* дистрах
- сам ставит firewalld если такового нет
- можно делать исключения по странам
- есть набор "утилит" по удалению ipset, сброса сделанных настроек
- протестирован и работает на нескольких VPS с CentOS / Ubuntu - нагрузка снизилась, атаки уменьшились в несколько раз
Перед вводом в прод, протесть работу на резервной виртуалочке. Будут вопросы или пожелания welcome, делюсь:
https://github.com/m0zgen/block-geoip