Я ищу лучшие методы для обнаружения и предотвращения DOS в реализации службы (а не для мониторинга внешней сети). Служба обрабатывает запросы для информации о пользователе, группе и атрибутах.
Каков ваш любимый источник информации о работе с DOS?
Я ищу лучшие методы для обнаружения и предотвращения DOS в реализации службы (а не для мониторинга внешней сети). Служба обрабатывает запросы для информации о пользователе, группе и атрибутах.
Каков ваш любимый источник информации о работе с DOS?
Это техника, которую я нашел очень полезной.
Предотвращение атак типа "отказ в обслуживании" (DOS) в вашем веб-приложении
Что бы вы ни делали против DoS-Attacks, подумайте, действительно ли то, что вы делаете, может увеличить нагрузку, необходимую для обработки вредоносных или нежелательных запросов!
Если вы используете Linux, вы должны прочитать эту статью:
Защищенная оболочка DoS-атак script (из Linux Gazette)
Он имеет следующие темы:
Применение этого без надлежащего ограничения количества заблокированных IP-адресов в iptables может ввести DoS-уязвимость, увеличив требуемые ресурсы для передачи нежелательных запросов. Чтобы уменьшить этот риск, используйте ipset для соответствия IP-адресам в iptables.
Кроме того, читайте о предотвращении атаки словаря ssh с помощью iptables. (включение iptables с брандмауэром с включенным состоянием, как предлагается здесь, не защищает от большинства DoS-Attacks, но может фактически облегчить DoS-атаки, которые загрязняют вашу RAM бесполезной информацией о состоянии.)
Новое в Linux? прочитайте дорожная карта Windows-Linux: Часть 5. Логирование Linux в IBM.
Удачи!
Моя первая попытка разрешить уязвимость DoS использовала подход, предложенный Gulzar, который в основном ограничивает количество вызовов, разрешенных с одного и того же IP-адреса. Я считаю, что это хороший подход, но, к сожалению, это привело к тому, что мой код не прошел тест производительности.
Поскольку мне не удалось заставить группу тестирования производительности изменить свой тест (политическая проблема, а не техническая), я изменил ее на ограничение количества вызовов, разрешенных в течение настраиваемого интервала. Я сделал как максимальное количество вызовов, так и настраиваемый временной интервал. Я также разрешил устанавливать значение 0 или отрицательное число, которое отключает ограничения.
Код, который необходимо защитить, используется внутренне несколькими продуктами. Итак, у каждой группы продуктов были свои QA-тесты и тесты производительности, и они принесли значения по умолчанию, которые были как можно меньше, чтобы ограничить реальную атаку DoS, но все же прошли все тесты.
FWIW, временной интервал составлял 30 секунд, а максимальное количество вызовов - 100. Это не вполне удовлетворительный подход, но он прост и практичен и одобрен корпоративной группой безопасности (другое политическое решение).