Июль 21, 2018, 12:59:00 pm

 Админка на серверах NNCS.RU | Скачать Counter Strike 1.6 | Аренда сервера CS 1.6

Автор Тема: Защита CS сервера до 5787 билда (Обновлено 16.01.2015)  (Прочитано 11376 раз)

Оффлайн Anton1o

  • IS Admin
  • Старожил
  • *****
  • Сообщений: 1794
  • Рейтинг: +186/-24
  • ICQ: 460562
    • Просмотр профиля
    • HuHo Gaming World
1) Эксплоит failds
Последствия: сервер падает с ошибкой или просто закрывается.
Решение: Установить Dproto 0.9.531

2) Программа заполняющая сервер фэйковыми игроками с одинаковыми никами.
Последствия: Эти фейковые игроки забивают слоты, находясь в спектаторах + их нельзя кикнуть.
Решение: Установить Dproto 0.9.531
Так же появилась новая версия этой заразы (dproto пропускает эти фэйки). В таком случае можно защитится, выставив в dproto.cfg:

Цитировать
cid_NoSteam47 = 5
cid_NoSteam48 = 5


Как побочный эффект, к вам на сервер не смогут попасть игроки без эмуляторов.

3) Програма для брута (подбора rcon пароля) сервера.
Последствия: Паролем от вашего сервера может завладеть злоумышленник и начнёт товрить там безпридел, начиная от добавления себя (а так же других левых лиц в админы) заканчивая сменой названия сервера, установки на него пароля или выключения и.т.п.
Решение: Установить сложный длинный rcon пароль с набором цифр и букв или убрать его вообще. Так же можно использовать этот плагин для шифрования ркон пароля.

4) Баг в изменении клиентского файла autobuy.txt.
Последствия: Войдя в игру с изменённым файлом, игрок может вызвать DoS атаку и "положить" сервер.
Решение: Поставить патченные mp.dll и cs_i386.so (плагин autobuyfix больше не нужен):

Autobuy_Fix_Windows.zip ( 439,41 килобайт )
Autobuy_Fix_Linux.zip ( 1,05 мегабайт )

5) Эксплоит csdeath, который использует баг, найденный ещё в CS 1.5.
Последствия: На сервер коннектится фэйковый игрок и посылает команду загрузки файла большого размера, в следствии чего сервер сначала подвисает, а потом падает.
Решение: Способ 1 (наилучший вариант)
Поставить metamod плагин из этой темы: http://nncs.ru/index.php?topic=913.0

Способ 2 (альтернативный вариант, при котором не будет работать подкачка недостающих ресурсов напрямую с сервера, т.е. карты, модели, звуки) В server.cfg Установить значение

Цитировать
sv_allowdownload 0


Если у вас работает быстрое скачивание файлов с веб-ресурса, то боятся нечего - все файлы будут качаться прямо оттуда

Способ 3.
В dproto.cfg установить значения:

Цитировать
cid_NoSteam47 = 5
cid_NoSteam48 = 5
cid_SteamEmu = 5


Как побочный эффект, к вам на сервер не смогут больше попасть игроки без эмуляторов + те, у кого есть Steam Emu.

6) Нагрузка hlds на процессор и память:
Последствия:Cервер не падает сразу, а сначала сильно увеличивается нагрузка hlds на процессор и память, игровой процесс зависает, минуты 2-3 это продолжается, потом сервер может как упасть, так и отвиснуть.
Решение: в dproto.cfg найти строку cid_HLTV и установить значение 5

7) Нагрузка hlds на процессор и память (вызывает переполнение буфера + грузит проц на 100%):
Последствия: Cервер зависает вместе с компом.
Решение: Установить http://nncs.ru/index.php?topic=913.0

8) Jo's Win32 Exploit и Jo's v2::
Последствия:Сервер вылетает (перезапускается). Сообщения в консоле (логах):

Цитировать
SV_ReadClientMessage: unknown command char (32)
Reason: Bad command character in client command


Решение #1: Заменить исправленный файл swds.dll или пропатчить файл самостоятельно.

swds.zip ( 783.81 килобайт )
patch_anti_jos.zip ( 12.86 килобайт )

Решение #2: Обновить серверную часть до новейшей версии.

9) Спам от команды fullupdate (не на всех серверах, зависит от плагинов):
Последствия: Начинаются ужасные лаги на сервере.
Решение: Установить fullupdate amx плагин. Скачать.

10) HLDS Fake Flood by I-T-N-I
Последствия: Сервер покрывается ужасными лагами.

Решение №1 (снижает лаги от флудера): Обновить сервер до последней версии.
Решение №2 (частичное, не помогает от нового флудера): Запрещаем вход без эмулятора:

Настройки конфига dproto.cfg:
cid_HLTV = 5  (Если юзаете HLTV то добавляем в конфиге dproto IP адрес HLTV)
cid_NoSteam47 = 5
cid_NoSteam48 = 5

Чтобы сильно не терять онлайн, в server.cfg прописываем:
dp_rejmsg_nosteam47 "Извините, вы используете старый патч. Скачайте последний 43 патч."
dp_rejmsg_nosteam48 "Извините, вы используете старый патч. Скачайте последний 43 патч."

Решение №3: Только для Linux с установленным iptables. Прописать правила:

iptables -A INPUT -p udp -m udp -m string --hex-string "|17c74a30a2fb752396b63532b1bf79b0|" --algo kmp -j DROP
iptables -A INPUT -p udp -m udp -m string --hex-string "|17951a20e2ab6d63d6ac7d62f1f721e057cd4270e2f1357396f66522f1ed61f0|" --algo kmp -j DROP
iptables -A INPUT -p udp -m udp -m string --hex-string "|178f5230e2e17d73d6bc6562f1ed29e0|" --algo kmp -j DROP
iptables -A INPUT -p udp -m udp -m string --hex-string "|d50000806e000000|" --algo kmp -j DROP
iptables -A INPUT -p udp -m udp -m string --hex-string "|ffffffff6765746368616c6c656e6765000000000000|" --algo kmp -j DROP


11) Баг найденный в colored translit:
Последствия: После ввода неких символов в консоль игрока у всех закрывается, либо зависает клиент Counter-Strike 1.6.
Решение:

1) Заходим в \cstrike\addons\amxmodx\scripting\colored_translit
2) Ищем: say.inl и say_team.inl
3) В обоих файлах найти:
replace_all(s_Msg, charsmax(s_Msg), "%s", "")
заменить на:
replace_all(s_Msg, charsmax(s_Msg), "%", "")

Для тех у кого в файлах типо такого:
replace_all(s_Msg, charsmax(s_Msg), "%s", "")
replace_all(s_Msg, charsmax(s_Msg), "%d", "" )
replace_all(s_Msg, charsmax(s_Msg), "%i", "" )
replace_all(s_Msg, charsmax(s_Msg), "%f", "" )
replace_all(s_Msg, charsmax(s_Msg), "%c", "" )
replace_all(s_Msg, charsmax(s_Msg), "%S", "")
replace_all(s_Msg, charsmax(s_Msg), "%D", "" )
replace_all(s_Msg, charsmax(s_Msg), "%I", "" )
replace_all(s_Msg, charsmax(s_Msg), "%F", "" )
replace_all(s_Msg, charsmax(s_Msg), "%C", "" )
Заменяем всё это так же на:
replace_all(s_Msg, charsmax(s_Msg), "%", "")

Баг 2
colored_translit/say.inl
строка 397 if(strlen(Message) >= 192) заменить на if(strlen(Message) > 190)
colored_translit/say_team.inl
строка 413 if(strlen(Message) >= 192) заменить на if(strlen(Message) > 190)

4) Сохраняем.
5) Компилируем заново colored_translit.sma находится здесь: \cstrike\addons\amxmodx\scripting

Везде в чате будет вырезаться %, зато нет бага.

12) Эксплоит CaseSensExt
Последствия: Баг, с помощью которого можно слить любой файл с сервера, например server.cfg.
Решение #1: Обновить серверную часть до последней версии
Решение #2: Прописать в конфиге sv_allowdownload 0, но при этом у вас должна быть быстрая загрузка файлов через http
Решение #3: Установить antidl.amxx (скачать)

13) Постоянный флуд с различных IP
Последствия: Теоретически возможны подлагивания сервера. В логах много строчек [DPROTO]: traffic temporary blocked from
Решение #1: Обновить сервер и dproto до последних версий. Строчки [DPROTO]: traffic temporary blocked from не пропадут, но ваш сервер перестанет быть частью ботнета.
Решение #2: На данный момент возможно заблокировать флуд правилом для iptables

-А INPUT -p udp -m udp -m string --hex-string "|FFFFFFFF56|" --algo kmp -j DROP
Решение #3: Можно убрать флуд из консоли используя плагин на модуле Orpheu (Скачать)

14) Бэкдоры в плагинах от MastaMan и Empower:
Решение: Отведена отдельная тема

15) Уязвимость "Появляются левые конфиги" файл exec.cfg и прочие:
Последствия: На сервере ставят rcon, отключают плагины - творят что хотят.
Решение: Патченная библиотека

16) Уязвимость FVU:
Последствия: Сервер падает. Перед падением вход игрока со случайным ником (типа OXErL0xcEUjCK)
Решение: Последний dproto

17) Новый HLDS флудер
Последствия: Сервер зависает, у всех игроков высокий пинг.
Решение #1: Воспользоваться плагином бана по айпи от mazdan.

Установка плагина от mazdan
Плагин работает на орфее. Квары:

af_one_time_in 2 //разрешен вызов fullupdate в af_one_time_in секунд
af_ban 1 // выполнять бан ботов (addip)
af_ban_time 300 // время бана в минутах (по айпи) - при бане пишет в amx лог

Функцию орфея (файл SV_FullUpdate_f) нужно положить к функциям орфея /configs/orpheu/functions

18) Сплоит SpawnMalfunction
Последствия: Сервер падает с ошибкой SZ_GetSpace: overflow without FSB_ALLOWOVERFLOW set on Server Reliable Datagram
Решение: Установить Dproto 0.9.531


19) Подмена Steam ID
Последствия: Угон админки.
Решение #1: Установить Dproto 0.9.531 в конфиге dproto в строке "SteamIdHashSalt = " указать любое значение не менее 16 символов.
Решение #2: в конфиге dproto выставить Native_Prefix1 = 7;. После этого у всех реальных Steam ID, на Вашем сервере, префикс будет начинаться с STEAM_7:0:xxxxxxxx. Будьте внимательны и выставляйте права правильно. Рекомендую админки выдавать по steamid и паролю одновременно.

20) Сплойт FragmBuf
Последствия: Подключения игрока. Сервер падает с ошибкой SZ_GETSPACE: Overflow without FSB_ALLOWOVERFLOW set on net_message
Решение:  Установить Dproto 0.9.531
Решение 2: Установить metamod плагин FragBufFix

21) Защита от "#.%+" в нике, чате и меню
Последствия: Все мгроки отваливаливаются если прописать в чате/нике "#Cstrike_GIGN_Label #Cstrike_GIGN_Label" и прочие варианты.
Решение:  Установить localizebugfix 2.3

22) Новые Fake Players
Последствия: Подключение большого количества игроков (как правило с сгенерированными никами). Фейки спавнятся, имеют свой ping и SteamID. Просто забивает сервер фейками.
Решение:  Установить Dproto 0.9.531
Решение: Простой плагин бана при коннекте больше чем X игроков с одного IP (by Safety1st).

23) Сплоит UnUTF8Chars
Последствия: Подключения старнных игроков. Флуд в консоль сообщениями о том что "Values must be valid utf8 text".
Решение (Orpheu): Установить utffix
Решение:  Установить Dproto 0.9.531

24) Сплойт Buffer Overload v2
Последствия:  сервер зависает/падает, флуд в консоли Ignoring invalid custom decal from *
Решение 1: Установить Linux / Windows
Решение 2: Установить Linux / Windows
Решение 3: Установить Dproto 0.9.531

25) Сплойт Buffer Overload v3
Последствия: Подключается бот, у всех повышается пинг и сервер виснет пока не выйдет бот
Решение 1: Установить Dproto 0.9.531
Решение 2 (от s1lent): Linux / Win [MM]

26) darcode.com exploit
Последствия: На сервер подключается бот после чего сервер крашится
Решение отключить скачку ресурсов напрямую с сервера (sv_allow_dlfile 0), при этом все нужные ресурсы должны быть на быстрой загрузке. (решение позаимствовано на дс ру)


« Последнее редактирование: Январь 23, 2015, 10:37:54 am от Anton1o »