SA-MP Forums

SA-MP Forums (https://forum.sa-mp.com/index.php)
-   Русский/Russian (https://forum.sa-mp.com/forumdisplay.php?f=32)
-   -   Атака сервера (https://forum.sa-mp.com/showthread.php?t=400823)

stabker 20/12/2012 02:32 PM

Атака сервера
 
За 40 минут сервер вырубался уже 3 раза. Последние сообщения из лога http://pastebin.com/4YCAsxVu
В логе вижу только то, что много подключений посылают и по-словам игроков, сервер начинает лагать.

Сначала думал на ошибку в коде, но по логам видно, что сервер вырубается на разных естественных событиях. То есть, они тут не причем.

Barabashka 20/12/2012 03:00 PM

Re: Атака сервера
 
http://forum.sa-mp.com/showthread.php?t=399288

stabker 20/12/2012 03:04 PM

Re: Атака сервера
 
Quote:

Originally Posted by Barabashka (Post 2279898)

С чего вы взяли, что у меня та же самая проблема, как и у вас? И как проследить за тем, сколько он жрет оперативки, покуда у меня сервер на хостинге? Спасибо.

AirKite 20/12/2012 03:16 PM

Re: Атака сервера
 
Пиши в основной форум на английском. Тут тебе не помогут решить эту проблему.

stabker 20/12/2012 03:20 PM

Re: Атака сервера
 
Quote:

Originally Posted by AirKite (Post 2279929)
Пиши в основной форум на английском. Тут тебе не помогут решить эту проблему.

Я параллельно создал тему в англоязычном разделе http://forum.sa-mp.com/showthread.php?t=400833

eakwarp 20/12/2012 03:35 PM

Re: Атака сервера
 
Quote:

Originally Posted by stabker (Post 2279909)
С чего вы взяли, что у меня та же самая проблема, как и у вас? И как проследить за тем, сколько он жрет оперативки, покуда у меня сервер на хостинге? Спасибо.

Нормальный хостинг предоставляет лог потребления ресурсов.

stabker 20/12/2012 03:42 PM

Re: Атака сервера
 
Quote:

Originally Posted by eakwarp (Post 2279974)
Нормальный хостинг предоставляет лог потребления ресурсов.

В ПУ ничего подобного нету. Щас в поддержку напишу, гляди, дня через 2 ответят.

eakwarp 20/12/2012 03:55 PM

Re: Атака сервера
 
Quote:

Originally Posted by stabker (Post 2279991)
В ПУ ничего подобного нету. Щас в поддержку напишу, гляди, дня через 2 ответят.

Повод сменить хостинг.

stabker 20/12/2012 04:00 PM

Re: Атака сервера
 
Quote:

Originally Posted by eakwarp (Post 2280020)
Повод сменить хостинг.

Хочу перейти на ru-hoster, но у меня более 97500 аккаунтов (файловых).

Кстати, только что сервер залагал и выкинуло чуть больше 50 игроков. Видимо опять атака.

stabker 20/12/2012 04:52 PM

Re: Атака сервера
 
Вообщем, вот ответ от техподдержки:

Quote:

Мы не ведем логи статистики потребления ресурсов сервером
Можно настроить вашему порту более усиленную защиту, но нужно знать с какими параметрами: сколько соединений может быть к порту за N секунд
Я не знаю сколько "может быть нормальных соединений за N секунд". Кто-то подскажет? И поможет ли это?

Richard_Gere 21/12/2012 12:53 AM

Re: Атака сервера
 
Воспользуйтесь плагином от ****** чтобы защититься от атак: http://forum.sa-mp.com/showthread.php?t=375925

Вроде вчера выпустил обновление с защитой от многих видов атак. (Новый паблик OnServerMessage, в котором можно получить сообщения из консоли)

stabker 21/12/2012 09:38 AM

Re: Атака сервера
 
Quote:

Originally Posted by Richard_Gere (Post 2280729)
Воспользуйтесь плагином от ****** чтобы защититься от атак: http://forum.sa-mp.com/showthread.php?t=375925

Вроде вчера выпустил обновление с защитой от многих видов атак. (Новый паблик OnServerMessage, в котором можно получить сообщения из консоли)

Уже смотрел его. Там есть все, кроме того, что мне нужно сейчас. В моем случае, при каждом incoming connection новый ип. Да и плюс ко всему, как я понял, он лог файлу не дает наполняться.

Barabashka 21/12/2012 12:07 PM

Re: Атака сервера
 
Quote:

Originally Posted by stabker (Post 2281052)
Уже смотрел его. Там есть все, кроме того, что мне нужно сейчас. В моем случае, при каждом incoming connection новый ип. Да и плюс ко всему, как я понял, он лог файлу не дает наполняться.

incoming connection это когда много игроков вылетает, потом резко подключаются обратно

stabker 21/12/2012 12:54 PM

Re: Атака сервера
 
Quote:

Originally Posted by Barabashka (Post 2281257)
incoming connection это когда много игроков вылетает, потом резко подключаются обратно

Я вкурсе, но посмотрите на их ип адреса. Как только сервер начинает лагать - начинаются подключения с этих ип адресов, потом он вырубается. Кроме этого, ничего в логе подозрительного нету

stabker 21/12/2012 02:20 PM

Re: Атака сервера
 
Если не учитывать паранормальных подключений, то в чем еще может быть зацепка? Я проверил эти ип адреса, которые в множественных incoming connection, ни где они не фигурируют, кроме как в нем.

TRPG 21/12/2012 02:29 PM

Re: Атака сервера
 
Quote:

Originally Posted by stabker (Post 2281417)
Если не учитывать паранормальных подключений, то в чем еще может быть зацепка? Я проверил эти ип адреса, которые в множественных incoming connection, ни где они не фигурируют, кроме как в нем.

куча incoming connection в логе - всего лишь следствие атаки. Скорее всего, в вашем случае к серверу подключается бот и начинает флудить чем-то, что называется ping response flood. Серверу приходится обрабатывать эти запросы, их число растет, растет использование ram - сервер начинает лагать, идут вылеты и через время сервер падает.
Отследить флудера можно через getplayernetworkstats. В строке выдаваемой этой функцией есть пункт messages sent. Берите значение messanges sent раз в секунду, сравнивайте с предыдущим, находите прирост пакетов за секунду и баньте все, что отправляет больше ~5к пакетов.

DartfoL 21/12/2012 02:32 PM

Re: Атака сервера
 
А кто-нибудь думал, что все инкоминги это попытка подключения обычных игроков, но они не могут зайти, т.к. сервер атакуют?

stabker 21/12/2012 03:03 PM

Re: Атака сервера
 
Quote:

Originally Posted by TRPG (Post 2281426)
куча incoming connection в логе - всего лишь следствие атаки. Скорее всего, в вашем случае к серверу подключается бот и начинает флудить чем-то, что называется ping response flood. Серверу приходится обрабатывать эти запросы, их число растет, растет использование ram - сервер начинает лагать, идут вылеты и через время сервер падает.
Отследить флудера можно через getplayernetworkstats. В строке выдаваемой этой функцией есть пункт messages sent. Берите значение messanges sent раз в секунду, сравнивайте с предыдущим, находите прирост пакетов за секунду и баньте все, что отправляет больше ~5к пакетов.

Спасибо, попробую сегодня сделать. Еще вопрос, а если я буду вызывать GetPlayerNetworkStats каждую секунду, не слишком ли это нагрузки много давать будет?

Quote:

Originally Posted by DartfoL (Post 2281435)
А кто-нибудь думал, что все инкоминги это попытка подключения обычных игроков, но они не могут зайти, т.к. сервер атакуют?

Хм, я ошибся в предыдущем посте, первый попавший ип проверил - он не встречался ранее. Только что еще штук 5 проверил и это действительно нормальные игроки. То есть, можно уверенно предположить, что сервер атакуют, игроков выкидает, а некоторых реконнектит, из этого инкоминг коннекшн появляются.

DANGER1979 21/12/2012 04:08 PM

Re: Атака сервера
 
Quote:

Originally Posted by TRPG (Post 2281426)
куча incoming connection в логе - всего лишь следствие атаки. Скорее всего, в вашем случае к серверу подключается бот и начинает флудить чем-то, что называется ping response flood. Серверу приходится обрабатывать эти запросы, их число растет, растет использование ram - сервер начинает лагать, идут вылеты и через время сервер падает.
Отследить флудера можно через getplayernetworkstats. В строке выдаваемой этой функцией есть пункт messages sent. Берите значение messanges sent раз в секунду, сравнивайте с предыдущим, находите прирост пакетов за секунду и баньте все, что отправляет больше ~5к пакетов.

messanges sent
постоянно наращиваемая переменная.
я зашёл на сервер и у меня 8к.
И что меня уже банить надо? или кикать?
покуда не вижу логики.

Или же сохранять старое значение и каждую секунду проверять разницу между новым и старым.
Может тогда удастся отследить кто больше всего посылает пакетов, но не факт что это не простой игрок.

eakwarp 21/12/2012 04:40 PM

Re: Атака сервера
 
Между прочим, тоже столкнулся с подобной проблемой, только у меня еще и ботов выбивало, в коде все в порядке, в логах только игроки, причем в этот момент на какого либо из игроков(причем судя по всему к атаке не имеющего отношения) идет варнинг на модифицированный пакет. Сервер уходит в логаут секунд на 30. К сожалению, реально лень отслеживать потребление ресурсов при этом, ибо они у меня не ограничены по сути, но нечто, процессорное время занимает чуть более чем полностью. С кодом не связано, очередной эксплойт.

stabker 21/12/2012 05:16 PM

Re: Атака сервера
 
Quote:

Originally Posted by eakwarp (Post 2281662)
Между прочим, тоже столкнулся с подобной проблемой, только у меня еще и ботов выбивало, в коде все в порядке, в логах только игроки, причем в этот момент на какого либо из игроков(причем судя по всему к атаке не имеющего отношения) идет варнинг на модифицированный пакет. Сервер уходит в логаут секунд на 30. К сожалению, реально лень отслеживать потребление ресурсов при этом, ибо они у меня не ограничены по сути, но нечто, процессорное время занимает чуть более чем полностью. С кодом не связано, очередной эксплойт.

Штук 15-30 за несколько минут: Packet was modified, sent by id: 44, ip: 46.227.191.131:39338
Ип обычного игрока, который не первый день на сервере играет. Минут через 15 после этого, сервер вырубился. Кстати, не каждый раз вырубается, сегодня и вчера видимо пытались, но только половина игроков вылетает.

Сколько же в сампе всяких дыр :picard:

TRPG 22/12/2012 05:08 AM

Re: Атака сервера
 
Quote:

Originally Posted by DANGER1979 (Post 2281609)
messanges sent
постоянно наращиваемая переменная.
я зашёл на сервер и у меня 8к.
И что меня уже банить надо? или кикать?
покуда не вижу логики.

Или же сохранять старое значение и каждую секунду проверять разницу между новым и старым.
Может тогда удастся отследить кто больше всего посылает пакетов, но не факт что это не простой игрок.

Да, нужно отслеживать ее изменение за секунду и банить при отправки больше ~5к пакетов с момента предыдущего замера. Нормальный игрок столько не отошлет за секунду. Именно по этому принципу выстроена защита от пинг респонс флуда в плагинах от атак, которые сейчас продаются.

hub4 22/12/2012 10:05 AM

Re: Атака сервера
 
от некоторых легальных игроков бывает прилетает и по миллиону пакетов в секунду и по 15.
толи статистика глючит, толи влияет чтото еще неочевидное.
непосредственные атаки блокируются без проблем. но даже там не бывает таких значений

DANGER1979 22/12/2012 11:44 AM

Re: Атака сервера
 
Кто знает
что за флуд в логе
и от чего?

[21/12/2012 23:18:42] Warning: PlayerDialogResponse PlayerId: 74 dialog ID doesn't match last sent dialog ID
[21/12/2012 23:18:42] Warning: PlayerDialogResponse crash exploit from PlayerId: 74

Опять какая та новая флудилка?

White_116 22/12/2012 12:06 PM

Re: Атака сервера
 
Quote:

Warning: PlayerDialogResponse PlayerId: 74 dialog ID doesn't match last sent dialog ID
Не соответствие последнему иду

Quote:

Warning: PlayerDialogResponse crash exploit from PlayerId: 74
Диалог который не был показан. (Можно создать так: показать диалог, вырубить сервер и включить. После коннекта уже нажать на кнопки диалога)

П.С. флудилка старая вроде.

DrSlett 22/12/2012 12:10 PM

Re: Атака сервера
 
Quote:

Originally Posted by White_116 (Post 2282924)
П.С. флудилка старая вроде.

Она и сейчас актуальна, ей сервера ложат спокойно.

AirKite 22/12/2012 12:16 PM

Re: Атака сервера
 
Quote:

Originally Posted by White_116 (Post 2282924)
Не соответствие последнему иду


Диалог который не был показан. (Можно создать так: показать диалог, вырубить сервер и включить. После коннекта уже нажать на кнопки диалога)

П.С. флудилка старая вроде.

Вообще то не соответствие последнему иду это и есть:
Quote:

Originally Posted by White_116 (Post 2282924)
показать диалог, вырубить сервер и включить. После коннекта уже нажать на кнопки диалога

Другие способы это их подмена в памяти на клиенте.

Вторая строчка означает отправку спец символов, которые могут попасть в format и другие функции вызвав крэш сервера.

DANGER1979 22/12/2012 12:41 PM

Re: Атака сервера
 
У меня весь лог на 26 МБайт нафлудили, но сервер не лёг, т.к. стоят защиты на входе паблика.

hub4 22/12/2012 01:26 PM

Re: Атака сервера
 
паблик диалогов не вызывается. а сервер не лег или потому что у кулхацкера тощий инет, или у тебя мощная тачка.

stabker 22/12/2012 02:04 PM

Re: Атака сервера
 
Quote:

Originally Posted by DANGER1979 (Post 2282892)
Кто знает
что за флуд в логе
и от чего?

[21/12/2012 23:18:42] Warning: PlayerDialogResponse PlayerId: 74 dialog ID doesn't match last sent dialog ID
[21/12/2012 23:18:42] Warning: PlayerDialogResponse crash exploit from PlayerId: 74

Опять какая та новая флудилка?

Мне тоже часто этой херней флудят, но сервер не вырубается, только лагает. Надо попробывать ******'овский fixes2, там есть защита против этого.

P.S. Флудилка эта работает с выхода 03е, далеко не новая уже.

Alexander_Petrov 22/12/2012 02:11 PM

Re: Атака сервера
 
Quote:

Originally Posted by stabker (Post 2283143)
Мне тоже часто этой херней флудят, но сервер не вырубается, только лагает. Надо попробывать ******'овский fixes2, там есть защита против этого.

P.S. Флудилка эта работает с выхода 03е, далеко не новая уже.

У этого плагина есть косяк на Linux. При рестарте гейммода сервер крашит.

sniper-termit 22/12/2012 02:43 PM

Re: Атака сервера
 
Не работает он на линуксе.

DartfoL 22/12/2012 02:54 PM

Re: Атака сервера
 
Quote:

Вторая строчка означает отправку спец символов, которые могут попасть в format и другие функции вызвав крэш сервера.
нет, она означает отправку пустого пакета диалога, в 0.3a крашило, в 0.3b защиту сделали (если не ошибаюсь)

А спец.символы так до сих пор не зафиксили и сервера можно ложить с помощью %s

stabker 22/12/2012 04:21 PM

Re: Атака сервера
 
Опять атакуют. Сервер вырубился.
Попросил у игрока описать, что именно происходило:

Quote:

[19:38:24] >Oleg<: Я сам только зашел. Я зашел, минуту не успел отыграть, и вдруг резко все встали и задержка команд всех где то на секунд 30-40
[19:38:42] Stabker Steepson: а потом онлайн резко падает?
[19:39:13] >Oleg<: онлайн нет, никого не выкидывает. ТЫ просто бегаешь, а все стоят. ИГроки сами оффаются

DartfoL 22/12/2012 06:57 PM

Re: Атака сервера
 
советую купить плагин, он защищает от такого метода атак (на популярных российских форумах про самп можно найти тему)

AirKite 22/12/2012 08:32 PM

Re: Атака сервера
 
Quote:

Originally Posted by DartfoL (Post 2283257)
нет, она означает отправку пустого пакета диалога, в 0.3a крашило, в 0.3b защиту сделали (если не ошибаюсь)

А спец.символы так до сих пор не зафиксили и сервера можно ложить с помощью %s

Что значит пустого пакета? На клиенте символ % подменяется символом #, в 0.3с есть подозрения что защиту включили, ибо так или иначе символ % в нормальных условиях (нормальной версией samp клиент) не может быть отправлен. И касается это не только диалогов (если там конечно символы % не затираются на стороне сервера).

-Stranger- 23/12/2012 03:56 AM

Re: Атака сервера
 
AirKite, символ % оправляется через диалог на ура. И вот мой скромный вариант защиты от знака % и прочих непонятностей, отправленных через клиент. Ссылка

DartfoL 23/12/2012 07:40 AM

Re: Атака сервера
 
Quote:

Originally Posted by AirKite (Post 2283925)
Что значит пустого пакета? На клиенте символ % подменяется символом #, в 0.3с есть подозрения что защиту включили, ибо так или иначе символ % в нормальных условиях (нормальной версией samp клиент) не может быть отправлен. И касается это не только диалогов (если там конечно символы % не затираются на стороне сервера).

только пьяный калкор мог бы сделать подмену % на # на стороне клиента. В нашем случае он не сделал вообще, за что ему меньше позора.

Насчёт пустого пакета, объясняю.
В обычной ситуации клиент создаёт битстрим, записывает в него ид диалога, кнопку, listitem, длину inputtext и сам inputtext. И шлёт на сервер. Сервер же читает все данные с пакета, обрабатывает, и если всё ок, вызывает OnDialogResponse. НО! Если не записать в пакет ничего (т.е. не записывать ид диалога и т.д.) то сервер при попытке прочитать и обработать упадёт. И где-то в 0.3a Rx или 0.3b была запилена защита от этого

AirKite 23/12/2012 08:28 AM

Re: Атака сервера
 
Quote:

Originally Posted by -Stranger- (Post 2284400)
AirKite, символ % оправляется через диалог на ура. И вот мой скромный вариант защиты от знака % и прочих непонятностей, отправленных через клиент. Ссылка

Странно... А в скромном примере убило
pawn Code:
case 0x00 .. 0x1F
(в данном случае if бы работал быстрее)
и
pawn Code:
new itr = -1;
while(inputtext[++itr])
зачем -1 а потом ++itr? (хотя в принципе не так важно).

pawn Code:
if(playerid == INVALID_PLAYER_ID || IsPlayerConnected(playerid) == 0) return 1;
Это вообще реально что бы OnDialogResponse ответил с INVALID_PLAYER_ID или ответил от имени отключенного игрока???

Quote:

Originally Posted by DartfoL (Post 2284528)
только пьяный калкор мог бы сделать подмену % на # на стороне клиента. В нашем случае он не сделал вообще, за что ему меньше позора.

Где то припоминаю таки символ % выводится как # (возможно в чате и смысли на стандартном gm, где нет никакой подмены скриптовой), и в то же время пост от куе где он закрывал дыру описывая её как отправка % в чат или диалог (т.е. мб я что то путаю в этом плане) и всё же если не в диалоге, то в чате такая подмена была и есть.

DartfoL 23/12/2012 08:41 AM

Re: Атака сервера
 
в чате и в командах есть, а в диалогах - нет


All times are GMT. The time now is 12:03 AM.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.