Можно ли что-нибудь сделать, чтобы сделать сервер Django Channels менее уязвимым для легких или случайных DDoS-атак или общего увеличения нагрузки от клиентов websocket / HTTP? Поскольку каналы не являются по-настоящему асинхронными (по-прежнему работают за кулисами), я чувствую, что было бы довольно легко отключить веб-сайт на основе каналов - даже с довольно простым оборудованием. В настоящее время я создаю приложение на каналах Django и позже проведу несколько тестов, чтобы увидеть, как оно работает.
В Дафни встроено какое-то дросселирование? Должен ли я реализовать какое-то регулирование на уровне приложения? Это все равно будет медленным, поскольку рабочий процесс все еще обрабатывает регулируемый запрос, но запрос может быть намного быстрее. Что еще я могу сделать, чтобы попытаться предотвратить эти атаки?
Одна мысль, которая у меня была, заключалась в том, чтобы всегда обеспечивать наличие воркеров, назначенных для определенных каналов - таким образом, если канал веб-сокета будет перегружен, HTTP все равно будет отвечать.
Изменить: я хорошо знаю, что защита от DDoS-атак на низком уровне - идеальное решение, и я понимаю, как работают DDoS-атаки. Я ищу решение, встроенное в каналы, которое может помочь справиться с такой повышенной нагрузкой. Возможно, способность Дафни увеличивать масштаб одного канала и уменьшать другой для компенсации или метод регулирования, который может уменьшить вес каждого запроса после определенного момента.
Я ищу конкретный ответ о дафне / каналах - общие ответы о DDoS или общей обработке нагрузки - это не то, что я ищу - есть много других вопросов по SO по этому поводу.
Я также мог управлять дросселированием в зависимости от того, кто вошел в систему, а кто нет - может помочь дроссель для пользователей, которые не вошли в систему.
Изменить еще раз: прочтите вопрос полностью! Я не ищу общих советов по предотвращению DDoS-атак или объяснений низкоуровневых подходов. Мне интересно, поддерживает ли Дафни что-то вроде:
- Регулирование
- Динамическое назначение работников в зависимости от размера очереди
- Промежуточное ПО для обеспечения приоритета аутентифицированных запросов
Или что-то в этом роде. Я также собираюсь обратиться к сообществу каналов напрямую по этому поводу, поскольку SO, возможно, не лучшее место для этого вопроса.
system resource
проблема. Задержкаforegone conclusion
. Вы можете добиться успеха в атаках с низкой стоимостью, но как обрабатывать системные ресурсы? Невозможно использовать какую-либо процедуру хранения на брандмауэре, это означает, что запросы good_user vs bad_user. Вы не можете защитить себя, если приняли нежелательные запросы! Недешево, если пакет достиг обратной связи (lo
). - person dsgdfg   schedule 21.07.2017