Проблема атакующих ботов
Ваш веб-сервер ежедневно подвергается множеству автоматических атак. Боты пытаются получить доступ к конфиденциальным файлам вроде .env, репозиториям Git или административным панелям WordPress (wp-login.php). Эти попытки не только создают шум в логах, но и расходуют системные ресурсы.
Первый уровень: IP-фильтрация через ipset
Для первичной блокировки нежелательных запросов можно использовать модуль ядра Linux ipset. Он позволяет быстро создавать списки IP-адресов и применять их для фильтрации сетевого трафика. Например, вы можете заблокировать все запросы от известных диапазонов адресов, используемых спамерами и сканерами уязвимостей.
Как это работает:
- Создаётся список запрещённых IP-адресов (
ipset create blocklist hash:ip). - Этот список используется правилами iptables для блокирования входящих соединений (
iptables -A INPUT -m set --match-set blocklist src -j DROP).
Таким образом, большая часть вредоносного трафика будет отсекаться ещё до попадания на веб-сервер.
Второй уровень: Автоматическая блокировка подозрительных пользователей
Если атака проходит первый фильтр, вступает второй уровень защиты – система автоматической блокировки. Она анализирует поведение пользователя и при обнаружении аномалий временно блокирует его IP-адрес. Это может быть реализовано как собственными средствами мониторинга, так и сторонними решениями типа Fail2ban.
Например, если один и тот же IP многократно пытается войти в административную панель сайта, он автоматически попадает под временный бан.
Третий уровень: CrowdSec – коллективное решение угроз
CrowdSec представляет собой систему коллективной безопасности, которая объединяет усилия тысяч администраторов по всему миру. Когда кто-то обнаруживает атаку, информация о ней распространяется среди всех участников сети. Таким образом, ваша система получает актуальные данные об угрозах практически мгновенно.
CrowdSec интегрируется с большинством популярных сервисов и платформ, включая Nginx, Apache, WordPress и другие. Благодаря этому даже сложные атаки могут быть эффективно отражены.