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

Мозговой штурм: идеи предотвращения наводнений / DoS / DDoS-атак

Это не вопрос, как остановить атаку. Это просто ветка для всех и каждого, чтобы обсудить идеи по предотвращению, устранению и поддержанию активности вашего сервера во время этих атак.

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

Разместите примеры, если хотите. Публикуйте идеи, как отфильтровать атаки флуда. Публикуйте идеи, как сохранить работоспособность вашего сервера во время сильной DDoS-атаки.

Во время DDOS SYN-атаки я переместил свой сайт на второй IP-адрес, и мой интернет-провайдер заблокировал исходный IP-адрес на своем уровне. Хотя это и привело к небольшому простою в результате распространения DNS, это уменьшило нагрузку и вернуло меня в сеть. Блокировка исходного IP-адреса на уровне ISP не позволяла DDOS добраться до моих серверов. Затем была запущена вторичная DDOS-атака, состоящая из законных соединений, но их много. В итоге я исправил iptables своего брандмауэра Linux, чтобы использовать ipset для повышения производительности, поскольку я заблокировал тысячи IP-адресов.

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

netfilter с ipset дал хорошую производительность, но не synproxy.

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

Единственный способ по-настоящему предотвратить DDOS - это отключить ваш сервер (-ы) от Интернета. Но затем вы должны объяснить руководству, почему никто не видит веб-сайт вашей компании. :-)

Существует множество различных типов атак типа «отказ в обслуживании» (DoS), и ни одно решение не может решить эту проблему. Брандмауэры веб-приложений (WAF) могут использоваться для защиты серверов от потока трафика, создаваемого атакой распределенного отказа (DDoS) в обслуживании. Часто такие атаки содержат большой объем однотипных запросов. WAF может ограничивать скорость или даже блокировать конкретного пользователя, который отправляет большое количество HTTP-запросов. Пинг ICMP - еще один распространенный тип DDoS, если вы заблокируете входящий ICMP с помощью брандмауэра с фильтрацией пакетов, это уменьшит атаку.

Но со временем при достаточном трафике инфраструктура вокруг вас начнет рушиться, и ваш сервер выйдет из строя. Маршрутизаторы для магистральной сети Интернета забиты DDoS-атаками, создаваемыми червями. Недавно UltraDNS подвергся DDoS-атаке, что привело к падению Amazon.com: http://www.securityfocus.com/brief/1053

Финли, чтобы отключить сервер, не нужно большое количество пакетов. Атака типа «отказ в обслуживании» может состоять всего из одного искаженного пакета. Переполнение буфера может привести к сбою сервера или, что еще хуже, предоставить полный доступ к вашему серверу хакеру. Убедитесь, что у вас установлена ​​последняя версия программного обеспечения.

Есть компании, которые специализируются на таких услугах. У них есть огромная доступная пропускная способность, поэтому они могут принимать удар и фильтровать только законные запросы к вашим серверам.

Обновление: если вы действительно хотите попробовать сделать это самостоятельно, в первую очередь учтите тот факт, что были атаки с устойчивой пропускной способностью 50-80 Гбит / с. И с каждым годом он становится все больше и больше. Не удивлюсь, если в этом году увижу более 100 атак.

Теперь по поводу защиты:

  1. Любые атаки ниже уровня приложения должны быть остановлены по периметру (лучше - на границе ISP). Инвестируйте в хорошие межсетевые экраны - загрузка процессора будет огромной, поэтому чем мощнее, тем лучше.
  2. Перед вашим применение находится под атакой - попробуйте думать как атакующий - каковы самые слабые стороны? Злоумышленник будет попадать на страницы, которым требуется всего несколько байтов для загрузки на ваши серверы, но которые выполняют много тяжелой работы на стороне сервера (например, любые виды поиска с подстановочными знаками и т. Д.). Страницы, доступные без аутентификации, следует сначала просмотреть. Попробуйте найти решение, которое позволит вам быстро отключить эту функцию, не отключая весь сайт.

  3. Некоторые атаки исходят только из определенных стран (например, Китая, России, Кореи). Вы можете подготовить ACL для своих маршрутизаторов, которые будут блокировать все сетевые блоки, принадлежащие определенной стране. Но будьте осторожны, при массированной атаке высока вероятность того, что ваши брандмауэры будут бороться с загрузкой процессора.

Удачи!

mod_evasive это одна из лучших мер на стороне сервера, которую вы можете предпринять, если вы используете веб-сервер Apache - http://www.think-security.com/protect-your-apache-web-server-with-mod_evasive/