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

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

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

5 ответов

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

Снижение DDoS-атаки происходит в двух формах:

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

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

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

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

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

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

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

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

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

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