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