Защита сервера Counter-Strike 1.6

Источник

Автор статьи: Gudaus

КЛИЕНТСКИЕ УЯЗВИМОСТИ, КОТОРЫЕ ДОЛЖЕН ЗНАТЬ АДМИН

Demo Hack
Суть уязвимости:
злоумышленник может модифицировать демку так, что та будет выполнять на вашем клиенте различные команды. Это не серверный эксплойт, но напрямую влияет на безопасность вас как админа. Обычно на серверах пишут демо клиенту плагином, далее забаненный игрок выкладывает демо, чтобы доказать свою невиновность. Имейте в виду, что вам могут подсунуть заражённое демо. На данный момент в паблике одно такое демо, но нет гарантии, что их не станет больше.

Пример команд от автора эксплойта

Открытие сд-рома
2. Записывется скриншоты игры (50скринов в секунду)
3. Бинд w\mouse1\~\space c значением viewdemo 1
4. Переписывается name FREGAT
5. Переписывается setinfo _pw FREGAT
6. Исчезает HUD
7. Меняется значение developer/cl_showfps/net_graph на 0
8. Отключается обработка кадров карты (r_norefresh 1)
9. Исчезает курсор (на старых версиях игры)
10. Добавление текста:
Prosto pizdataya demka ot Fregata
HACK
HLDEMO
pizdataya demka
PROSTO_DEMKA_OT_FREGATA
11. Увеличение громкости
12. Воспроизведение музыки с Half-Life
13. Замена/добавление файлов:
autoexec.cfg
userconfig.cfg
GameUI.dll
gfx.wad
motd.txt
motd_temp.html
FREGAT.dem
config.cfg.pif
1.dem.pif
GameMenu.res
hud.txt
delta.lst
14. Меняется в реестре режим обработки на Software игры
15. Меняется разрешение игры 848x480

Последствия: самые разные. От банальной смены конфига до забития диска скриншотами и удаления windows, если windows расположен на том же логическом диске, что и клиент игры.
Защита: Установите HLTV. Демо скачивайте перед просмотром сами. Не запускайте демки, переданные вам игроками. В этом случае у злоумышленника не будет шансов подсунуть вам модифицированное демо.

Config Hack
Суть уязвимости:
злоумышленник заманивает админа вашего сервера на свой сервер и крадёт информацию из его конфига. Цель - узнать пароль к админке. После чего заходит к вам на сервер как админ. Таким способом чаще всего улетают админки по нику и паролю.
Последствия: в зависимости от того, какие права у ваших админов. От беспредела на сервере до смены паролей и включения/отключения плагинов.
Защита:

  1. Приучите ваших админов заходить на чужие сервера НЕ с того клиента, с которого играют на вашем сервере. Пусть ставят 2 отдельный клиента , один для игры на вашем сервере и второй - на любой другом.
  2. Если админ играет со стима, выдаёте админку по SteamID. Это самый надёжный путь.
  3. Не выдавайте админам слишком много прав. Многие просто прописывают все права подряд, что увеличивает риск в случае взлома админки. Например, зачем админам права на rcon, cvar, pause? Если хотите, также можете подредактировать, какие права будут на какой букве. Это делается в cmdaccess.ini

Защиту, которую необходимо установить на сервер:

Localize exploit
Последствия:
игрок прописывает в чате комбинацию символов, ведущих к зависанию клиента у игроков. Может сопровождаться вылетом с ошибкой "Reliable Channel Overflowed" и падением сервера.
Защита 1: SafeNameAndChat
Защита 2: ReLocalizeBugFix

HL Brute
Последствия:
программа пытается автоматически подобрать rcon-пароль к Вашему серверу. Если получится, то некто получит доступ к управлению сервером.
Решение 1: установите длинный и сложный rcon-пароль, чтобы его стало нереально подобрать по словарю. Если Вам rcon-пароль не нужен, то вообще удалите.
Решение 2: Забаньте ip, с которых идёт подбор пароля. Для этого в server.cfg впишите

sv_rcon_banpenalty 9000
sv_rcon_maxfailures 2
sv_rcon_minfailures 2
sv_rcon_minfailuretime 9000

Решение для Linux IpTables от Fire

iptables -A INPUT -m string --string "HLBrute" --algo kmp -j DROP
iptables -A INPUT -m string --string "HLXBrute" --algo kmp -j DROP

Fake Players v 1.00 - V.1.14
Последствия:
подключаются боты, имеют в арсенале speed-hack, свой ping и SteamID. Бегают по карте, стреляют, закупаются, имитируя живых людей. Флудят в микрофон и чат.
Защита 1: ReAUTHCHECK

SteamID Changer

Последствия: Подменяют steamID на админский, узнают пароли от бд, елси прописаны флаги доступа у гл.админа на это, и т.д.

Защита: Добавление HashSalt в конфиг dproto или reuniun (Если у вас rehlds), подробно ниже

Защита от подмены SteamID Админов и Игроков

  1. В Панели Управления открываем вкладку Настройки
  2. Открываем dproto.cfg
  3. Находим строку SteamIdHashSalt =
  4. После знака '=' пишем любой набор букв (цифр) на англ языке (не менее 16)
  5. Сохраняем и делаем рестарт

ВАЖНО:

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

1127 views·18 shares