скачал воткнул все те же 250 хабов до завтрашнего утра
Добавлено: 08 фев 2014, 07:41
flylinkdc
Kimbo писал(а):но флайлинк же не единственный клиент, хотя его много пользователей используют, а ещё многие на 4 ветке сидят, да и не все обновляются
r4xx я тоже поправлю.
ожидаю, что блокировка DDoS $Search должна снизить нагрузку на клиентскую машину если у него много хабов и в шаре очень много файлов. такому юзеру будет выгоднее обновиться и перестать греть свой проц фейковыми поисками.
Остальные живые клиенты если следят за репкой флая - может тоже заберут код или напишут свою реализацию...
Добавлено: 08 фев 2014, 11:16
HackFresse
KCAHDEP писал(а):А вы говорите ксандер досер ксандер досер
ты так говоришь, словно fizkultira освободилась прям на следующий день после того, как я про неё скрин с ддосом выложил
Добавлено: 08 фев 2014, 11:29
KCAHDEP
это же dyndns удалили с учетки и все он свободен, забирай не хочу.
Нужно привести такие записи к одному виду, чтобы можно было обработать большой лог-файл. на данном этапе непонятно, откуда пришел флуд командами, и нельзя проверить всё вручную через CMD-отладчик
Добавлено: 08 фев 2014, 13:55
Kimbo
KCAHDEP писал(а):А вы говорите ксандер досер ксандер досер
ну, после того как ты распространил дропбоксовскую ссыль на сие гавнище, появилось много верликов-ддосеров. Не порали закрыть ссыль?
P.S. Кстати, не знаю где ты там увидел, что в верлике 1 типа нельзя уже ддосить, но
[12:58:11] <Barabashka> Running Verlihub 1.0.0 build Fri Mar 30 2012 - сей хаб удачно шлёт ктмы юзерам
Добавлено: 08 фев 2014, 14:13
Kimbo
flylinkdc, стронг тоже обновляться будет?
Добавлено: 08 фев 2014, 14:49
flylinkdc
Kimbo писал(а):flylinkdc, стронг тоже обновляться будет?
мой strongdc-sqlite обновлю.
Текущий алгоритм плохой - в логе много локов хороших запросов, например по TTH
то что они идут чаще чем 20 раз в минуту - это вероятно результат одного запроса нормальным юзером через разные хабы...
[2014-02-08 15:47:19] Count limit: 10 connections per minute, target IP = 109.86.195.214 Port: 65016 UserInfo: Ban for DDoS $Search: 109.86.195.214:65016 F?T?0?9?TTH:EUAHVNNH6XOMUPT7TMNXUIOZO6S6YQAEXYUPJYQ
[2014-02-08 15:47:19] Count limit: 10 connections per minute, target IP = 37.147.132.202 Port: 20538 UserInfo: Ban for DDoS $Search: 37.147.132.202:20538 F?T?0?1?2013
[2014-02-08 15:47:20] Count limit: 10 connections per minute, target IP = 37.110.63.235 Port: 54397 UserInfo: Ban for DDoS $Search: 37.110.63.235:54397 F?T?0?9?TTH:JDFYK2AID2O2FGB3MSOZTTNOXNR5BUESJ4LSYWI
[2014-02-08 15:47:21] Count limit: 10 connections per minute, target IP = 89.178.236.179 Port: 19067 UserInfo: Ban for DDoS $Search: 89.178.236.179:19067 F?T?0?9?TTH:U4XBWPDMU5AQA5WCSFKRGAKN7SA36Y6ZVD2Q6RY
[2014-02-08 15:47:21] Count limit: 10 connections per minute, target IP = 46.187.7.222 Port: 30487 UserInfo: Ban for DDoS $Search: 46.187.7.222:30487 F?T?0?9?TTH:OPKHMAXFXW7ZIOHISPPB435BCCJLXY23VZWWKEI
[2014-02-08 15:47:23] Count limit: 10 connections per minute, target IP = 5.15.38.111 Port: 49916 UserInfo: Ban for DDoS $Search: 5.15.38.111:49916 F?T?0?9?TTH:LCRBBXGTMWR3WEK4NZXLZUBGGSRZJDHA76QWN6Q
[2014-02-08 15:47:24] Count limit: 10 connections per minute, target IP = 176.46.235.142 Port: 55682 UserInfo: Ban for DDoS $Search: 176.46.235.142:55682 F?T?0?6?201402$jpg
[2014-02-08 15:47:25] Count limit: 10 connections per minute, target IP = 93.81.200.77 Port: 19842 UserInfo: Ban for DDoS $Search: 93.81.200.77:19842 F?T?0?9?TTH:AM3MRW6HU62H6YSL3LTRNK2UKTA36LAGMUAH5PA
[2014-02-08 15:47:25] Count limit: 10 connections per minute, target IP = 93.116.231.140 Port: 35000 UserInfo: Ban for DDoS $Search: 93.116.231.140:35000 F?T?0?9?TTH:DCD3FWNREIF3J55WHFRQR6PSEAYDCZC5Y3GZMZY
[2014-02-08 15:47:28] Count limit: 10 connections per minute, target IP = 93.100.16.185 Port: 7722 UserInfo: Ban for DDoS $Search: 93.100.16.185:7722 F?T?0?1?Ржавчина
[2014-02-08 15:47:29] Count limit: 10 connections per minute, target IP = 176.117.139.19 Port: 23723 UserInfo: Ban for DDoS $Search: 176.117.139.19:23723 F?T?0?9?TTH:ZIDZUGQIHVS3LCC44R77RNNDWQE7WFKHU6W3JYQ
[2014-02-08 15:47:30] Count limit: 10 connections per minute, target IP = 77.66.181.107 Port: 3000 UserInfo: Ban for DDoS $Search: 77.66.181.107:3000 F?T?0?9?TTH:VWQALBQ2HVSTVB7DHQOR7GICC65OEF77NUALAIA
[2014-02-08 15:47:30] Count limit: 10 connections per minute, target IP = 176.51.162.227 Port: 24573 UserInfo: Ban for DDoS $Search: 176.51.162.227:24573 F?T?0?9?TTH:7H2MWIH4N6IKTSRNBAYGV6LOM4XS3Q2GDOJ2WNI
[2014-02-08 15:47:30] Count limit: 10 connections per minute, target IP = 37.229.183.241 Port: 5004 UserInfo: Ban for DDoS $Search: 37.229.183.241:5004 F?T?0?9?TTH:UYNTRMBNAWG2HMBYIMHYWANGNOITWXHNQ4477ZA
Добавлено: 08 фев 2014, 14:59
HackFresse
Смотреть надо каждый отдельный хаб, проверяя команды, только полученные из сокета конкретного хаба.
Если логирование всех запросов сразу с 200 хабов, и клиент сидит хотя бы на 30-ти, то да, конечно, один его честный поисковый запрос по 1 штуке на каждом из 30-ти хабов выберет минутный лимит в 20 запросов за несколько секунд
Добавлено: 08 фев 2014, 15:16
flylinkdc
У меня фильтр ddos пока в одном экземпляре в виде hash_map... с ключем по IP
если добавить к ключу еще и IP хаба - решится, но тогда мапа будет очень пухленькая...
Создавать на каждый хаб по отдельной мапе...
в общем счас подумаю как лучше
бетки удалил с сайта - они плохие и прячут вашу шару от поиска.
Добавлено: 08 фев 2014, 15:37
HackFresse
размер в пару-тройку мегабайт не критичен. сколько памяти займут все юзеры всех хабов?
поисковые запросы для ддос - текстовые, потому что угадать TTH в файл-листе нереально (чтобы клиент ответил и отправил этот самый UDP-пакет).
в запросе "$Search 91.121.192.79:8054 F?F?0?1?a$e$o$i$1$а$о$е$и$у$134" забиты самые популярные буквы, последнее число просто рандом для уникальности
Считать все запросы, кроме запросов по ттх -- это тип 9 , длина параметра 39 символов - их будет на несколько порядков меньше
Добавлено: 08 фев 2014, 15:56
flylinkdc
HackFresse писал(а):Считать все запросы, кроме запросов по ттх -- это тип 9 , длина параметра 39 символов - их будет на несколько порядков меньше
Это сейчас и делаю...
Есть опасения - ошибочный алгоритм может сломать поиск.
может лучше детектить именно явно фейковые запросы типа ?a$e$o$i$1$а$о$е$и$у$
Правило - запрос одно буквенный и содержит между буквами пробелы - сразу в 100% бан без поиска IP и обращения к таблице блокировки
проверить 5 символов в строке это намного дешевле чем регистрировать IP в таблице и считать сколько она там раз была...
Следующим шагом - будет выпуск новой версии доссера
посмотрим что они там придумают и снова в бан...
Добавлено: 08 фев 2014, 16:08
Kimbo
flylinkdc писал(а):может лучше детектить именно явно фейковые запросы типа ?a$e$o$i$1$а$о$е$и$у$
его переписать в ддосе пару секунд дела.
Добавлено: 08 фев 2014, 16:22
flylinkdc
Kimbo писал(а):его переписать в ддосе пару секунд дела.
Приведи пример - на что его могут переписать?
Также его перепишут только явно живые и продвинутые доссеры - вам ведь интересно узнать кто они?)
может сейчас много хабов у кого скрипт висит по ошибке и админ даже не знает что он у него есть.
Добавлено: 08 фев 2014, 16:23
HackFresse
ну будут очень-очень частые запросы типа
"avi txt jpg video down"
или поштучно
"avi"
"txt"
"jpg"
количество совпадений в шарах юзеров всё так же огромно, смысла от какой-то комбинации "одна буква, один пробел, одна буква" вообще нету.всё равно что
Добавлено: 08 фев 2014, 16:25
Kimbo
flylinkdc писал(а):Приведи пример - на что его могут переписать?
да хоть местами буквы между $ переставить
flylinkdc писал(а):может сейчас много хабов у кого скрипт висит по ошибке и админ даже не знает что он у него есть.
случайно не может висеть.
Добавлено: 08 фев 2014, 16:26
HackFresse
а как мы узнаем, что они переписали? считать-то надо частоту (т.е. количество на время), и знать, с какого хаба запросы валятся, чего на данном этапе нету
if (!isPassive)
{
const auto i = seeker.rfind(':');
if (i != string::npos)
{
const auto k = param.find("?9?TTH:",i); // Если идет запрос по TTH - пропускаем без проверки
if(k == string::npos )
{
if (ConnectionManager::getInstance()->checkIpFlood(seeker.substr(0, i), Util::toInt(seeker.substr(i + 1)), param, getHubUrlAndIP()))
{
return; // http://dchublist.ru/forum/viewtopic.php?f=6&t=1028&start=150
}
}
}
}