Назад | Перейти на главную страницу

Каковы наилучшие методы предотвращения атак типа «отказ в обслуживании»?

В настоящее время я использую (D) DoS-дефляция управлять такими ситуациями на множестве удаленных серверов, а также Apache JMeter для нагрузочного тестирования.

В целом он работает достаточно хорошо, хотя я хотел бы услышать некоторые предложения от гуру, которые работали с такими обстоятельствами дольше меня. Я уверен, что те, кто работает в сфере веб-хостинга, справились с подобными ситуациями. Так что мне интересно, как лучше всего подходить к такого рода проблемам в корпоративной среде?

Предотвращение DDoS-атак в основном заключается в том, чтобы не быть целью. Не размещает игровые сервера, игорные / порносайты, и другие вещи, которые, как правило, чтобы заставить человек раздражали.

Противодействие DDoS-атаке проявляется в двух формах:

  • возможность игнорировать трафик и сбрасывать лишнюю нагрузку, что полезно, когда вы подвергаетесь атаке, которая пытается вывести вас из строя путем перегрузки ваших машин (а также пригодится, если вы когда-нибудь получите "Slashdotted";
  • возможность отклонять оскорбительный сетевой трафик выше вас, чтобы он не забивал ваши ссылки и не мешал подключению.

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

Последнее требует хорошей связи с вашими апстримами - сделайте татуировку номеров телефонов ваших вышестоящих NOC на внутренней стороне ваших век (или, по крайней мере, в вики где-нибудь, что не размещены в том же месте, что и ваши производственные серверы ...) и познакомьтесь с людьми, которые там работают, поэтому, когда вы позвоните, вы сразу же привлечете внимание как человек, который действительно знает, о чем они говорят, а не просто случайный Джонни.

Вы не упоминаете, какая у вас охрана периметра. С брандмауэрами Cisco вы можете ограничить количество эмбриональных (половинных сеансов), которые разрешит ваш брандмауэр, прежде чем он их отключит, при этом позволяя проходить полные сеансы. По умолчанию он неограничен, что не обеспечивает защиты.

Аппаратные балансировщики нагрузки, такие как Foundry ServerIron и Cisco ACE, отлично подходят для борьбы с огромным количеством основных типов DOS / DDOS-атак, но не так гибки, как программные решения, которые могут быстрее «изучить» новые методы.

Один хороший источник информации - на этот сайт. Одна мера, о которой они упоминают лишь мимоходом (и которую стоит изучить дополнительно), - это включение файлов cookie SYN. Это предотвращает целый класс DoS-атак, не позволяя злоумышленнику открывать большое количество «полуоткрытых» соединений в попытке достичь максимального количества файловых дескрипторов, разрешенных для каждого процесса. (См. Справочную страницу bash, найдите встроенную команду ulimit с параметром -n)

Отказ от ответственности: я не гуру защиты от DDoS-атак.

Я думаю, это зависит от того, какой у вас бюджет, каковы ваши условия безотказной работы и насколько вы или ваши клиенты подвержены такому риску.

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