priv8v
28.08.2008, 15:59
DDoS-атака. С чем ее едят.
По новостям часто "пугают" этими словами. В принципе, все знают, что это такое, но как это работает - т.е как и кто так нападает и как против этого нужно защищаться - представляют смутно.
Я хочу рассмотреть 2 вида (если можно так выразиться) подобных атак: DDOS-атака на сайты и DOS-атака на ПК. Атаку на сайты в этой статье, а ДОС-атаку на ПК - в следующей. При чем в этой статье больше внимания уделю поверхностному уровню без рассмотрения теории атаки, а в следующей постараюсь сделать упор именно на анализ как и что именно атакуется, какие пакеты и куда посылаются и т.д.
Рассмотрим как они осуществляются и какие способы защиты от них имеются.
Что бы мы говорили об одних и тех же понятиях определимся с терминами:
DOS-атака: Denial of Service — "отказ в обслуживании". Целью этих атак является создание таких условий, при которых легитимные (правомерные) пользователи системы не могут получить доступ к предоставляемым системой ресурсам, либо этот доступ затруднён
DDoS-атака: Distributed Denial of Service — «распределённый отказ обслуживания»). Атака (обычно флуд) производится одновременно с большого количества IP-адресов.
(с) Вики
Начнем рассматривать DDOS-атаку на сайты. Для лучшего понимания и для того, что бы статья была более "живой" решено было оформить в виде вопросов-ответов.
- Что происходит при DDOS-атаке на сайт? Какие сайты можно подвергать данной атаке?
Если атака достаточна мощная, то сайт станет недоступен для пользователей на время пока идет атака. В случае же если атака "завесила" сервер, то сайт станет доступным только после перезагрузки сервера.
Подобным образом можно напасть на любой сайт, но не всегда это приведет к результатам. К примеру на сайт Майкрософта или Гугла нападать бессмысленно - у них столько серверов, что DDOS они, наверняка, и не заметят...
- Расскажите поподробнее о том, как осуществляется эта атака и что для этого нужно?
Нужно для этого много зараженных машин. Иногда их называют "зомби" или "боты", подчиненные одному злоумышленнику зараженные машины (в совокупности) иногда еще называют ботнетом - зараженные машины учавствуют в атаках на сайт - т.е по команде "из центра" они начинают атаковать указанную цель.
Армия ботов собирается чаще всего через зараженные сайты (http://virusinfo.info/showthread.php?t=28445) - пользователь заходит на сайт и ему загружается вредоносное ПО - ddos-бот, который будет невидимо (чаще всего так) сидеть у него в ПК и по команде атаковать сайты.
Более подробно: злоумышленник конфигурирует ддос-бот "под себя" - т.е заносит туда свой веб-адрес - откуда он будет управлять армией. Затем на хостинг заливается админка (скрипт управления). Затем заражается определенное количество машин (смотря какие цели у злоумышленника), обычно это 5-10 тысяч компьютеров. Выходит, что независимо от того, в какое время злоумышленник зайдет в админ-центр наготове (в онлайне) будет порядка пятисот "зомби". Обычно, для того что бы "завалить" сайт нужна атака примерно с трехсот машин. Цена ддоса за сутки варьируется в среднем от 50 до 150$ в зависимости от: "раскрученности" исполнителя, размера/раскрученности жертвы (сайта), ценовой политики исполнителя.
- Кому это выгодно?
Вопрос правильный. Рассмотрим по вариантам зачем сайты подвергают DDOS-атакам и кому это выгодно:
1). Атакующий (злоумышленник, который управляет DDOS-ом) вымогает деньги у администрации сайта за прекращение атаки.
2). Атакующему заплатили конкуренты/недоброжелатили сайта за то, что бы он атаковал его.
3). Атака проводится из мести или из "вредности".
4). Атака проводится для самоутверждения - психически не совсем здоровый человек может смотреть на такое "творение" и радоваться.
5). Сайт атакуется по каким-то другим соображениям (религиозным, национальным, политическим, "на спор", "ради прикола" и т.д и т.п)
- Как можно активно противодействовать таким злоумышленникам?
Своими силами - вполне, об этом расскажу ниже, а пока расскажу как этому можно противодействовать на более "высоком" уровне.
Самому чаще всего можно только пассивно защищаться, а активно противодействовать что бы - нужно быть как минимум мощной юридической организацией, например Лабораторией Касперского. Бывает, что их аналитики не только ловят зловреды и добавляют в базы, но и пытаются активно бороться с создателями (или теми, кто использует). Например вылавливают бота, расковыривают его, смотрят какой в него "вшит" адрес - т.е узнают где админка. Если админка на бесплатном хостинге и без своего домена - достаточно одной жалобы хостеру и сайт злоумышленника, откуда он ведет атаку прикроют - управлять ботами он не сможет. Вредоносное ПО, конечно, останется на компьютерах "зомби", но атаковать никого не будет - т.к команды не будут поступать. Если у злоумышленника для сайта зарегистрирован специально домен, то простой жалобой хостеру тут не обойтись - злоумышленник просто переедет на другой хостинг. Еще надо учитывать, что есть специальные хакерские хостинги (абузоустойчивые, так сказать) - такие хостинги специально для размещения ддос-админок, связок эксплоитов и т.д Т.е жаловаться хозяевам такого хостинга бессмысленно - аналитики ЛК здоровые люди и кучу нецензурщины в свою сторону им слушать не хочется.
Теперь расскажу, как можно противостоять своими силами:
допустим, вам в руки случайно попадает ддос-бот (исполняемый файл)Во-первых его несложно расковырять и узнать по какому адресу расположена админка. Затем бота можно в архив под пароль и отправить аналитикам ЛК, в теле письма указать адрес админки и попросить пожаловаться хостеру - скорее всего они это сделают, ребята молодцы.
Во-вторых можно попробовать взломать админку - подобрать пароль на вход. А бывает, что пароля на вход нету вообще. Затем зайти и уничтожить весь ботнет - в админке есть такая команда.
- Как можно защищать свой сайт от DDOSа?
Вопрос затрагивает достаточно обширную тему. Все зависит от того "в каком виде" у вас сайт:
1). Лежит на платном хостинге
Тут стоит отметить, что на данный момент в РФ нету хостеров, которые гарантируют антиддос защиту, некоторые пишут, что она у них есть, но ее качество чаще всего оставляет желать лучшего. Правда, есть специальные хостеры, которые принимают именно ресурсы, которые ддосят, но это уже не простые хостеры, а специальные - их услугами я не пользовался и про их качество сказать ничего почти не могу. Поэтому если ваш сайт ддосят к выбору хостера нужно подходить ответственно - почитать форума, поспрашивать где как хостеры "держат" ддос. Также нужно учитывать, что ни в коем случае нельзя брать тариф с платой за траффик - можно разориться. Канал при этом желательно выбирать как можно шире. В остальном все будет зависеть от совести хостера. Если "бессовестный" - отрубит сайт просто, дабы не тратить на вас ресурсы (именно поэтому выше был совет выбирать хостера тщательно). Помимо всего этого можно поставить антиддос защиту на PHP - в этом направлении стоит "погуглить". Также хорошо помогает (в зависимости от кол-ва ботов и от способа ддоса) антибот защита - на главной странице вешаем скрипт, который будет просить ввести код с каптчи, что бы просматривать сайт. Или запрос на авторизацию - выскакивающее окно в котором надо что-то нажать, или размещение на пустой странице кнопки "Войти" - при нажатии на нее пользователю будут писаться куки и больше на кнопку нажимать не придется. Все это уменьшит траффик/нагрузку.
Придумать можно много чего еще (все это может помочь при http-флуде) - проверку на принятие куков и т.д - фантазируем сами + находим в интернете. Можно также пойти и экстенсивным путем - создать зеркала сайта.
2). Лежит на бесплатном хостинге
К этому пункту справедливо почти все, что написано в первом (надо только вычесть головную боль с денежными проблемами - хостинг-то бесплатный).
И тут есть еще приятный момент - если сайт лежит на каком-то гигантском хостинге (яндекс), то пусть попробуют его завалить еще :)
3). и 4). Вы арендуете у хостинга сервер/Сервер стоит у вас дома/на работе
К этим двум пунктам напишу достаточно общо - что бы вы просто знали в каких направлениях "копать" и что читать.
1). Начинаем с конфигурирования сервера - на этом этапе можно сбросить львиную долю нагрузки. Нельзя пренебрегать данным пунктом!
Расскажу коротенько про некоторые лишь настройки (на примере Апача):
maxclients - тут уже думаем. Все зависит от посещаемости вашего сайта. Исходя из этого выставляем число. Небольшим числом (при небольшой посещаемости) сразу отрубим бОльшую часть нагрузки.
Директивы модуля Core - следите что бы они не "кушали" много ресурсов.
timeout - все параметры куда входит такой набор букв следует уменьшить.
...
и не забывайте, что к серверу можно найти еще антиддос модули.
2). Различное железо (почитайте про это поподробнее где-нибудь обязательно - оно еще нуждается в грамотной настройке) - роутеры, сетевые карты для фильтрации, поставить второй сервер, воткнуть что-нибудь фильтрующее от Cisco - это просто перечисляю то, что приходит на ум - тут все ограничивается только вашей фантазией - я лишь указываю направления в которых можно пробовать "рыть".
...и конечно не надо забывать про фаервол :)
3). А тут без пунктов буду перечислять различные виды блокировок и ограничений, которые могут относится как к первому, так и ко второму пунктам. Перечислить ВСЕ у меня не выйдет - что-то я забуду, что-то я не знаю - перечислю то, с чем сталкивался сам или знакомые.
Но небольшое отступление - виды ДДОС-атак бывают разные и на различных уровнях, поэтому какая-то защита помогает от одного, другая защита от другого, а если еще и не знать как будут ДДОСить или будут ДДОСить по разному - надо защищаться от всего (запросы syn/ask, fin flood, бомбежка по udp и т.д - на этом подробно планирую остановиться при рассмотрении вопроса DOS-атак на ПК).
Фильтрация по IP, бан IP (вплоть до подсеток и стран), ограничение соединений с одного IP, уменьшение канала на один коннект...
...
Эта тема (DDOS и DOS, причем, как защита так и нападение) очень интересна, и главное тут нету никаких ограничений - полный полет фантазии. Это на самом деле очень интересно.
По новостям часто "пугают" этими словами. В принципе, все знают, что это такое, но как это работает - т.е как и кто так нападает и как против этого нужно защищаться - представляют смутно.
Я хочу рассмотреть 2 вида (если можно так выразиться) подобных атак: DDOS-атака на сайты и DOS-атака на ПК. Атаку на сайты в этой статье, а ДОС-атаку на ПК - в следующей. При чем в этой статье больше внимания уделю поверхностному уровню без рассмотрения теории атаки, а в следующей постараюсь сделать упор именно на анализ как и что именно атакуется, какие пакеты и куда посылаются и т.д.
Рассмотрим как они осуществляются и какие способы защиты от них имеются.
Что бы мы говорили об одних и тех же понятиях определимся с терминами:
DOS-атака: Denial of Service — "отказ в обслуживании". Целью этих атак является создание таких условий, при которых легитимные (правомерные) пользователи системы не могут получить доступ к предоставляемым системой ресурсам, либо этот доступ затруднён
DDoS-атака: Distributed Denial of Service — «распределённый отказ обслуживания»). Атака (обычно флуд) производится одновременно с большого количества IP-адресов.
(с) Вики
Начнем рассматривать DDOS-атаку на сайты. Для лучшего понимания и для того, что бы статья была более "живой" решено было оформить в виде вопросов-ответов.
- Что происходит при DDOS-атаке на сайт? Какие сайты можно подвергать данной атаке?
Если атака достаточна мощная, то сайт станет недоступен для пользователей на время пока идет атака. В случае же если атака "завесила" сервер, то сайт станет доступным только после перезагрузки сервера.
Подобным образом можно напасть на любой сайт, но не всегда это приведет к результатам. К примеру на сайт Майкрософта или Гугла нападать бессмысленно - у них столько серверов, что DDOS они, наверняка, и не заметят...
- Расскажите поподробнее о том, как осуществляется эта атака и что для этого нужно?
Нужно для этого много зараженных машин. Иногда их называют "зомби" или "боты", подчиненные одному злоумышленнику зараженные машины (в совокупности) иногда еще называют ботнетом - зараженные машины учавствуют в атаках на сайт - т.е по команде "из центра" они начинают атаковать указанную цель.
Армия ботов собирается чаще всего через зараженные сайты (http://virusinfo.info/showthread.php?t=28445) - пользователь заходит на сайт и ему загружается вредоносное ПО - ddos-бот, который будет невидимо (чаще всего так) сидеть у него в ПК и по команде атаковать сайты.
Более подробно: злоумышленник конфигурирует ддос-бот "под себя" - т.е заносит туда свой веб-адрес - откуда он будет управлять армией. Затем на хостинг заливается админка (скрипт управления). Затем заражается определенное количество машин (смотря какие цели у злоумышленника), обычно это 5-10 тысяч компьютеров. Выходит, что независимо от того, в какое время злоумышленник зайдет в админ-центр наготове (в онлайне) будет порядка пятисот "зомби". Обычно, для того что бы "завалить" сайт нужна атака примерно с трехсот машин. Цена ддоса за сутки варьируется в среднем от 50 до 150$ в зависимости от: "раскрученности" исполнителя, размера/раскрученности жертвы (сайта), ценовой политики исполнителя.
- Кому это выгодно?
Вопрос правильный. Рассмотрим по вариантам зачем сайты подвергают DDOS-атакам и кому это выгодно:
1). Атакующий (злоумышленник, который управляет DDOS-ом) вымогает деньги у администрации сайта за прекращение атаки.
2). Атакующему заплатили конкуренты/недоброжелатили сайта за то, что бы он атаковал его.
3). Атака проводится из мести или из "вредности".
4). Атака проводится для самоутверждения - психически не совсем здоровый человек может смотреть на такое "творение" и радоваться.
5). Сайт атакуется по каким-то другим соображениям (религиозным, национальным, политическим, "на спор", "ради прикола" и т.д и т.п)
- Как можно активно противодействовать таким злоумышленникам?
Своими силами - вполне, об этом расскажу ниже, а пока расскажу как этому можно противодействовать на более "высоком" уровне.
Самому чаще всего можно только пассивно защищаться, а активно противодействовать что бы - нужно быть как минимум мощной юридической организацией, например Лабораторией Касперского. Бывает, что их аналитики не только ловят зловреды и добавляют в базы, но и пытаются активно бороться с создателями (или теми, кто использует). Например вылавливают бота, расковыривают его, смотрят какой в него "вшит" адрес - т.е узнают где админка. Если админка на бесплатном хостинге и без своего домена - достаточно одной жалобы хостеру и сайт злоумышленника, откуда он ведет атаку прикроют - управлять ботами он не сможет. Вредоносное ПО, конечно, останется на компьютерах "зомби", но атаковать никого не будет - т.к команды не будут поступать. Если у злоумышленника для сайта зарегистрирован специально домен, то простой жалобой хостеру тут не обойтись - злоумышленник просто переедет на другой хостинг. Еще надо учитывать, что есть специальные хакерские хостинги (абузоустойчивые, так сказать) - такие хостинги специально для размещения ддос-админок, связок эксплоитов и т.д Т.е жаловаться хозяевам такого хостинга бессмысленно - аналитики ЛК здоровые люди и кучу нецензурщины в свою сторону им слушать не хочется.
Теперь расскажу, как можно противостоять своими силами:
допустим, вам в руки случайно попадает ддос-бот (исполняемый файл)Во-первых его несложно расковырять и узнать по какому адресу расположена админка. Затем бота можно в архив под пароль и отправить аналитикам ЛК, в теле письма указать адрес админки и попросить пожаловаться хостеру - скорее всего они это сделают, ребята молодцы.
Во-вторых можно попробовать взломать админку - подобрать пароль на вход. А бывает, что пароля на вход нету вообще. Затем зайти и уничтожить весь ботнет - в админке есть такая команда.
- Как можно защищать свой сайт от DDOSа?
Вопрос затрагивает достаточно обширную тему. Все зависит от того "в каком виде" у вас сайт:
1). Лежит на платном хостинге
Тут стоит отметить, что на данный момент в РФ нету хостеров, которые гарантируют антиддос защиту, некоторые пишут, что она у них есть, но ее качество чаще всего оставляет желать лучшего. Правда, есть специальные хостеры, которые принимают именно ресурсы, которые ддосят, но это уже не простые хостеры, а специальные - их услугами я не пользовался и про их качество сказать ничего почти не могу. Поэтому если ваш сайт ддосят к выбору хостера нужно подходить ответственно - почитать форума, поспрашивать где как хостеры "держат" ддос. Также нужно учитывать, что ни в коем случае нельзя брать тариф с платой за траффик - можно разориться. Канал при этом желательно выбирать как можно шире. В остальном все будет зависеть от совести хостера. Если "бессовестный" - отрубит сайт просто, дабы не тратить на вас ресурсы (именно поэтому выше был совет выбирать хостера тщательно). Помимо всего этого можно поставить антиддос защиту на PHP - в этом направлении стоит "погуглить". Также хорошо помогает (в зависимости от кол-ва ботов и от способа ддоса) антибот защита - на главной странице вешаем скрипт, который будет просить ввести код с каптчи, что бы просматривать сайт. Или запрос на авторизацию - выскакивающее окно в котором надо что-то нажать, или размещение на пустой странице кнопки "Войти" - при нажатии на нее пользователю будут писаться куки и больше на кнопку нажимать не придется. Все это уменьшит траффик/нагрузку.
Придумать можно много чего еще (все это может помочь при http-флуде) - проверку на принятие куков и т.д - фантазируем сами + находим в интернете. Можно также пойти и экстенсивным путем - создать зеркала сайта.
2). Лежит на бесплатном хостинге
К этому пункту справедливо почти все, что написано в первом (надо только вычесть головную боль с денежными проблемами - хостинг-то бесплатный).
И тут есть еще приятный момент - если сайт лежит на каком-то гигантском хостинге (яндекс), то пусть попробуют его завалить еще :)
3). и 4). Вы арендуете у хостинга сервер/Сервер стоит у вас дома/на работе
К этим двум пунктам напишу достаточно общо - что бы вы просто знали в каких направлениях "копать" и что читать.
1). Начинаем с конфигурирования сервера - на этом этапе можно сбросить львиную долю нагрузки. Нельзя пренебрегать данным пунктом!
Расскажу коротенько про некоторые лишь настройки (на примере Апача):
maxclients - тут уже думаем. Все зависит от посещаемости вашего сайта. Исходя из этого выставляем число. Небольшим числом (при небольшой посещаемости) сразу отрубим бОльшую часть нагрузки.
Директивы модуля Core - следите что бы они не "кушали" много ресурсов.
timeout - все параметры куда входит такой набор букв следует уменьшить.
...
и не забывайте, что к серверу можно найти еще антиддос модули.
2). Различное железо (почитайте про это поподробнее где-нибудь обязательно - оно еще нуждается в грамотной настройке) - роутеры, сетевые карты для фильтрации, поставить второй сервер, воткнуть что-нибудь фильтрующее от Cisco - это просто перечисляю то, что приходит на ум - тут все ограничивается только вашей фантазией - я лишь указываю направления в которых можно пробовать "рыть".
...и конечно не надо забывать про фаервол :)
3). А тут без пунктов буду перечислять различные виды блокировок и ограничений, которые могут относится как к первому, так и ко второму пунктам. Перечислить ВСЕ у меня не выйдет - что-то я забуду, что-то я не знаю - перечислю то, с чем сталкивался сам или знакомые.
Но небольшое отступление - виды ДДОС-атак бывают разные и на различных уровнях, поэтому какая-то защита помогает от одного, другая защита от другого, а если еще и не знать как будут ДДОСить или будут ДДОСить по разному - надо защищаться от всего (запросы syn/ask, fin flood, бомбежка по udp и т.д - на этом подробно планирую остановиться при рассмотрении вопроса DOS-атак на ПК).
Фильтрация по IP, бан IP (вплоть до подсеток и стран), ограничение соединений с одного IP, уменьшение канала на один коннект...
...
Эта тема (DDOS и DOS, причем, как защита так и нападение) очень интересна, и главное тут нету никаких ограничений - полный полет фантазии. Это на самом деле очень интересно.