![]() |
Статьи АнтиДДОС
Предлагаю в этой теме постить найденные или написанные вами небольшие статьи и заметки по данной теме.
Защита от DDos. Простой, но эффективный скрипт Недавно озаботился поиском адекватного решения для защиты некоторых подконтрольных ресурсов от DDos атак. Первое что посоветовали — Cisco Guard. Но так как требовалось что то легкое и не столь дорогое, то решил посмотреть в сторону софтверных продуктов. После непродолжительного гугления наткнулся на небольшой скриптик (D)DoS Deflate Работает довольно просто — каждую минуту по крону запускается команда netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n и выбираются все айпишники число соединений с которых превышает заданное в конфиге ограничени(по умолчанию 150). Время бана тоже настраивается в конфиге. Также можно выбрать с каким файрволом работать — iptables или apf(надстройка над iptables). Решение довольно очевидное, словесные описания проскакивали и до этого, но такой готовой реализации ранее не встречал. UPD: не забываем что этот скрипт в силу своей простоты не спасет от серьезных заказных атак, но большинство кулхацкеров остановит. (c) Борьба с DDOS и DOS на уровне nginx FreeBSD, сетевая Intel fxp, порт 100Мбит, polling, http accept-filter в sysctl Код:
sysctl kern.maxfiles=90000Код:
worker_processes 1;Код:
set $add 1;много хитов. PF с таблицами работает очень быстро. Исходники парсера логов есть на http://www.comsys.com.ua/files. ну и по крону уже раз в минуту добавлять в ip table новые ip из лога 25Мбитный DDoS, преимущесвенно режущийся ip, остатки проходят на nginx, который по критерию обучает ip и остатки проксирует на апач - LA 0, сайт работает. (c) Так же можно почитать статьи: FreeBSD для обслуживания 100-200 тысяч соединений Методы защиты от DDoS нападений Не так страшен DDoS, как его малюют DDOS - что делать. Если сервер только один - Linux с Apache. Не стал здесь приводить ввиду их объемности ) |
Как бороться с ламерами ддосерами.
Значит, ваш сайт задосили. Вы себя херово чуствуете. Вы хотите убить ДДоСера который уничтожил ваш сайт. Не проблема!! Нам понадобится ... * Логи ддоса * мИРЦ // не обезательно * IRIS Sniffer * Пару сплойтов * Ну у мазги нах! И так, у вас есть логи. Скажем с них ты выдрал IPшники: 231.32.32.211, 4.5.6.7, 6.7.8.9, 12.13.14.15, 23.24.25.26. Окей. Не проблема. Теперь у нас есть 50/50 шанс того что эти машины были зомбированы с помощью любого бота типа пхатБот, ериксБот и другие кул-хацкерские боты. Значит нам прежде всего нужны сплойты для LSASS, PnP, DCOM135, DCASS . Их можно найти на секлабе - securitylab Прежде всего, мы берем эти IP и поочереди проверяем их на дырявость сплойтами. Если вам удалось войти в систему - считайте что Вы уже уничтожили пол-кулхакера. Теперь нам надо поставить rAdmin или любую другую тулузу remote administrating. Поставили, запустили и готово. Теперь вам надо подключится рАдмином к машине, и дождатся полного затишья на ней. Тоесть что бы там никого не было. После чего вызовите Task Manager и посмотрите на подозрительные проги типа ezkiyeq.exe , svcroot.exe, update001.exe, winupdt0.exe etc... Найдите этот файл. Скопируйте к себе и плюньте на ту тачку. Теперь вам надо будет протроянить самих себя. Вам нужен будет IRIS Sniffer. Запускайте сниффер, выставляйте снифф-фильтр на слова USER IRC SERVER NICK IDENT 6667 и активируйте сниффер. После чего запускайте трой и следите за сниффом. Он вам скажет что происходит - куда трой коннектится, на какой канал заходит. Впринципе этой инфы достаточно что бы отрапортавать ФБР, или ФСБ. Просто напишите им письмо.. После чего сеть пропадет. Для извратов, попробуйте подключится к серверу юзая мирку и зайти на тот канал. Если его mode не +m, то вам повезло smile.gif Главное изначально прикинутся ботом. Ждите комманд от ботовода. Когда он пошлет что то типа .login mylamepassword, набирите тоже самое и наберите .remove smile.gif . - место . может быть ! @ # $ % ^ & * ( ) ` etc ... Главное юзайте прокси. .remove уничтожит весь его ботнет (ботовода). Установка mod_evasive и mod_dosevasive # wget http://www.zdziarski.com/projects/mo..._1.10.1.tar.gz # tar -xzvf mod_evasive_1.10.1.tar.gz # cd mod_evasive # /usr/local/apache/bin/apxs -i -a -c mod_evasive.c # /etc/init.d/httpd restart Редактирование конфига апача # vi /usr/local/apache/conf/httpd.conf ------------------------------------------------- <IfModule mod_evasive.c> DOSHashTableSize 3097 DOSPageCount 2 DOSSiteCount 50 DOSPageInterval 1 DOSSiteInterval 1 DOSBlockingPeriod 10 </IfModule> ------------------------------------------------- Перезапуск вэбсервера # /etc/init.d/httpd restart Оптимизация конфига httpd.conf # vi /usr/local/apache/conf/httpd.conf исправить значения у оригинала MaxKeepAliveRequests 50 (100) KeepAliveTimeout 60 (30) после этого отредактировать значения Timeout KeepAliv MinSpareServers MaxSpareServers MaxClients Timeout луче поставить 15 у кого APF можно поставить мини скрипт защиты от ддос # wget http://www.inetbase.com/scripts/ddos/install.sh # sh install.sh не забудте добавить его в крон кто не знает # crontab -e */5 * * * * /usr/local/ddos/ddos.sh >/dev/null 2>&1 и наконец ручная блокировка ))) поиск айпишек netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n и их блок # iptables -I INPUT -s АЙПИАДРЕС -j DROP # service iptables save # service iptables restart и блок в APF # vi /etc/apf/deny_hosts.rules <Add the IPs at the end> # service apf restart P.S. большинство хостеров используют APF кому интересно напишу как установить для апача можно еше использовать mod_limitipconn http://dominia.org/djao/limitipconn.html но с виртуалхостами у него тяжко (c) nulled.ws |
Скрипт защиты от ДДОС атаки - Klavasoft AntiDDOS Скрипт Klavasoft AntiDDOS Скрипт Klavasoft AntiDDOS используется для защиты сайта от DDOS атаки по линии HTTP. Разумеется, скрипт не претендует на звание универсального и полного защитника от DDOS - для этих целей лучше использовать оборудование, стоимость которого измеряется десятками тысяч долларов. Если у вас нет такого оборудавания, но есть доступ к настройкам сервера, то вы также сможете обеспечить более эффективную защиту от DDOS, чем та, что предоставляет этот скрипт. А вот защитить виртуальны аккаунт от легонького любительского DDOSa этот скрипт вполне сможет, а такие ДДОС атаки встречаются наиболее часто ввиду дороговизны полномасштабных мероприятий. Немного о реализации защиты от ДДОС Скрипт хранит в разделяемой памяти списки времен заходов с каждого IPa за последнее время. Если количество заходов в таком списке превысит определенный уровень, посетителю выдается техническая страница, которая информирует его о загруженности сервера и автоматически повторяет запрос страницы через некоторое время. Вот пример такой страницы: Код:
<html> Настройка. Все упомянутые параметры поддаются настройке. Вот развернутый вариант ее: Код:
<? Код:
include "$_SERVER[DOCUMENT_ROOT]/ks_antiddos.php"; в предположении, что скрипт располагается в корневой папке вашего сайта. Технические требования Хотя судя по мануалу, функции работы с разделяемой памятью доступны во всех версиях PHP, случаются хостинги без средств межпроцессного взаимодействия. Чтобы выяснить, будет ли скрипт работать на вашем хостинге, вызовите функцию
то пациент жить будет :) Для просмотра и удаления списка фрагментов разделяемой памяти требуется доступ к командной строке. Заметим, что что эта функция не критически важна - скрипт отлично работает без просмотра админом данных о разделяемой памяти. Более того, если доступа к командной строке нет - скрипт все равно способен удалить область расширенной памяти. (Которая, вобщем-то и так сканчается при ближайшей перезагрузке) Для доступа к разделяемой памяти не используются семафоры, поскольку зависание семафора способно заблокировать весь трафик. Время выполнения скрипта - пол миллисекунды и вероятность накладки ничтожна. И, конечно, в таких случаях скрипт нормально восстанавливается. Файлы KS Antiddos ver 2.1 (zip) KS Antiddos ver 3.0 (zip) (c) + оффсайт klavasoft.com |
http://dd0s.blogspot.com/
Цитата:
|
Защит от Атак DOS
Атаки DoS - это бедствие нынешнего виртуального мира, приводящие в хаос мощные вычислительные системы. Борьба с ними усложняется еще и тем, что все эти атаки подчас невозможно отразить иначе, кроме как закрытием всех се- тевых соединений атакованного хоста, что очень часто неприемлемо по финан- совым соображениям. Тем не менее, отмечается, что иногда выгоднее уве- личить мощности компьютерной системы, подверженной атакам DoS, чем за- крыть к ней доступ, скажем, остановить работу Web-сервера организации. Расчет здесь строится на истощение ресурсов атакующей стороны, которой про- сто не удастся превзойти ресурсы Web-сервера. Другое важное средство защи- ты - переход на современные операционные системы и программное обеспече- ние, которое «осведомлено» о последних изобретениях по части атак DoS. Однако все это может не устоять перед атакой DDoS - хакер, овладевший таки- ми средствами, может стать воистину всемогущим, поскольку нет такого серве- ра, который мог бы устоять перед атакой, идущей со всех сторон земного шара с неопределенно большого числа комьютеров-зомби. Вместо настройки системы защиты сервера, усиления ресурсов подверженного атакам компьютера, В ответ на атаку DDoS, использующей сотни и тысячи «зомби», Foundstone предлагает са- мому перейти в наступление и заглушить работу «зомби» встречной атакой. Для выполнения такой контратаки сотрудник фирма Foundstone, разработала и предоставила всем желающим возможность загрузить на сайте http://www.foundstone.com бесплатную утилиту DDoSPing 2.0, которая выполняет тестирование компьютера на предмет наличия в нем програм- мы-зомби. Далее работу выявленного зомби можно заглушить, воспользовавшись программой флудера UDP, «Флудер UDP» .Другой, не менее популярной утилитой для выявления компьютеров-зомби является программа Zombie Zapper (http://razor.bindview.com/tools/ ZombieZapper__form.shtml), которая как раз и является творцом атаки WinTrinoo. Однако в отличие от DDoSPing 2.0, программа Zombie Zapper не позволяет вы- полнять настройку тестирования хостов и не снабжена такими удобными сред- ствами наблюдения за ходом проверки, как DDoSPing 2.O. |
Огромная просьба указывать копирайты (-Gory King-) и не выкладывать рекламу (Fristail). Не стоит тут постить о сервисах, предоставляющих услуги защиты от ддоса!
|
DDOS-атаки и методы борьбы с ними.
Данная статья писалась с целью объяснить простому вебмастеру, как происходит DDOS, и как с ним бороться. Определение: DDoS атака - сокращение от «Distributed Denial Of Service Attack» При помощи этих атак временно падали крупнейшие и известнейшие компании, такие как Yahoo!, eBay, Buy.com, Amazon.com, CNN.com и целый ряд других ... Я не буду жевать сопли и напишу то, о чем как правило никто не никогда не пишет в статьях про DDoS. В основном то что мы видим в сети это поверхностные описания удачных атак, или вопли пострадавших от них. 1) Цель и принцип DDoS # Цель DDoS вывести обьект атаки из рабочего состояния что может повлечь за собой большие финансовые потери во время дауна или расходы на оборудование для защиты от него и з/п специалистов. Любой вебмастер понимает, что даун его сайтов на 2-3 часа нанесет серьезный вред бизнесу, а если на неделю, то ресурс скорее всего придется поднимать с нуля снова . Я вообще не говорю о владельцах платных сайтов и серьезных Е-комерс ресурсов, чьи убытки могут составлять десятки тысяч долларов в день. # Технология DDoS атак подразумевает метод грубой силы - вы тем или иным способом пытаетесь "забить" канал, открывая максимально возможное количество соединений на тот или иной сервис или отправки огромного кол-ва информации которое сервер не в состоянии обработать. все это ведет к потере скорости или полной остановке (зависанию) атакуемого ресурса. 2) DDoS - это Distributed атака то есть распространенная, когда вас атакует не один сервер от которого можно легко закрыться фаирволом, а сразу тысячи или десятки тыс., иногда могут быть сотни тысяч и миллионы атакующих ботов ( многие называют их зомби ) Что есть зомби? Зомби - это зараженный программой (или сломанный) компьютер или сервер, который будет выполнять команды управляющего сервера. Как компьютер становится зомби? Зомби создаются как правило используя эксплоиты для ОС. Заражая машины через веб браузер при посещении сайтов, при получении почты, или через установку программного обеспечения с установленными в него троянами. Как много может быть зомби? Cуществуют дыры которые до сих пор не закрыты и иногда процент заражаемости трафика может достигать 80 % всего трафика на сайте, спам может рассылаться огромными тиражами и как результат мы имеем десятки тысяч зомби. В зависимости от совершенства кода на самом зомби они могут выполнять разные типы запросов на сервера, иногда делая себя совсем не видимыми для фаирвола или сложно отличимыми от реального серфера, что разумеется усложняет борьбу с ними. Типы атак я описывать не стану они очень сильно варьируются от старинных типа пинг и syn флуда до новых разработанных персонально для новой атаки. Все они ведут к тому что сервер ложится как правило и попытки его вернуть к жизни заканчиваются тем, что он снова лежит. В общем довольно грустная история с DDOS атаками. Многие хостеры просто выключают сервера в случае обнаружения атаки. Это демонстрирует то, что они не могут реально ничего с ними поделать. Борьба с DDoS Это самый наверное интересный кусочек, а так же самый сложный. Самое сложное в том что борьба с DDoS в 98 % случаев ложится на плечи вебмастера, так как провайдеры в большинстве своем просто бьют болт и стандартная схема у них, это поставить на нуль роутинг ваши ip и таким образом для них проблема DDoS решена. Вебмастера такое решение не очень радует, так как его сайты при этом ложатся вообще. Конечно, есть продвинутые провайдеры, которые могут посодейтвовать в борьбе, но это редкость и опять же наджо будет им платить пятизначные цифры что бы иметь какое то влияние на них. Так что остается решать проблемы самому, о том как их решать я и расскажу вам. 1) На уровне сервера. Сервер должен иметь удаленный ребут и вывод консоли сервера на другой ip адрес по ssh протоколу. Это позволит вам быстро перезагружать сервер, что бывает более чем нужно в самом начале DDOS атаки. Вывод консоли позволит полностью выключить ssh на сервере. Это необходимо потому, что его тоже очень часто досят вместе например с вебсервером, что бы усложнить работу админа сервера или сделать сервер вовсе не доступным для администрации. 2) На уровне сервисов сервера. Секюрити аудит – must be, то-есть, по-русски, должен быть сделан, все сервисы машины должны быть отпатчены от всех известных и не известных дырок. О тюнинге веб сервера под DDoS атаками можно писать целую книгу, поэтому я не буду лишать себя куска хлеба. :) 3) На уровне сети. Для начала блокируются все то, что может дать больше инфы атакующему о вас. Блокируется пинг и трейс. Сервер убирается под NAT. Маскируется его ip как только это возможно. Это уже очень професиональный способ защиты сервера путем прятания его ip адреса. Применяется в многих платных системах защиты от DDOS. 4) На уровне провайдера. Через анализ пакетов или через блокирование ip адресов. 5) На уровне железа. Применяя хардварные решения от ведущих фирм производителей типа Сisco, 3com, Nortel и тп. Данные решения борьбы на аппаратном уровне потребуют больших финансовых затрат от 10к и выше. Комплексные решения обойдутся около 50-80 тыс долларов. Так же сюда можно отнести производителей 3rd party оборудования для хардварной защиты. Большая их часть действует по принципу анализа пакетов и дальнейшей их фильтрации где нужный пакеты проходят к серверу, а ненужные фильтруются и сегменты сети откуда они пришли блокируются роутером или фаирволом. Более продвинутые системы умеют прятать ваш сервер полностью и в сети никогда не встретится его ip адрес и его прямое сканирование и DDoS атака невозможны. 6) На уровне админов вашего сервера. Используя логи фаирвола сервера вы видите кучу ip адресов откуда на вас идут атаки. Вы можете анализировать его и искать уязвимые рабочие станции среди них, из 10000 машин 1-3 обязательно окажутся доступными для того что бы по ним полазить. Вы можете найти самого зомбика который осуществляет атаку на вас. Далее его можно попытаться поковырять, чтобы найти кто пускает атаки на вас и если повезет найти контрольный сервер и как вариант контратаковать его. Хотя такое будет не возможно если DDOS атака не контролируемая, а например вирусная. Напомню, это когда вас атакуют рабочие станции которые были заражены предварительно и их действия не контролируются вручную, они не очень опасны так как если вы смените, например, ip и домен, то такая атака умрет сама. 7) Комбинированное использование всех систем. В заключение хочу сказать что всё, что тут написано не покрывает и 80 % всех методов борьбы с DDOS и на эту тему работают очень много людей во всем мире. Так что я в этой небольшой статье не смогу описать всего, даже если очень захочу. Но, надеюсь, она вам немного поможет для понятия азов того, как необходимо бороться с DDoS атаками. (с) magic |
Устоять любой ценой: методы борьбы с DoS/DDoS-атаками
Твое утро начинается с чтения багрепортов и анализа логов. Ты ежедневно обновляешь ПО и ежечасно дорабатываешь правила брандмауэра. Snort твой лучший друг, а Zabbix - невидимый помощник. Ты построил настоящий бастион, к которому не подобраться ни с одной стороны. Но! Ты совершенно беззащитен против самой коварной и подлой атаки на свете - DDoS.
Трудно сказать, когда впервые появился термин DoS-атака. Специалисты говорят о 1996-м, попутно намекая, что до широких масс этот тип атак "дошел" только в 1999 году, когда один за другим попадали web-сайты Amazon, Yahoo, CNN и eBay. Еще раньше DoS-эффект использовали для тестирования устойчивости систем и каналов связи. А если копнуть глубже и воспользоваться термином DoS для обозначения явления, то становится ясно, что он существовал всегда, со времен первых мейнфреймов. Вот только задумываться о нем как о средстве устрашения начали гораздо позже. Говоря простым языком, DoS-атаки - это некоторый вид злонамеренной деятельности, ставящей своей целью довести компьютерную систему до такого состояния, когда она не сможет обслуживать правомерных пользователей или правильно выполнять возложенные на нее функции. К состоянию "отказ в обслуживании" обычно приводят ошибки в ПО или чрезмерная нагрузка на сетевой канал или систему в целом. В результате чего ПО, либо вся операционная система машины, "падает" или же оказывается в "зацикленном" состоянии. А это грозит простоями, потерей посетителей/клиентов и убытками. Анатомия DoS-атак DoS-атаки подразделяются на локальные и удаленные. К локальным относятся различные эксплойты, форк-бомбы и программы, открывающие по миллиону файлов или запускающие некий циклический алгоритм, который сжирает память и процессорные ресурсы. На всем этом мы останавливаться не будем. А вот удаленные DoS-атаки рассмотрим подробнее. Они делятся на два вида: 1. Удаленная эксплуатация ошибок в ПО с целью привести его в нерабочее состояние. 2. Flood - посылка на адрес жертвы огромного количества бессмысленных (реже – осмысленных) пакетов. Целью флуда может быть канал связи или ресурсы машины. В первом случае поток пакетов занимает весь пропускной канал и не дает атакуемой машине возможность обрабатывать легальные запросы. Во втором - ресурсы машины захватываются с помощью многократного и очень частого обращения к какому-либо сервису, выполняющему сложную, ресурсоемкую операцию. Это может быть, например, длительное обращение к одному из активных компонентов (скрипту) web-сервера. Сервер тратит все ресурсы машины на обработку запросов атакующего, а пользователям приходится ждать. В традиционном исполнении (один атакующий - одна жертва) сейчас остается эффективным только первый вид атак. Классический флуд бесполезен. Просто потому что при сегодняшней ширине канала серверов, уровне вычислительных мощностей и повсеместном использовании различных анти-DoS приемов в ПО (например, задержки при многократном выполнении одних и тех же действий одним клиентом), атакующий превращается в надоедливого комара, не способного нанести какой бы то ни было ущерб. Но если этих комаров наберутся сотни, тысячи или даже сотни тысяч, они легко положат сервер на лопатки. Толпа - страшная сила не только в жизни, но и в компьютерном мире. Распределенная атака типа "отказ в обслуживании" (DDoS), обычно осуществляемая с помощью множества зомбифицированных хостов, может отрезать от внешнего мира даже самый стойкий сервер, и единственная эффективная защита - организация распределенной системы серверов (но это по карману далеко не всем, привет Google). Методы борьбы Опасность большинства DDoS-атак – в их абсолютной прозрачности и "нормальности". Ведь если ошибка в ПО всегда может быть исправлена, то полное сжирание ресурсов - явление почти обыденное. С ними сталкиваются многие администраторы, когда ресурсов машины (ширины канала) становится недостаточно, или web-сайт подвергается слэшдот-эффекту (twitter.com стал недоступен уже через несколько минут после первого известия о смерти Майкла Джексона). И если резать трафик и ресурсы для всех подряд, то спасешься от DDoS, но потеряешь добрую половину клиентов. Выхода из этой ситуации фактически нет, однако последствия DDoS-атак и их эффективность можно существенно снизить за счет правильной настройки маршрутизатора, брандмауэра и постоянного анализа аномалий в сетевом трафике. В следующей части статьи мы последовательно рассмотрим: * способы распознавания начинающейся DDoS-атаки; * методы борьбы с конкретными типами DDoS-атак; * универсальные советы, которые помогут подготовиться к DoS-атаке и снизить ее эффективность. В самом конце будет дан ответ на вопрос: что делать, когда началась DDoS-атака. Борьба с flood-атаками Итак, существует два типа DoS/DDoS-атак, и наиболее распространенная из них основана на идее флуда, то есть заваливания жертвы огромным количеством пакетов. Флуд бывает разным: ICMP-флуд, SYN-флуд, UDP-флуд и HTTP-флуд. Современные DoS-боты могут использовать все эти виды атак одновременно, поэтому следует заранее позаботиться об адекватной защите от каждой из них. 1. ICMP-флуд. Очень примитивный метод забивания полосы пропускания и создания нагрузок на сетевой стек через монотонную посылку запросов ICMP ECHO (пинг). Легко обнаруживается с помощью анализа потоков трафика в обе стороны: во время атаки типа ICMP-флуд они практически идентичны. Почти безболезненный способ абсолютной защиты основан на отключении ответов на запросы ICMP ECHO: Код:
# sysctl net.ipv4.icmp_echo_ignore_all=1Код:
# iptables -A INPUT -p icmp -j DROP --icmp-type 8Один из распространенных способов не только забить канал связи, но и ввести сетевой стек операционной системы в такое состояние, когда он уже не сможет принимать новые запросы на подключение. Основан на попытке инициализации большого числа одновременных TCP-соединений через посылку SYN-пакета с несуществующим обратным адресом. После нескольких попыток отослать ответный ACK-пакет на недоступный адрес большинство операционок ставят неустановленное соединение в очередь. И только после n-ой попытки закрывают соединение. Так как поток ACK-пакетов очень велик, вскоре очередь оказывается заполненной, и ядро дает отказ на попытки открыть новое соединение. Наиболее умные DoS-боты еще и анализируют систему перед началом атаки, чтобы слать запросы только на открытые жизненно важные порты. Идентифицировать такую атаку просто: достаточно попробовать подключиться к одному из сервисов. Оборонительные мероприятия обычно включают в себя: Увеличение очереди "полуоткрытых" TCP-соединений: Код:
# sysctl -w net.ipv4.tcp_max_syn_backlog=1024Код:
# sysctl -w net.ipv4.tcp_synack_retries=1Код:
# sysctl -w net.ipv4.tcp_syncookies=1Код:
# iptables -I INPUT -p tcp --syn --dport 80 -m iplimit --iplimit-above 10 -j DROPТипичный метод захламления полосы пропускания. Основан на бесконечной посылке UDP-пакетов на порты различных UDP-сервисов. Легко устраняется за счет отрезания таких сервисов от внешнего мира и установки лимита на количество соединений в единицу времени к DNS-серверу на стороне шлюза: Код:
# iptables -I INPUT -p udp --dport 53 -j DROP -m iplimit --iplimit-above 1Один из самых распространенных на сегодняшний день способов флуда. Основан на бесконечной посылке HTTP-сообщений GET на 80-ый порт с целью загрузить web-сервер настолько, чтобы он оказался не в состоянии обрабатывать все остальные запросы. Часто целью флуда становится не корень web-сервера, а один из скриптов, выполняющих ресурсоемкие задачи или работающий с базой данных. В любом случае, индикатором начавшейся атаки будет служить аномально быстрый рост логов web-сервера. Методы борьбы с HTTP-флудом включают в себя тюнинг web-сервера и базы данных с целью снизить эффект от атаки, а также отсеивание DoS-ботов с помощью различных приемов. Во-первых, следует увеличить максимальное число коннектов к базе данных одновременно. Во-вторых, установить перед web-сервером Apache легкий и производительный nginx – он будет кэшировать запросы и отдавать статику. Это решение из списка "must have", которое не только снизит эффект DoS-атак, но и позволит серверу выдержать огромные нагрузки. Небольшой пример: Код:
# vi /etc/nginx/nginx.confУниверсальные советы Чтобы не попасть в безвыходное положение во время обрушения DDoS-шторма на системы, необходимо тщательным образом подготовить их к такой ситуации: 1. Все сервера, имеющие прямой доступ во внешнюю сеть, должны быть подготовлены к простому и быстрому удаленному ребуту (sshd спасет отца русской демократии). Большим плюсом будет наличие второго, административного, сетевого интерфейса, через который можно получить доступ к серверу в случае забитости основного канала. 2. ПО, используемое на сервере, всегда должно находиться в актуальном состоянии. Все дырки - пропатчены, обновления установлены (простой, как сапог, совет, которому многие не следуют). Это оградит тебя от DoS-атак, эксплуатирующих баги в сервисах. 3. Все слушающие сетевые сервисы, предназначенные для административного использования, должны быть спрятаны брандмауэром ото всех, кто не должен иметь к ним доступ. Тогда атакующий не сможет использовать их для проведения DoS-атаки или брутфорса. 4. На подходах к серверу (ближайшем маршрутизаторе) должна быть установлена система анализа трафика (NetFlow в помощь), которая позволит своевременно узнать о начинающейся атаке и вовремя принять меры по ее предотвращению. Добавь в /etc/sysctl.conf следующие строки: Код:
# vi /etc/sysctl.confДругое более-менее эффективное решение заключается в покупке дорогостоящих хардварных систем Cisco Traffic Anomaly Detector и Cisco Guard. Работая в связке, они могут подавить начинающуюся атаку, но, как и большинство других решений, основанных на обучении и анализе состояний, дают сбои. Поэтому следует хорошенько подумать перед тем, как выбивать из начальства десятки тысячи долларов на такую защиту. Кажется, началось. Что делать? Перед непосредственным началом атаки боты "разогреваются", постепенно наращивая поток пакетов на атакуемую машину. Важно поймать момент и начать активные действия. Поможет в этом постоянное наблюдение за маршрутизатором, подключенным к внешней сети (анализ графиков NetFlow). На сервере-жертве определить начало атаки можно подручными средствами. Наличие SYN-флуда устанавливается легко - через подсчет числа "полуоткрытых" TCP-соединений: Код:
# netstat -na | grep ":80\ " | grep SYN_RCVDС HTTP-флудом несколько сложнее. Для начала нужно подсчитать количество процессов Apache и количество коннектов на 80-ый порт (HTTP-флуд): Код:
# ps aux | grep httpd | wc -lКод:
# netstat -na | grep ":80\ " | sort | uniq -c | sort -nr | lessКод:
# tcpdump -n -i eth0 -s 0 -w output.txt dst port 80 and host IP-сервераОкончательно определившись, начинаем дропать неугодных по IP-адресам (будет гораздо больше эффекта, если ты сделаешь это на маршрутизаторе): Код:
# iptables -A INPUT -s xxx.xxx.xxx.xxx -p tcp --destination-port http -j DROPКод:
# iptables -A INPUT -s xxx.xxx.0.0/16 -p tcp --destination-port http -j DROPБорьба с DDoS во FreeBSD Уменьшаем время ожидания ответного пакета на запрос SYN-ACK (защита от SYN-флуда): Код:
# sysctl net.inet.tcp.msl=7500Код:
# sysctl net.inet.tcp.blackhole=2Код:
# sysctl net.inet.icmp.icmplim=50Код:
# sysctl kern.ipc.somaxconn=327681. Пересобираем ядро с опцией "options DEVICE_POLLING"; 2. Активируем механизм поллинга: "sysctl kern.polling.enable=1"; 3. Добавляем запись "kern.polling.enable=1" в /etc/sysctl.conf. Наивный Internet Во времена своего рассвета DoS-атаки были настоящей катастрофой для серверов и обычных рабочих станций. Web-сайт можно было легко завалить с помощью одного-единственного хоста, реализующего атаку типа Smurf. Рабочие станции с установленной ОС Windows падали, как доминошки, от атак типа Ping of Death, Land, WinNuke. Сегодня всего этого не стоит опасаться. Крупнейшие ботнеты Код:
Kraken - 400 тысяч компьютеров.1999 год – "вне зоны действия" оказались web-сайты Yahoo, CNN, eBay и др. Октябрь 2002 - атака на корневые DNS-серверы интернета. На некоторое время были выведены из строя 7 из 13 серверов. 21 февраля 2003 года - DDoS-нападение на LiveJournal.com. Два дня сервис находился в парализованном состоянии, лишь иногда подавая признаки жизни. Интеллектуальные системы Интересную альтернативу решениям Cisco выпускает компания Reactive Networks (www.reactivenetworks.com). Их продукт под названием FloodGuard представляет собой аппаратный комплекс, состоящий из детекторов и исполнительных модулей. Детекторы, установленные на брандмауэрах, маршрутизаторах и свитчах, постоянно мониторят трафик и создают его профиль на основе таких параметров, как объем пакетов, источник, направление, тип и т.д. В случае возникновения аномалий детектор посылает все подробности о произошедшем исполнительным модулям, располагающимся на маршрутизаторах в разных сегментах сети. Получив сообщение от детектора, исполнительные модули начинают действовать: они отыскивают паразитный трафик в проходящих пакетах и, в случае удачи, оповещают об этом предыдущие по ходу трафика модули и посылают им инструкции по активации фильтров на маршрутизаторах. В результате, перед потоком флуд-трафика должен образоваться заслон, который будет быстро перемещаться в сторону его источника. Дата: 14.10.2009 Автор: Евгений Зобнин |
Одним из самых полезных инструментов для борьбы с ддосом является сниффер tcpdump. В этом топике эта тема не раскрыта, поэтому советую почитать статью небольшую статью про Anti-DDoS здесь: www.securitylab.ru/analytics/216251.php
|
Строим кластерную систему защиты от DDoS.
Попытаюсь вкратце описать схему решения комплексной защиты от разных типов DDoS атак высокой интенсивности. Подобное решение успешно протестировано и функционирует на сервисе stop-ddos.net
Схема основывается на отделении системы защиты (фронтенда) от сервера приложений (бэкенда). Существует 3 основных типа DDoS атак: атака, направленная на переполнение ресурсов канала в интернет; атака, направленная на превышение максимального количества одновременных соединений сервера (SYN флуд); атака, направленная на исчерпание процессорных мощностей сервера (частое запрашивание страниц — HTTP флуд). Решение должно обеспечивать защиту от каждого типа атаки. Рисунок описываемой схемы находится в конце статьи. Сетевой флуд На сегодняшний день наиболее эффективным средством борьбы с обычным сетевым флудом является широкий канал. Канала в 10Gbps достаточно для отражения большинства атак этого типа. Для того чтобы лишний раз не нагружать оборудование во время такой атаки, отсеиваем лишние пакеты на наши адреса. Например, защищаемый нами сервис живет на 80-м порту TCP. В таком случае пакеты с destination port отличным от 80 можно смело stateless фильтровать. Для этого вполне подойдет роутер уровня CISCO 7600. Однако не забываем о резервном канале, шириной хотя бы 1Gbps. SYN-флуд От SYN флуда защищаемся с помощью statefull файрволов (SFFW). В идеале — аппаратный файрвол (например, Juniper SRX 5800). В зависимости от предполагаемой мощности атаки подбирается нужное количество файрволов. На роутере, стоящем на входе нашей защиты, создается маршрут защищаемой нами сети (на схеме это 2.1.1.0/24) с next-hop адресом каждого SFFW. Каждый SFFW имеет статический роут сети 1.1.1.0 на следующий роутер. На нем балансируется нагрузка между нодами последнего уровня защиты, являющие собой сервера с UNIX системой. В данном случае удобно использовать протокол динамической маршрутизации BGP (при выходе одной ноды из строя нагрузка автоматически распределится между рабочими нодами). Таким образом, каждый сервер анонсирует роутеру маршрут к сети 1.1.1.0 с next-hop self. HTTP-флуд Пакеты, дошедшие до данного уровня защиты, попадают на реверс-прокси. Это должен быть прокси-сервер, способный отличить бота от настоящего клиента. Например, nginx с анализатором логов, количества одновременных соединений с адреса в комбинации с любыми другими методами придуманными или найденными Вами. Примеры таких решений уже публиковались на хабре. На прокси-серверах настраиваем policy based routing как показано в примере. Это избавит запросы на бэкенд от вторичного прохождения через statefull firewall. Теперь о бэкенде. Адрес, на который приходят запросы от фронтенда, должен отличатся от адреса, через который осуществляется управление сервером. В случае засвечивания management адреса (к примеру, письмом сгенерированным приложением), всегда можно выбросить management адрес в блэкхол и это не повлияет на работу приложения. В реальности нет смысла в использовании такого количества роутеров как показано на схеме. Вместо этого рациональней использовать одно устройство в качестве роутера с несколькими таблицами маршрутизации (VRF, routing instances) или несколькими логическими роутерами. Аппаратные stateful файрволы также можно исключить из данной схемы, а вместо них на прокси-серверах использовать PF в режиме SYN Proxy (PF в этом режиме показывает наилучшую производительность на родной OpenBSD, в случае Linux лучше вообще отказаться от PF, и просто протюнинговать sysctl нужным образом). Однако, количество серверов в этом случае придется увеличить. Почта Входящую почту выгоднее всего направить на гугловые МХ (пусть кто-то попробует их заддосить :) ), а потом забирать фетчмейлом обратно на сервер. DNS тоже лучше всего держать не у себя — крупные зарубежные регистраторы предоставляют достаточно отказоустойчивые кластера в качестве NS для купленных доменов. Также, за отдельную плату, можно разместить свой домен на их NS серверах. (c) http://habrahabr.ru/blogs/infosecurity/78145/ |
| Время: 14:38 |