
Вчера я заметил странную активность моего скромного веб-сервера: он был умеренно теплым, подергивались головки жесткого диска, а активность локальной сети была необычно высокой.
Когда я посмотрел логи, то обнаружил, что какой-то хостер сканирует мой веб-сервер на предмет документов, используя метод подбора имен файлов.
Есть ли какая-либо защита от подобной атаки методом перебора, которую я мог бы реализовать в RouterOS?
решение1
Да, защита есть. По сути, вам придется добавить правило брандмауэра для обнаружения таких хостов (критерий: несколько соединений tcp/port 80 с одного хоста), и когда оно у вас есть, добавьте этот исходный IP в список адресов.
/ip firewall filter add chain=input protocol=tcp dst-port=80 connection-limit=200,32 \
action=add-src-to-address-list address-list=blocked-addr address-list-timeout=1d
Затем заблокируйте входящие соединения с этого списка адресов.
/ip firewall filter add chain=input src-address-list=blocked-addr action=drop
Вам нужно настроить лимит (здесь 200). А также цепочку (ввод, если веб-сервер — это устройство mikrotik, пересылка, если это другой веб-сервер)
Это адаптировано из вики: http://wiki.mikrotik.com/wiki/DoS_атака_защита
решение2
Ответ Бенуа позволяет блокировать хосты, делающие одновременные запросы. Но если они закрывают соединения так же быстро, как и открывают, вы можете не успеть отфильтровать их по многим из них. Другая логика — использовать, dst-limit
которые имеют ограничение скорости.
- Добавляем список ограничений по скорости:
/ip firewall address-list
add list=rate-limit
- Затем мы устанавливаем правила фильтрации:
- Переход к цепочке ограничения скорости для всех новых подключений в глобальной сети (WAN);
- Проверьте, было ли 10 подключений за последнюю минуту с интервалами в 5 подключений на основе
dst-address
и сбросом через 2 минуты бездействия. - Если достигнуто dst-limit, действие возврата пропускается и выполняется следующее действие в цепочке rate-limit —
add-src-to-address-list
к списку rate-limit с таймаутом 10 минут.
/ip firewall filter
add chain=forward action=jump jump-target=rate-limit connection-state=new in-interface-list=WAN
chain=rate-limit action=return dst-limit=10/1m,5,dst-address/2m
chain=rate-limit action=add-src-to-address-list address-list=rate-limit address-list-timeout=10m
- Наконец, мы добавляем каплю в сыром виде, таким образом экономя ресурсы:
/ip firewall raw
add action=drop chain=prerouting src-address-list=rate-limit
Вы можете поиграть с количеством подключений и таймингами для тонкой настройки в соответствии с конкретными потребностями. Вы можете контролировать на вкладке Firewall/Conncetions с фильтром для вашего публичного IP, чтобы увидеть