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

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

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


person David G    schedule 20.09.2008    source источник


Ответы (3)


Это техника, которую я нашел очень полезной.

Предотвращение атак типа "отказ в обслуживании" (DOS) в вашем веб-приложении

person Gulzar Nazim    schedule 20.09.2008

Что бы вы ни делали против 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 к Linux: часть 5. Ведение журнала Linux IBM.

Удачи!

person Rodrigo Amaya    schedule 20.09.2008
comment
Продукты, использующие мою библиотеку, должны работать не только на Linux, но и на Windows и AIX. - person David G; 13.11.2009

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

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

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

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

person David G    schedule 02.11.2008
comment
кажется, что вы использовали решение Гульзара, а затем добавили к нему свой вкус, я думаю, в этом случае вы должны отдать должное Гульзару и принять его ответ - person Harryboy; 11.12.2009