
Я подумал, что DDoS-атака может происходить двумя способами:
- Отправка больших пакетов.
- Отправка большого количества пакетов.
Почему сетевые администраторы не ограничивают IP-подключения, скажем, тремя пользователями/IP-адресами, и не устанавливают ограничение на их пропускную способность?
Я не вижу проблемы. Я знаю много программных продуктов, таких как NetLimiter 3 Pro, которые отлично ограничивают пропускную способность, но они не ограничивают пользователей/IP-адреса.
решение1
Ну, во-первых, давайте определимся с термином «DDOS». Это означаетРаспределенный отказ в обслуживании, ключевое слово распределяется. Если вы ограничиваете количество подключений на IP, это не имеет значения, потому что у вас есть сто тысяч различных IP-адресов, которые бьют по вашей системе.
Итак, вы ограничиваете по размеру запроса. Отлично, как вы отличаете парня, который F5ing, от узла в ботнете?
Но что бы там ни было, предположим, у нас есть волшебный алгоритм анализа поведения. DDoS-атаки стремятся исчерпать ресурсы сервера и гарантировать, что машина недоступна — применение сложной аналитики данных к проблеме, вызванной нехваткой ресурсов, приведет кобострятьпроблему, а не решить ее.
Печальный факт в том, что даже игнорирование соединения требует некоторых ресурсов. Вы могли бы рассмотреть возможность использования сервиса вроде Cloudflare, который сочетает кэширование для низкого потребления ресурсов на запрос с (я полагаю) обнаружением DDoS с помощью человека, но повторная реализация этого сервиса самостоятельно, вероятно, выходит за рамки большинства проектов и значительно увеличит сложность.
решение2
Вы не можете ограничитьих. Если кто-то стреляет в вас пулями, как вы устанавливаете ограничение на количество пуль, которые они могут в вас выпустить? К тому времени, как пуля до вас доберется, ущерб уже нанесен.