Защита серверов от взлома и падений

Защита серверов от взлома и падений

Статья о том как защитить свой сервер от взломов и падений.

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

Из нашего личного опыта известны такие случаи как:
1. Кража паролей воспользовавшись доверием руководства.
2. Подбор легкого ркон пароля программой (брут).
3. Файлы с паролем или базы доступны из интернета.
4. Плагины без исходников с бэкдорами, которые шлют ваш ркон автору плагина
5. Уязвимости самого сервера (HLDS) или дополнений (metamod, dproto, amx)

Второе, что надо сделать - это забанить подсеть злоумышленника через addip. В первом и втором случае все просто, если у вас просто 1 сервер без сайта и прочего - смените все пароли на более сложные с цифрами и буквы с разным регистром. Если новый пароль взломали очень быстро, значит это случай 3 или 4. Возможно некоторые новички из вас озадачились вопросом "Как вообще узнать взломали ли ркон?". Очень просто - в консоле сервера будет высвечиваться что-то вроде rcon command from 192.168.0.1, или включите логи (log on) а потом просмотрите их. Далее по пункту 3 проверьте так сказать "быструю закачку по http", если она у вас есть опыт готовить, почитайте статьи о кулинария, и готовьте с удовольствием, но не попал ли туда файл server.cfg, sql.cfg, users.ini и другие хранящие конфиденциальную информацию, если у вас база mysql создавайте пользователей которые имеют право подключаться только с известных вам ip адресов. Далее пункт 4 - отключите все плагины и ставьте только либо самые простенькие, либо просматривайте исходник на наличие строчи вроде
get_cvar_string("rcon_password", rcon, 128) Нормальным плагинам не нужно знать значение переменной rcon_password.

Если ваш сервер постоянно падает или перезагружается:
1. Включите логи и просмотрите последние строчки перед падением.
2. Найдите какую-нибудь ключевую фразу и воспользуйтесь яндексом.
3. Отключите все дополнения и, если перестанет падать, включайте по одному.
4. Используйте последний билд и последнюю версию dproto.
5. Поставьте другую сборку на тот же порт и проверьте будет ли падать.
Комментарии(8)
  1. Аватар Jommy
    Jommy Без регистрации
    28 сентября
    0
    Как всегда большое спасибо Babai smile
  2. Аватар C1poTT4iK
    C1poTT4iK Без регистрации
    28 сентября
    0
    аффтар рулиш! спасибо за статью)
    джойстик в глазу вообще убил xaxa
  3. Аватар X-Flight
    X-Flight Без регистрации
    02 октября
    0
    C1poTT4iK,
    А меня джойстик не прет smiles
  4. Аватар reaktiv
    reaktiv Без регистрации
    12 октября
    0
    у меня падает сервер и в логах вот ето ! что зделать чтоб непадал сервер бо ето вот из за етого падает! ето ломают сервер ?



    [2010-10-12 15:40:12][0,0] : Log session started
    [2010-10-12 15:40:12][0,0] : SetSteamID( [A:1:0:0] )
    [2010-10-12 15:40:12][1,2] : Connect() starting connection (eNetQOSLevelLow, 72.165.61.185:27017, UDP)
    [2010-10-12 15:40:17][1,2] : ConnectFailed('Connection Failed') (72.165.61.185:27017, UDP)
    [2010-10-12 15:40:17][0,0] : StartAutoReconnect() will start in 3 seconds
    [2010-10-12 15:40:20][1,5] : Connect() starting connection (eNetQOSLevelMedium, 72.165.61.185:27017, TCP)
    [2010-10-12 15:40:21][1,5] : ConnectionCompleted() (72.165.61.185:27017, TCP)
    [2010-10-12 15:40:21][1,5] : RecvMsgClientLogOnResponse() : 'OK'


    [2010-10-12 15:40:32][0,0] : Log session started
    [2010-10-12 15:40:32][0,0] : SetSteamID( [A:1:0:0] )
    [2010-10-12 15:40:32][1,2] : Connect() starting connection (eNetQOSLevelLow, 72.165.61.185:27017, UDP)
    [2010-10-12 15:40:37][1,2] : ConnectFailed('Connection Failed') (72.165.61.185:27017, UDP)
    [2010-10-12 15:40:37][0,0] : StartAutoReconnect() will start in 4 seconds
    [2010-10-12 15:40:41][1,5] : Connect() starting connection (eNetQOSLevelMedium, 72.165.61.185:27017, TCP)
    [2010-10-12 15:40:42][1,5] : ConnectionCompleted() (72.165.61.185:27017, TCP)
    [2010-10-12 15:40:42][1,5] : RecvMsgClientLogOnResponse() : 'OK'
  5. Аватар Babai
    Babai Админ
    12 октября
    0
    похоже что его перезапускают.. программами всякими.
  6. Аватар reaktiv
    reaktiv Без регистрации
    13 октября
    0
    просто какой бы я сервер готовый не запускал то он упадет и в логах будет ето! даже брал с вашего сайта качал сервер готовый запускал и всеравно он падает!!!
  7. Аватар Babai
    Babai Админ
    13 октября
    0
    IP реальный? Если да то - тебе постоянно мстят... ставь последный dropto.
    Может у тебя машинка слабая?
  8. Аватар MyProDreams
    MyProDreams Без регистрации
    20 декабря
    0
    reaktiv,
    Anti CSDos для чего? smile