Лучшие практики для обнаружения атак DOS (отказ в обслуживании)?

Я ищу лучшие практики для обнаружения и предотвращения DOS в реализации службы (не мониторинг внешней сети). Служба обрабатывает запросы на информацию о пользователях, группах и атрибутах.

Какой ваш любимый источник информации о работе с DOS?

3 ответа

Решение

Что бы вы ни делали против DoS-атак, подумайте, может ли то, что вы делаете, увеличить нагрузку, необходимую для обработки вредоносных или нежелательных запросов!

Если вы используете Linux, вы должны прочитать эту статью:
Сценарий оболочки для предотвращения DoS-атак на основе правил (из Linux Gazette). Содержит следующие темы:

  • Как обнаружить DoS-атаки из файла / var / log / secure
  • Как уменьшить избыточные обнаруженные IP-адреса из временного файла
  • Как активировать / sbin / iptables
  • Как установить предложенный скрипт оболочки

Применение этого без надлежащего ограничения количества заблокированных IP-адресов в iptables может привести к уязвимости DoS, увеличивая требуемые ресурсы для обработки нежелательных запросов. Чтобы снизить этот риск, используйте ipset для сопоставления IP-адресов в iptables.

Также читайте о предотвращении атак по словарю ssh с помощью iptables. (Включение iptables с сохранением состояния межсетевого экрана, как предложено здесь, не защищает от большинства DoS-атак против, но может фактически ослабить DoS-атаки, которые загрязняют вашу оперативную память бесполезной информацией о состоянии.)

Новое в Linux? Прочитайте план Windows-to-Linux: Часть 5. Регистрация Linux в IBM.

Удачи!

В моей первой попытке устранить уязвимость DoS использовался подход, предложенный Gulzar, который в основном заключается в ограничении количества вызовов, разрешенных с одного и того же IP-адреса. Я думаю, что это хороший подход, но, к сожалению, мой код не прошел тест производительности.

Поскольку я не смог заставить группу тестирования производительности изменить свой тест (политическая, а не техническая проблема), я переключился на ограничение количества вызовов, разрешенных в течение настраиваемого интервала. Я сделал как максимальное количество звонков, так и временной интервал, который можно настроить. Я также позволил установить значение 0 или отрицательное число, которое отключает ограничения.

Код, который необходимо защитить, используется внутри нескольких продуктов. Итак, я заставил каждую группу продуктов выполнить свои тесты QA и наборы тестов производительности и придумал значения по умолчанию, которые были как можно меньше, чтобы ограничить реальную DoS-атаку, но все же проходили все тесты.

FWIW, временной интервал составлял 30 секунд, а максимальное количество вызовов составляло 100. Это не совсем удовлетворительный подход, но он прост и практичен и был одобрен группой корпоративной безопасности (еще одно политическое соображение).

Другие вопросы по тегам