Статьи АнтиДДОС

Обсуждение в разделе «AntiDDos - АнтиДДОС», начал(-а) Fata1ex, 6.07.2009.

  1. dim76

    dim76 New Member

    Регистрация:
    3.01.2013
    Сообщения:
    49
    Одобрения:
    0
    Репутация:
    0
    продолжение статьи:
    Виды DoS атак
    Существует несколько способов группирования DoS атак по типам. Одна из логичных категоризаций DoS атак находится тут
    h__p://www.niser.org.my/resources/dos_attack.pdf
    Различают несколько видов DoS атак.
    Разрушающие
    Атаки, которые приводят к тому что устройство в сети становится полностью неработоспособно: зависает, уничтожается операционная система или конфигурация. Такие атака основана на уязвимостях программного обеспечения атакуемых систем.
    Атаки на ресурсы системы
    Атаки, которые значительно снижают производительность устройств или приложений. Например к этому классу относится атака SYN Flood.
    Заполнение пропускной способности каналов
    В эту категорию попадают атаки, которые своей целью ставят переполнение пропускной способности каналов. Обычно для переполнения канала используются любой вид пакетов TCP, ICMP или UDP с поддельными адресами источника случайно изменяющимися в диапазоне всевозможных значений, адреса получателя в пакете точно также случайно выбирают из диапазона сети, которая находится на атакованном канале. Однако сейчас такие атаки, стали осуществляться при помощи сетей зараженных компьютеров, где адреса источников атаки настоящие, и таким образом, практически неотличимые от подключающихся компьютеров реальных пользователей.
    Еще одной разновидностью DDoS атак такого типа являются DRDoS атаки (Distributed Reflection DoS), которые могут использовать как источник своей атаки любой сервер в Интернете. Идея DRDoS: любой сервер на пакет TCP c SYN флагом обязательно ответит пакетом TCP c флагами SYN+ACK. Если адресом источника в первом пакете поставить адрес жертвы, то сервер пошлет несколько TCP пакетов с флагами SYN+ACK по адресу жертвы, пока не поймет, что жертва соединения не хочет и соединения не будет. Если использовать для атаки много таких мощных серверов, отвечающих на ложные пакеты по ложному адресу, то жертва будет запружена потоком пакетов.
    Пример 4: DDoS на Коммерсант
    Генеральный директор издательского дома "Коммерсант" Демьян Кудрявцев заявил в интервью агентству "Интерфакс" 14 марта 2008 года, что финансовые потери компании, связанные с блокировкой сайта www.kommersant.ru в результате DDoS атак, исчисляются десятками или даже сотнями тысяч долларов.
    Кудрявцев подчеркнул, что DDoS атаки на сайт "Коммерсанта" беспрецедентны для России: "Если известные атаки на сайты эстонского посольства, радиостанции "Эхо Москвы" представляли собой 200-300 мегабайт мусорного трафика в секунду, то вчера на наш сайт его уровень достиг 2 гигабайт в секунду", - отметил он.
    Источник: securitylab.ru
    Атаки 1 и 2 типа встречаются достаточно части и для борьбы с ними администраторы уже давно эффективно используют как сетевые так и хостовые системы предотвращения атак (IPS). В этой статье мы будем говорить о защите от атак 3 типа, поскольку об этих методах защиты пока еще нет информации в русскоязычном Интернете. Атака третьего типа может быть обнаружена системой обнаружения или предотвращения атак, но заблокировать такую атаку на самом канале ни одна система защиты к сожалению будет неспособна. Канал во время атаки переполнен и в защите от атак должен принимать участие вышестоящий провайдер. IPS обычно не используются для защиты от таких атак, хотя сигнатуры для защиты SYNFlood и UDPFlood помогают уменьшить влияние этих атак, разгрузив атакованные сервера. Чаще всего для атак этого типа используются бот сети, которые выполняют вполне легитимные подключения и работу с вашей сетью. Но проблема в том, что их слишком много и отличить зомбированный компьютер от реального пользователя практически невозможно. Атаки третьего типа знакомы всем дачникам, пытающимся выехать из Москвы в пятницу и вернуться в Москву в воскресенье: МКАД и все трассы в области забиты и никакими средствами избавиться от их нельзя. Все пытающиеся прорваться сквозь пробку ругаются, хотя на самом деле сами и являются частью этой пробки. Остается только ждать, когда это все кончится само.
    Защита от DDoS для корпоративной сети
    Если ваш провайдер не предлагает услугу по блокировании DDoS атак, то у вас есть вариант попросить кого-то еще это сделать, но не меняя провайдера. Такую услугу мы разберем на примере компании Antiddos (www.antiddos.org). Даже, если на вас в настоящий момент идет атака, то вы можете достаточно быстро блокировать ее при помощи сервиса Antiddos одним из следующих вариантов.
    Перенаправление DNS и использование прокси
    Вы можете прописать в DNS IP адреса сети компании Antiddos.org. Допустим прописать, что ваш WEB сервер стоит на IP адресах Antiddos. В итоге атака будет направляться в их сеть, трафик DDoS будет отрезаться, а нужный трафик с вашего WEB сайта при помощи обратного прокси доставляться всем клиентам. Этот вариант очень подходит Интернет банкам, Интернет магазинам, онлайн-казино или электронным журналам. Вдобавок прокси позволяет кешировать данные.
    BGP маршруты и GRE туннели
    Antiddos.org может, используя протокол маршрутизации BGP сказать всему Интернету, что ваша сеть находится в сети Antiddos.org и весь трафик будет перенаправляться к ним, где и будет очищаться от злонамеренного содержимого. Чистый трафик вам будет перенаправляться при помощи протокола GRE, который переносит данные в вашу сеть так, как будто никакой DDoS атаки и не было. А вы из своей сети будете отвечать на пришедшие к вам пакеты в обычном режиме, поскольку ваш канал уже не будет перегружен.
    Прямое подключение к ANTIDDOS.ORG
    Можно напрямую подключить свою сеть через antiddos.org и всегда быть под их защитой, но по понятным причинам это не всегда возможно. Если ваша компания международная, то часть своих ресурсов вы можете подключить через компанию Antiddos.org или подобные компании. И на вас будет сложно совершить DDoS атаку.
    Наша компания защищает от ддос атак по своим уникальным технологиям. Мы не используем активных средств защиты. Вся наша инфраструктура построена на программно - аппаратном комплексе собственной разработки, что позволяет гибко настраивать систему защиты под нужды любых клиентов а также противодействовать атакам любой силы.
    Сервис от Akamai
    Большие компании, такие как IBM, Microsoft, Apple, Sony, AMD, BMW, Toyota, FedEx, NASA, NBA, MTV защищают свои WEB сайты от DDoS атак при помощи сервиса Akamai (www.akamai.com). Однако защита от DDoS, это лишь одна из возможностей сервиса Akamai. Этот сервис позволяет компаниям иметь зеркало своих сайтов в тысячах различных точек по всему земному шару, гарантируя 100% доступность в любое время. Обычно на зеркалах лежат мультимедийные данные, такие как видео, аудио и графика. Akamai использует математические алгоритмы для решения проблем с перегрузками возникающими на WEB серверах в глобальном масштабе. Эти алгоритмы были разработаны в Массачусетском технологическом институте (MIT). И именно благодаря им Akamai обеспечивает быструю и надежную передачу контента пользователям Интернет. Есть в судьбе компании и печальный факт: один из основателей Akamai Даниель Левин был убит при попытке остановить террористов в одном из самолетов захваченных 11 сентября 2001 года в США.
    Пример 6.
    Но даже Akamai однажды в 2004 году был выведен на час из строя. Говорят, что это была атака на DNS, но это тоже одна из темных историй. Подробнее тут www.washingtonpost.com/wp-dyn/articles/A44688-2004Jun15.html
    Средства защиты от DDoS атак для провайдеров
    В обычной ситуации невозможно отделить трафик ботов от трафика реальных пользователей: с виду это совершенно одинаковые запросы с разных адресов-источников. 99% этих адресов-источников могут быть ботами, и лишь 1% - реальными людьми, желающими воспользоваться вашим сайтом. И тут возникает вполне ожидаемое решение: надо просто иметь список этих зомби и блокировать их. Но как собрать такой глобальный список, ведь это затрагивает весь мир? И как выясняется для нас это элементарно.
    Есть коммерческие компании, которые непрерывно собирают список адресов с зараженными компьютерами. Остается только пропустить ваш трафик через фильтр, который отрежет ненужные запросы и оставит нужные. Здесь фильтром может быть либо межсетевой экран, на который была установлена новая политика фильтрации или маршрутизатор на который был прислан новый список доступа, однако наиболее эффективным является применение специальных блокираторов. Пора уже назвать имена таких производителей (в алфавитном порядке):
    Arbor (www.arbornetworks.com/en/threat-management-system.html)
    Cisco (www.cisco.com/en/US/products/ps5888/index.html)
    CloudShield (www.cloudshield.com/Products/cs2000.asp)
    Narus (www.narus.com/products/index.html)
    Компания Arbor собирает списки адресов бот сетей (http://atlas.arbor.net/summary/botnets), что используется в продуктах Arbor и ее партнеров. Такие списки адресов постоянно обновляются раз в 15 минут и, например, используются для обнаружения подключения защищаемых рабочих станций к бот сетям в продукте IBM Proventia Anomaly Detection System. В первом случае у провайдеров используется технология Peakflow SP, в другом в корпоративных сетях технология Peakflow X. Устройства производителей систем защиты от распределенных атак отличаются в первую очередь максимальными скоростями на которых они работают и числом одновременно защищаемых клиентов. Если у вас каналы передачи данных используют или планируют более одного 10Гбит соединения, то нужно уже задумываться какого производителя выбрать. Кроме того, производители отличаются различным дополнительным функционалом, временем требуемым на обнаружение атаки и включение защиты, производительностью и другими параметрами.
    Автоматика против интеллекта
    В случае, когда атака направлена не на сервер, а на переполнение канала, то боты подставляют в качестве адреса-источника любые адреса и трафик выглядит как поток каких-то данных со всех адресов Интернета на все адреса атакуемой сети. Это самый сложный вид атаки.
     
    #21 dim76, 20.01.2013
    В последний раз редактировалось: 20.01.2013
  2. dim76

    dim76 New Member

    Регистрация:
    3.01.2013
    Сообщения:
    49
    Одобрения:
    0
    Репутация:
    0
    Продолжение-окончание статьи:
    Пример 7: Атака на провайдера
    30-31 мая 2007 года петербургский провайдер Infobox подвергся массированной DDoS-атаке - до 2 Гб в секунду. Атака велась с десятков тысяч адресов, расположенных по всему миру, в том числе из России, Кореи, ОАЭ, Китая. Атаке подвергались DNS сервера. В результате большая часть каналов оказалась перегружена. Cайт, размещенные у провайдера серверы и почтовые ящики были полностью или частично недоступны. Техподдержка сообщила: "Мы стараемся минимизировать ущерб, наносимый атакой, но это достаточно проблематично и может вызывать неудобства для части клиентов (блокировка доступа из сетей крупных провайдеров)". По словам генерального директора "Инфобокса" Алексея Бахтиарова, атака велась с десятков тысяч адресов, расположенных по всему миру". Источник: securitylab.ru, 03.07.07
    Для атак такого типа разработаны сложные системы анализа поведения трафика в сети провайдера. Основная сложность информационных потоков в сети любого провайдера: их огромное количество. Человеку не под силу проанализировать такое количество разных соединений в секунду и тут мы вынуждены полагаться на искусственный интеллект систем анализа аномалий.
    По сути в момент начала приведенной выше DDoS атаки сеть провайдера должна была прекратить принимать запросы от новых IP адресов и пускать в свою сеть только запросы с IP адресов которые приходили ранее при нормальном функционировании системы. Текущие клиенты бы даже не заметили DDoS атаки. Но для этого надо было собирать ежедневно этот белый список. А для этого в сети должна была функционировать система анализа поведения сети, которая бы отличила своих клиентов от нежелательных.
    Я конечно описываю реакцию системы анализа аномалий достаточно упрощенно. На самом деле в искусственном интеллекте таких систем кроются разработки институтов, годы практического изучения DDoS атак и результаты диссертаций. Программисты уже написали программы которые легко играют в шахматы, что было достаточно непросто - надо было обыграть человека. Точно также защита от DDoS - сложная программа требующая высокой концентрации последних достижений в области анализа трафика, чтобы в автоматическом режиме среагировать на атаку. Методы атаки могут меняться атакующими раз в полчаса и система должна это отследить и предпринять соответствующие меры.
    Производители таких сложных систем анализа трафика обычно рассказывают какие именно принципы заложены в механизмы защиты только при личной встрече. В этой статье мне тоже не хватит места для их подробного изложения. Попробую лишь раскрыть основные принципы работы.
    Принцип работы систем защит от DDoS атак
    Система защиты от DDoS атак базируется на уже имеющихся в сети маршрутизаторах и добавляет в сеть свои два компонента:
    устройство для блокирования DDoS атаки. В английском языке это устройство называют mitigator. В связи с отсутствием аналогичных статей по данной теме я введу русский термин: буду называть его блокиратор;
    устройство со встроенным искусственным интеллектом для обнаружения DDoS атаки и перенаправления атаки на блокиратор, буду называть его детектор.
    Надо заметить, что в задачу блокиратора входит не только блокирование трафика, но и его замедление. После обнаружения DDoS атаки на какую-то сеть анализатор трафика вставляет в таблицы динамической маршрутизации (при помощи BGP или OSPF) запись, которая говорит, что маршрут в атакуемую сеть лежит через этот блокиратор.
    В результате весь трафик атаки начинает проходить через блокиратор, что дает возможность заблокировать трафик атаки, а легитимный трафик передать в защищаемую сеть. Передача в защищаемую сеть осуществляется любым доступным способом, например при помощи инкапсуляции трафика внутри GRE.
    После завершения атаки, таблица маршрутизации перенастраивается, чтобы трафик проходил через конечный маршрутизатор, связанный с этой сетью.
    Более подробно работу рассмотрим на конкретном примере: связка детекторов Arbor SP + с блокиратором Arbor TMS. SP здесь в названии означает Service Provider, а TMS - Threat Management System. Надо заметить, что детекторы Arbor SP часто используются совместно с блокираторами других компаний, например, они совместно работают с Cisco Guard и CloudShield CS-2000.
    Принцип работы Arbor Threat Management System
    Arbor TMS выполняет защиту от DDoS атак различных типов. Основным достоинством защиты на базе Arbor TMS является блокирование атак с случайных поддельных IP адресов всего Интернета на все адреса из атакуемой сети, имеющих своей целью переполнение канала. Для обнаружения DoS атаки используется детекторы Arbor SP. Устройства Arbor SP собирают информацию со всех маршрутизаторов и свитчей провайдера о трафике и анализируют его. Сбор информации собирается по любому протоколу сообщения о потоках, например при помощи Cisco NetFlow. Для перенаправления трафика атакуемой сети через устройство Arbor TMS используется протокол BGP. Управление устройством TMS осуществляется через Arbor SP контроллер, который не только управляет, но и собирает flow потоки от маршрутизаторов. Контроллер поддерживает до 5 маршрутизаторов. Каждые новые 5 маршрутизаторов обслуживаются дополнительным коллектором, который собирает flow потоки и передает в контроллер. Для передачи отфильтрованного хорошего трафика обратно в канал используется инкапсуляция GRE или MPLS. При обнаружении DoS атаки коллекторами Arbor SP по протоколу BGP добавляется подходящее устройство TMS как следующий маршрутизатор для атакуемой сети и таким образом трафик автоматически перенаправляется на фильтрующее устройство всеми маршрутизаторами.
    Существует несколько этапов работы связки Arbor SP+TMS.
    Обнаружение.Детектор Arbor SP понимает, что началась DDoS атака.
    Активация защиты. Детектор дает необходимую информацию TMS для его работы.
    Перенастройка маршрутизации. TMS дает маршутизаторам информацию по протоколу BGP о том какие сети он будет фильтровать. Маршрутизаторы начинают посылать ему трафик предназначенный только для этих сетей. Трафик для других сетей передается так же.
    Фильтрация. TMS получает трафик и удаляет из него вредоносные пакеты.
    Перенаправление. TMS перенаправляет полезный трафик клиенту провайдера. Для этого на маршрутизатор к которому подключен клиент передаются пакеты, инкапсулированные внутри GRE.
    Какие именно защитные механизмы реализованы в Arbor TMS в открытом доступе я не нашел, поэтому рассматриваю эту информацию как конфиденциальную.Пример 8: Эксперт США: Хакерские атаки на Эстонию исходили "не из Кремля"
    Об этом заявил старший инженер по вопросам безопасности известной американской компании Arbor Networks Хосе Назарио. По его словам, атаки шли с огромного числа компьютеров по всему миру, в том числе из США и Вьетнама. "Ни один из источников, анализ которых мы провели по всему миру, не показывает явную линию из Москвы в Таллин. Вместо этого в Эстонию все шло со всего мира", - сказал Назарио в интервью специализированному журналу IT PRO, посвященному информационным технологиям.
    По словам Назарио, хакерские атаки, из-за которых в конце апреля некоторое время был блокирован доступ, в частности, на сайты президента Эстонии, МИД, парламента и других ведомств, были глобальными и не исходили из одной страны. Они не были также результатом согласованных усилий какого-либо правительственного ведомства, сказал эксперт.
    Исследование Arbor Networks показало, что нападения на эстонские интернет-сайты были организованы с использованием гигантских сетей, работающих в автоматическом режиме компьютеров, число которых могло достигать 1 миллиона.
    Выводы
    Не всегда провайдеру выгодно защищать вас от DoS атак, поскольку если трафик идет к вам, то вы платите за него, а если провайдер его заблокировал у себя, то за этот трафик платит он. Поэтому подписывая договор оговорите позицию провайдера по блокировке трафика в случае DoS, DDoS и DRDoS атак на вас.
    Провайдеры могут использовать различные решения для защиты от DDoS атак. Спросите вашего провайдера есть ли они у него вообще и если есть, то какие.
    Не забудьте про оповещение самих себя об атаках на ваш сервер. Это может быть какая-то автоматизированная система, это может быть собственная дежурная смена, а может быть мониторинг безопасности дежурной сменой специализированной компании.
    Не стоит экономить на консультантах по информационной безопасности. Для сложных проблем уже найдены хорошие решения как в медицине и технике, так и в области ИБ.
    Частично материалы статьи взяты тут - www.cyberguru.ru
     
  3. tmp

    tmp Banned

    Регистрация:
    10.03.2005
    Сообщения:
    427
    Одобрения:
    32
    Репутация:
    1
    Подскажите плиз по iptables?
    правило

    -
    Code:
    A INPUT -p tcp -m tcp --dport 80 -m string --string "GET" --algo kmp -m recent --set --name httpddos --rsource
    НЕ отрабатывает.

    В таблицу записывается. Все ок. но iptables -vL INPUT

    Code:
    0     0            tcp  --  any    any     anywhere             anywhere            tcp dpt:http STRING match "GET" ALGO name kmp TO 65535 recent: SET name: httpddos side: source 
    Пакеты не попадают. по инету читаю, у всех так работает.
    Заранее спасибо
     
  4. Suicide

    Suicide Super Moderator
    Администрация

    Регистрация:
    24.04.2009
    Сообщения:
    2 122
    Одобрения:
    1 878
    Репутация:
    361
    Оперативная реакция на DDoS-атаки


    Один из ресурсов, за которым я присматриваю, вдруг стал неожиданно популярным как у хороших пользователей, так и у плохих. Мощное, в общем-то, железо перестало справляться с нагрузкой. Софт на сервере самый обычный — Linux,Nginx,PHP-FPM(+APC),MySQL, версии — самые последние. На сайтах крутится Drupal и phpBB. Оптимизация на уровне софта (memcached, индексы в базе, где их не хватало) чуть помогла, но кардинально проблему не решила. А проблема — большое количество запросов, к статике, динамике и особенно базе. Поставил следующие лимиты в Nginx:

    на соединения
    Code:
    limit_conn_zone $binary_remote_addr zone=perip:10m;
    limit_conn perip 100;
    и скорость запросов на динамику (fastcgi_pass на php-fpm)
    Code:
    limit_req_zone $binary_remote_addr zone=dynamic:10m rate=2r/s;
    limit_req zone=dynamic burst=10 nodelay;
    Сильно полегчало, по логам видно, что в первую зону никто не попадает, зато вторая отрабатывает по полной.

    Но плохиши продолжали долбить, и захотелось их отбрасывать раньше — на уровне фаервола, и надолго.

    Сначала сам парсил логи, и особо настырных добавлял через iptables в баню. Потом парсил уже по крону каждые 5 минут. Пробовал fail2ban. Когда понял, что плохишей стало очень много, перенёс их в ipset ip hash.

    Почти всё хорошо стало, но есть неприятные моменты:
    — парсинг/сортировка логов тоже приличное (процессорное) время отнимает
    — сервер тупит, если началась новая волна между соседними разборками (логов)

    Нужно было придумать как быстро добавлять нарушителей в черный список. Сначала была идея написать/дописать модуль к Nginx + демон, который будет ipset-ы обновлять. Можно и без демона, но тогда придётся запускать Nginx от рута, что не есть красиво. Написать это реально, но понял, что нет столько времени. Ничего похожего не нашёл (может плохо искал?), и придумал вот такой алгоритм.

    При привышении лимита, Nginx выбрасывает 503-юю ошибку Service Temporarily Unavailable. Вот я решил на неё и прицепиться!

    Для каждого location создаём свою страничку с ошибкой
    Code:
    error_page 503 =429 @blacklist;
    И соответствующий именованный location
    Code:
    location @blacklist {
        fastcgi_pass    localhost:1234;
        fastcgi_param   SCRIPT_FILENAME    /data/web/cgi/blacklist.sh;
        include         fastcgi_params;
    }
    Дальше интересней.
    Нам нужна поддержка CGI-скриптов. Ставим, настраиваем, запускаем spawn-fcgi и fcgiwrap. У меня уже было готовое для collectd.

    Сам CGI-скрипт
    Code:
    #!/bin/bash
    
    BAN_TIME=5
    DB_NAME="web_black_list"
    SQLITE_DB="/data/web/cgi/${DB_NAME}.sqlite3"
    CREATE_TABLE_SQL="\
    CREATE TABLE $DB_NAME (\
        ip varchar(16) NOT NULL PRIMARY KEY,\
        added DATETIME NOT NULL DEFAULT (DATETIME()),\
        updated DATETIME NOT NULL DEFAULT (DATETIME()),\
        counter INTEGER NOT NULL DEFAULT 0
    )"
    ADD_ENTRY_SQL="INSERT OR IGNORE INTO $DB_NAME (ip) VALUES (\"$REMOTE_ADDR\")"
    UPD_ENTRY_SQL="UPDATE $DB_NAME SET updated=DATETIME(), counter=(counter+1) WHERE ip=\"$REMOTE_ADDR\""
    SQLITE_CMD="/usr/bin/sqlite3 $SQLITE_DB"
    IPSET_CMD="/usr/sbin/ipset"
    
    $IPSET_CMD add $DB_NAME $REMOTE_ADDR > /dev/null 2>&1
    
    if [ ! -f $SQLITE_DB ]; then
         $SQLITE_CMD "$CREATE_TABLE_SQL"
    fi
    
    $SQLITE_CMD "$ADD_ENTRY_SQL"
    $SQLITE_CMD "$UPD_ENTRY_SQL"
    
    echo "Content-type: text/html"
    echo ""
    
    echo "<html>"
    echo "<head><title>429 Too Many Requests</title></head>"
    echo "<body bgcolor=\"white\">"
    echo "<center><h1>429 Too Many Requests</h1></center>"
    echo "<center><small><p>Your address ($REMOTE_ADDR) is blacklisted for $BAN_TIME minutes</p></small></center>"
    echo "<hr><center>$SERVER_SOFTWARE</center>"
    echo "</body>"
    echo "</html>"
    Собственно всё очевидно, кроме, разве что, SQLite. Я его добавил пока просто для статистики, но в принципе можно использовать и для удаления устаревших плохишей из черного списка. Время 5 минут пока тоже не используется.

    Черный список создавался вот так
    Code:
    ipset create web_black_list hash:ip
    Правило в iptables у каждого может быть своё, в зависимости от конфигурации и фантазии.

    У одного хостера видел услугу управляемого фаервола. Заменив в скрипте ipset add не небольшую curl-сессию, можно фильтровать плохишей на внешнем фаерволе, разгрузив свой канал и сетевой интерфейс.

    З.Ы.: Улыбнуло сообщение одного «хакера» на форуме, как быстро он положил сервер. Он и не догадывался, что это сервер положил на него.

    9.04.2013
    http://habrahabr.ru/post/176119/