Comments 121
Да, заголовок в тему, улыбнула ваша история.
школьный? судя по Вашей истории — детсад, ясли.
А в правоохранительные органы можно было обратиться?
Можно было бы конечно, но в целях поучить ребенка что атата, нельзя так, а то чуть старше будет, и получит в лучшем случае на суде, если не перепутает ничего и не придут пара амбалов которые ему почки отобьют, и это еще самое безвредное последствие относительно того что может быть.
Такой вариант рассматривался, но все происходило вечером в пятницу ;) Администратор провайдера не дал нам контактные данные абонента, и я его полностью понимаю. Но мы попросили его всю информацию сохранить.
В понедельник, возможно, будет продолжение уже с обращением в правоохранительные органы и передачей IP-адресов всех участвовавших в атаке.
В понедельник, возможно, будет продолжение уже с обращением в правоохранительные органы и передачей IP-адресов всех участвовавших в атаке.
Какая удача — первый же IP был организатора.
У нас был один такой фрукт. Очень обиделся на недельный рид-онли на форуме, пошел куда-то на ксакеп-форумы жаловаться — пришёл с лойкой и зарядил. Все свои 512 кбит.
Долго смеялись над его недоумёнными возгласами в мирце, почему же ничего не падает.
Долго смеялись над его недоумёнными возгласами в мирце, почему же ничего не падает.
С текущими ценами на интернет, такие герои могут стать опасными. Особенно когда на той стороне не понимают вообще как это все работает.
www.kyivstar.ua/ru/mm/home_internet/tariff/
www.kyivstar.ua/ru/mm/home_internet/tariff/
У меня в Польше в общежитии раздаются интернеты довольно мощные — около 50 мегабит. В ночное время — до 100 мегабит можно выжать.
Литва — домой дают до 300mbit, правда роутер который в комплетке больше 85mbit не тянет…
В Украине многие провайдеры дают 1000, по 20-30 баксов. Хватит меряться.
Беларусь, 128 кб\сек за 5 баксов -(
только в основном за 20 — 30к это до 1000 непонятно чего
У меня форум не так, чтоб шибко большой, с одного и того же прова ходят ребята из Москвы разве что — так что можно героев просто гасить, отсекая провайдера.
Это на анлим цены? оО
Ну да, а так как этот оператор цепляет все больше городов, то местным провайдерам приходится с ним конкурировать и это радует +).
Вот например
www.skyinet.org/index.php?dn=info&pa=nov2011
И второй avangarde.prom.ua/price-id59696.html
Вот например
www.skyinet.org/index.php?dn=info&pa=nov2011
И второй avangarde.prom.ua/price-id59696.html
Мир вход/исход до 100/50 Мбит/сек, 12.5$ в месяц, анлим, Украина :)
Если от сервера получать байт в минуту (на пределе ограничений конфига если они есть), то криво настроенный можно уложить и с 512 кбит
Для защиты от слоу можно просто обрубить Ranges нафиг, вот и всё.
На совсем старых браузерах может вызвать проблемы с докачкой, но в остальном совершенно безвредно.
На совсем старых браузерах может вызвать проблемы с докачкой, но в остальном совершенно безвредно.
Вы путаете разные атаки. Для slow lori заголовок Range не нужен. А кардинально проблема решается установкой nginx до/вместо Apache. Ну или костылями разными модулями, ограничивающими количество соединений с одного адреса, минимальную скорость и тп.
От Вашей «защиты» толку мало. С этими строками в .htaccess и без них, Apache все равно обрабатывает запрос и отдает какой-то файл.
Поставьте nginx и уже в нем отсеивайте нехорошие запросы.
Поставьте nginx и уже в нем отсеивайте нехорошие запросы.
Как видите, сработало достаточно хорошо, так что смысл городить огород?
Для более печальных случаев. Хотя, для ещё более печальных случаев, нужен firewall.
и чем же он поможет, лол?
Будет фильтровать вредный трафик, не?
и как же он его вычислит?
Так в нем и нет этого механизма.
1) Слушаем / парсим / интерпретируем вывод tcpdump.
2) Добавляем вредителей в iptables/ipfw
3)…
4) Profit
1) Слушаем / парсим / интерпретируем вывод tcpdump.
2) Добавляем вредителей в iptables/ipfw
3)…
4) Profit
офигеть. Ты пробовал под мало-мальски серьезной нагрузкой запускать tcpdump на сервере? Логи и те отключают, иначе умирает все.
Повторю вопрос — как будешь выявлять вредоносный трафик?
Повторю вопрос — как будешь выявлять вредоносный трафик?
Так, я понял, тебе нужна инструкция.
Вот первая же ссылка в гугле: dd0s.blogspot.com/2009/10/ddos-tcpdump.html
И да, я конечно могу ошибаться, но мне будет достаточно на пару минут выключить apache что бы серевер перестал обрабатывать запросы. tcpdump продолжит работу без нагрузки на сам сервер.
Вот первая же ссылка в гугле: dd0s.blogspot.com/2009/10/ddos-tcpdump.html
И да, я конечно могу ошибаться, но мне будет достаточно на пару минут выключить apache что бы серевер перестал обрабатывать запросы. tcpdump продолжит работу без нагрузки на сам сервер.
Мне не нужна, лол ) Без нагрузки, ага. С каждым разом все веселее становится.
Ключевая фраза в твоей, гм, «инструкции»:
Ключевая фраза в твоей, гм, «инструкции»:
идет легкая ddos атака"
там еще этот инструктор предлагает netstat использовать. Это была статья на конкурс вредных советов, что ли? Заняла второе почетное место, после перл-скрипта, анализирующего лог апача?
ок, ну поищите другую статью.
Емае, что по твоему, не используют фаерволы что-ли для защиты от ддоса? Нет способов определить вредный трафик вообще?
Емае, что по твоему, не используют фаерволы что-ли для защиты от ддоса? Нет способов определить вредный трафик вообще?
а как бы вы решали задачу?
Защиту от мало-мальски серьезного DDoS можно сделать только специализированными средствами. Пионерские методы а-ля htaccess, парсинг лога вебсервера, tcpdump и netstat (чур меня!) применить получится только при пионерском же DDoS'е. Кто победнее — лучше покупать услугу, у того же QRATOR или Kasper'а, кто побогаче — строят собственные системы защиты, плотно взаимодействуя с аплинк-провайдером, размещая средства защиты не на своем конце последней мили, а на толстых каналах провайдера(ов).
Каждый запрос ддосера к htaccess — минус 15 мегабайт из оперативки. Как закончится оперативка, вспомните и прочитайте комментарий выше.
Мне кажется, нужно отдавать текст ошибки со статус-кодом HTTP 503 (Service Unavailable), тогда все это дело выглядеть будет очень естественно. У Вас же отдается текст ошибки, но со статус-кодом HTTP 200 (OK), как будто сервер не нагружен и вообще все хорошо.
Такие вещи на ithappens.ru надо)
> благо, он скопирован у достаточно старой версии оперы.
10.63 — старая версия?
10.63 — старая версия?
студеная былина, боярин.
А можно ещё скриптом в 10 строчек вычитывать из логов айпишники зловредов и добавлять их в iptables. Если, конечно, iptables имеется в наличии :)
Только не в iptables, а прописывать нулевой роут. iptables быстро загнется, если там будет пара тысяч банов.
-j TARPIT + raw/NOTRACK — и никуда не загнётся.
TARPIT — довольно редкая штука. Из моего опыта на очень многих серверах его просто нет.
Да он нужен просто чтоб чуть срезать скорость роста атаки. Если его нет — никакой проблемы.
Как я ответил в привате вопрошавшему, «забивается» не iptables, а conntrack.
Поэтому либо raw таблица и резать сразу в raw/PREROUTING (прямо по IP, без порта); либо просто выгрузить conntrack из ядра, чтобы фильтрация шла stateless. Она летает и с сотнями тысяч правил справляется вполне бойко.
Помню, сколько-то лет назад был патч на iptables, меняющий логику работы с цепочек на матрицу, так там оно работало с сотнями тысяч правил на довольно дохлом железе. Правда, возможности чуть более куцые были. Где он сейчас и живёт ли еще — не знаю… Для меня хватает стандартной поставки дебиана + tarpit когда не влом скомпилять через m-a
Как я ответил в привате вопрошавшему, «забивается» не iptables, а conntrack.
Поэтому либо raw таблица и резать сразу в raw/PREROUTING (прямо по IP, без порта); либо просто выгрузить conntrack из ядра, чтобы фильтрация шла stateless. Она летает и с сотнями тысяч правил справляется вполне бойко.
Помню, сколько-то лет назад был патч на iptables, меняющий логику работы с цепочек на матрицу, так там оно работало с сотнями тысяч правил на довольно дохлом железе. Правда, возможности чуть более куцые были. Где он сейчас и живёт ли еще — не знаю… Для меня хватает стандартной поставки дебиана + tarpit когда не влом скомпилять через m-a
мы используем iptables+ipset, 30К банов, полёт нормальный.
когда вся эта радость была в iptables было жутко, да.
когда вся эта радость была в iptables было жутко, да.
Кстати, и в абъюз вебмани можно было послать…
Такое впечатление складывается, что куча одноклассников засели вечером за компом, открыли страницу и жамкали F5.
Смущает чтоодноклассники подельники с разных городов.
оно так и было?
Смущает что
оно так и было?
Они сейчас горды как никогда -и атака удалась (типа), и на хабр попали, и ошибки им показали.
Через месяц снова начнут.
Наказывать таких нужно. Не тогда, когда они дом сожгут, а когда только спичками начинали баловаться.
Ведь есть вариант, что и не Ваш дом сгорит, а чей-то другой, который были не в состоянии защитить.
Через месяц снова начнут.
Наказывать таких нужно. Не тогда, когда они дом сожгут, а когда только спичками начинали баловаться.
Ведь есть вариант, что и не Ваш дом сгорит, а чей-то другой, который были не в состоянии защитить.
Ладно, это было смешно. Но если установить *Известная программа для нагрузочного тестирования* в классе информатики/у друзей в локалке и запустить множественную атаку — то ДДоСполучится весьма убедительным. Особенно если сценарий правильно составить.
А школьники — смесь достаточно гремучая. Мозгов 10-11 класника чтоб запустить такую ддос вполне достаточно, А вот чтоб осознать юридические последствия — не всегда
А школьники — смесь достаточно гремучая. Мозгов 10-11 класника чтоб запустить такую ддос вполне достаточно, А вот чтоб осознать юридические последствия — не всегда
О, как внезапно кончился диван!.. [x]
Решение с mod_rewrite не решение. На обработку regex запроса тратится время.
Как уже выше советовали, лучше nginx иметь.
Как уже выше советовали, лучше nginx иметь.
Ну, во-первых, на написание регэкспа потребовалось времени гораздо меньше, чем ушло бы на установку и настройку nginex.
Во вторых, не у всех владельцев сайтов есть досуп к администрированию сервера и им установить и настроить дополнительный софт самостоятельно нет никакой возможности. На уговоры хостера может уйти не одна неделя и не факт, что удастся убедить. В то время, как решение с mod_rewrite доступно каждому.
В-третьих, этого простого решения хватило с головой.
В-четвертых, если бы атака была организована по уму, то настройкой nginex дело не ограничилось бы.
Во вторых, не у всех владельцев сайтов есть досуп к администрированию сервера и им установить и настроить дополнительный софт самостоятельно нет никакой возможности. На уговоры хостера может уйти не одна неделя и не факт, что удастся убедить. В то время, как решение с mod_rewrite доступно каждому.
В-третьих, этого простого решения хватило с головой.
В-четвертых, если бы атака была организована по уму, то настройкой nginex дело не ограничилось бы.
mod_rewrite не везде включен ) много где, но не везде. И не везде включен .htaccess.
Хостинг без nginx, на чистом apache? Уходить надо оттуда, уходить. Иначе сайтик с сотней картиночек сервер положит.
Не впадайте в крайности. Как же люди без нгинкса обходились-то, пока это не было так модно?
Если честно, не прадставляю. Вроде как lighthttp использовали.
О, я не имею в виду удалять апач. Я имею в виду то, что проксировать надо, это абсолютно прозрачно и очень сильно повышает производительность.
Она картинка — 15 мегабайт.
Десять пользователей по 10 картинок — 1500 мегабайт, и всё.
О, я не имею в виду удалять апач. Я имею в виду то, что проксировать надо, это абсолютно прозрачно и очень сильно повышает производительность.
Она картинка — 15 мегабайт.
Десять пользователей по 10 картинок — 1500 мегабайт, и всё.
Кагбе критично не только количество занимаемой памяти, но и время, на которое она занята. 15 мегабайт на 0.1с и на час — разные вещи. Я сам использую нгинкс+апач, но сознаю, что далеко не всегда это действительно необходимо.
Отчет зачем это нужно кроется под боком)
Допустим, Вы кодите на локалке — всё нормально.
Отправляете в интернет, обновляете — всё нормально. Скорее всё у Вас быстрый интернет, и всё нормально. Запускаем сайт, какой-нибудь пользователь с ADSL ищет информацию в яндексе, открывает в фоновых вкладках 10 сайтов, которые постепенно загружаются.
Так вот, если сайт целиком со всем картинками загружается в течении минуты (а это вполне возможно), то всю минуту будет использоваться 15-30 мегабайт. Лично у меня рамблер загружается целиком за 25 секунд (в кеше нет).
Если пользователь грузит музыку при помощи Download Master-а в 8 каналов, будет использовано 15*8 мегабайт. Чем медленнее канал пользователя, тем дольше апач вынужден держать соединение, и тут не стоит речь о 0.1 секунде.
Если нужны не слова, а цифры — попробуйте пострелять в сайт при помощи ab, и посчитать количество ответов. Ваше счастье, если mysql процесс не будет убит системой за отсуствие места в оперативке. Ну, а если ктото считает, что работоспособность сайта, которая ничего не стоит ни по деньгам, ни по труозатратам, и не сделает хуже, не всегда необходима — тут мне сказать нечего.
Допустим, Вы кодите на локалке — всё нормально.
Отправляете в интернет, обновляете — всё нормально. Скорее всё у Вас быстрый интернет, и всё нормально. Запускаем сайт, какой-нибудь пользователь с ADSL ищет информацию в яндексе, открывает в фоновых вкладках 10 сайтов, которые постепенно загружаются.
Так вот, если сайт целиком со всем картинками загружается в течении минуты (а это вполне возможно), то всю минуту будет использоваться 15-30 мегабайт. Лично у меня рамблер загружается целиком за 25 секунд (в кеше нет).
Если пользователь грузит музыку при помощи Download Master-а в 8 каналов, будет использовано 15*8 мегабайт. Чем медленнее канал пользователя, тем дольше апач вынужден держать соединение, и тут не стоит речь о 0.1 секунде.
Если нужны не слова, а цифры — попробуйте пострелять в сайт при помощи ab, и посчитать количество ответов. Ваше счастье, если mysql процесс не будет убит системой за отсуствие места в оперативке. Ну, а если ктото считает, что работоспособность сайта, которая ничего не стоит ни по деньгам, ни по труозатратам, и не сделает хуже, не всегда необходима — тут мне сказать нечего.
У нас как то не webmoney а bitconins требовали, письмо счастья было на английском. Про него забыть успели а через неделю получили атаку, не очень сильную но и не школьную. Отбивались скриптиком который парсил логи и банил IP за частые обращения, за день набегало где то 50к ботов.
А можно задать вопрос — а почему сервер «лёг» от детского dos'а? Может, проблема в этом?
Любой сайт с динамикой «ляжет» от детского доса — так или иначе.
Простая арифметика: генерация страницы занимает 0.05 секунды, 8 ядер => 160 страниц враз максимум.
Так что поток в 200 запросов одновременных «забьёт» так, что пользователи будут ощущать жесткие тормоза по нескольку секунд и больше если стоит nginx впереди, или получать timeout если не стоит.
Простая арифметика: генерация страницы занимает 0.05 секунды, 8 ядер => 160 страниц враз максимум.
Так что поток в 200 запросов одновременных «забьёт» так, что пользователи будут ощущать жесткие тормоза по нескольку секунд и больше если стоит nginx впереди, или получать timeout если не стоит.
А rate-control для кого придумали? Кроме того, почему вы принимаете и обслуживаете 200 одновременных запросов? Подержать в очереди nginx'ом не судьба?
Так я и пишу — если nginx, то мы получим тормоза а не ошибку для простых пользователей.
Пришло 200 клиентов, запросило страницу. 8 из них получило ответ через 0.05. 8 следующих получило через 0.1… 200й клиент получил страницу через секунду.
А теперь пришло 1000 клиентов. Время ожидания стало 5 секунд. Простой пользователь, который придёт сюда уже будет недоволен и слиняет.
А теперь работает 2к ботов. 10 секунд — уже никуда не годится и народ распугает напрочь.
А rate control, группировку запросов по ip, и прочие радости делают не заранее, а когда появляется потребность. Глупо заранее тюнить сайт с посещаемостью в 20 уников чтоб держал 20кк.
Пришло 200 клиентов, запросило страницу. 8 из них получило ответ через 0.05. 8 следующих получило через 0.1… 200й клиент получил страницу через секунду.
А теперь пришло 1000 клиентов. Время ожидания стало 5 секунд. Простой пользователь, который придёт сюда уже будет недоволен и слиняет.
А теперь работает 2к ботов. 10 секунд — уже никуда не годится и народ распугает напрочь.
А rate control, группировку запросов по ip, и прочие радости делают не заранее, а когда появляется потребность. Глупо заранее тюнить сайт с посещаемостью в 20 уников чтоб держал 20кк.
Вы это серьезно сейчас сказали, или это такой юмор?
Просто такие детские «досы» на серверах с базовой настройкой nginx обычно проходят незамеченными. Под базовой я имею в виду хотя бы limit_req_zone+limit_req в зависимости от максимальной возможной нагрузки с одного айпи на сайт. Я, например, сомневаюсь что сайту без монструозной посещаемости потребуется обрабатывать больше 3х запросов в секунду (с прыжками до 5 запросов) с одного айпи адреса. От всяких LOIС и других генераторов траффика это достаточная защита. Как и от ддоса с 10-20 прокси.
Просто такие детские «досы» на серверах с базовой настройкой nginx обычно проходят незамеченными. Под базовой я имею в виду хотя бы limit_req_zone+limit_req в зависимости от максимальной возможной нагрузки с одного айпи на сайт. Я, например, сомневаюсь что сайту без монструозной посещаемости потребуется обрабатывать больше 3х запросов в секунду (с прыжками до 5 запросов) с одного айпи адреса. От всяких LOIС и других генераторов траффика это достаточная защита. Как и от ддоса с 10-20 прокси.
Вы выбрали некрасивое неуниверсальное решение, зафильтровав паразитный траффик mod_rewrit'ом
Оттолкнули целевых посетителей с браузером старой версии.
Не побоялись написать такое решение на всеобщее обозрение и коллегам понесчастью
Вот моя статейка с более элегантным и универсальным решением, но от школьного DOSа habrahabr.ru/blogs/sysadm/125300/
Оттолкнули целевых посетителей с браузером старой версии.
Не побоялись написать такое решение на всеобщее обозрение и коллегам понесчастью
Вот моя статейка с более элегантным и универсальным решением, но от школьного DOSа habrahabr.ru/blogs/sysadm/125300/
Разгрузили сервер до достаточного уровня — ок.
Оттолкнули при этом 0 человек, маловероятно что там хоть кто-то нашелся бы с таким браузером — ок (а вот защитой от slowloris в данной ситуации наверняка бы вызвали тормоза для посетителей).
Поделились на хабре интересной историей из реальной жизни — ок.
А вот почему вам совесть позволяет пиарить свою статью «как стать ДОСером» для школьников, это уму не постижимо.
Оттолкнули при этом 0 человек, маловероятно что там хоть кто-то нашелся бы с таким браузером — ок (а вот защитой от slowloris в данной ситуации наверняка бы вызвали тормоза для посетителей).
Поделились на хабре интересной историей из реальной жизни — ок.
А вот почему вам совесть позволяет пиарить свою статью «как стать ДОСером» для школьников, это уму не постижимо.
Однажды в студеную зимнюю пору зашел я на сервер. Был сильный DDoS.
Ну ты молодец. Победил школьника.
Герой. Желаю вам и дальнейших успехов в изучении базовых настроек веб-серверов.
Похоже и мы под такой атакой вторую неделю (два раза в один и тот же день в одно и то же время и по одному сценарию).
Но первые меры уже приняли, теперь не должно доставлять проблем даже если повторится.
Хотя при повторе в третий раз задействуем правоохранительные органы, если вышестоящие админы сами не справятся.
Но первые меры уже приняли, теперь не должно доставлять проблем даже если повторится.
Хотя при повторе в третий раз задействуем правоохранительные органы, если вышестоящие админы сами не справятся.
Школьников и нужно учить, взрослых учить поздно.
К примеру у одного из моих знакомых провайдеров был такой школьник, который спам рассылал и пытался сайты взламывать. Лет 14 ему было. Молодого человека вычислили, отключили и обратились в милицию с заявлением, завели уголовное дело и все такое. Мама школьника, поняв всю серьезность ситуации, не просто отобрала компьютер у него, еще приходила к провайдеру и слезно молила закрыть дело, говорила, что если надо, ее мальчик будет приходить и делать грязную работу, полы мыть и пр. Никто, конечно, не использовал этого школьника, но за месяц общения со следователями и родителями мальчик стал шелковым и больше не занимался ерундой. Так что, даже в профилактических воспитательных целях заявление в милицию подавать стоит!
К примеру у одного из моих знакомых провайдеров был такой школьник, который спам рассылал и пытался сайты взламывать. Лет 14 ему было. Молодого человека вычислили, отключили и обратились в милицию с заявлением, завели уголовное дело и все такое. Мама школьника, поняв всю серьезность ситуации, не просто отобрала компьютер у него, еще приходила к провайдеру и слезно молила закрыть дело, говорила, что если надо, ее мальчик будет приходить и делать грязную работу, полы мыть и пр. Никто, конечно, не использовал этого школьника, но за месяц общения со следователями и родителями мальчик стал шелковым и больше не занимался ерундой. Так что, даже в профилактических воспитательных целях заявление в милицию подавать стоит!
Я бы такого мальчика пригласил на стажировку себе в фирму.
И вместо того чтобы стать успешным айтишником, парень стал уборщиком. Успешным, конечно.
Мне сейчас 15. Взломал хостинг сервера, где лежит мой сайт. И зашел в админку этого хостинга. Там все пользователи, их контакты, отчеты по заработку. Думаю как им написать. Боюсь, что забанят.
Извините, я тут не в рамках обсуждений, а что это за 400 способов заработать в интернетах? Мне правда интересно.
Я делал от такого очень простую предзащиту с отсеканием вот таких умников, сейчас точно не найду конфига, но что-то типа такого:
iptables -I INPUT -p tcp --dport 80 -m state --state NEW -m recent --set
iptables -I INPUT -p tcp --dport 80 -m state --state NEW -m recent --update --seconds 1 --hitcount 100 -j SET --add-set black_list_by_conn src,src
работает быстро, сервер не грузит
ну а дальше дело техники
ipset -N black_list_conn iptree --timeout 600
т.е. навсегда мы не блочим, всего на 10 мин сек, если какой-то ип делает больше 100 запросов в сек (обычно регулируется в нормально обстановке, например настроить и повесить на пару дней без блока с записью в лог), если он продолжит, тогда будет через 10 мин опять блочится.
ну и плюс все методы защиты на куках через ипсет и iptables очень эффективны. Если с умом все настроить, то можно сдерживать не только школьный ддос.
iptables -I INPUT -p tcp --dport 80 -m state --state NEW -m recent --set
iptables -I INPUT -p tcp --dport 80 -m state --state NEW -m recent --update --seconds 1 --hitcount 100 -j SET --add-set black_list_by_conn src,src
работает быстро, сервер не грузит
ну а дальше дело техники
ipset -N black_list_conn iptree --timeout 600
т.е. навсегда мы не блочим, всего на 10 мин сек, если какой-то ип делает больше 100 запросов в сек (обычно регулируется в нормально обстановке, например настроить и повесить на пару дней без блока с записью в лог), если он продолжит, тогда будет через 10 мин опять блочится.
ну и плюс все методы защиты на куках через ипсет и iptables очень эффективны. Если с умом все настроить, то можно сдерживать не только школьный ддос.
Sign up to leave a comment.
Школьный DDoS и стоит ли его бояться