Защита Counter Strike Сервера, Методы защиты от различных уязвимостей игровых серверов |
Здравствуйте, гость Вход | Регистрация
Наши новости:
|
|
|
Защита Counter Strike Сервера, Методы защиты от различных уязвимостей игровых серверов |
[WPMG]PRoSToTeM@
|
1.8.2015, 9:21
Сообщение
|
|
|
|
Поблагодарили 1 раз
|
|
ExtinctSun
|
1.8.2015, 9:36
Сообщение
|
|
|
|
|
|
|
Vovochka989
|
1.8.2015, 13:36
Сообщение
|
|
|
|
|
|
|
csportal
|
1.8.2015, 18:42
Сообщение
|
|
|
|
|
|
|
adva
|
1.8.2015, 19:54
Сообщение
|
![]() ![]() |
|
|
|
|
SaShKa07rus
|
1.8.2015, 20:03
Сообщение
|
![]() |
adva, Смерится для временной защиты поставь Защита Cs Сервера (обновлена 22.06.2015) (Пост #638816) "игроков с одинаковым IP 1" Подождать минимум до понедельника Цитата Asmoda:Увы, детектор будет не раньше понедельника. Из-за неработоспособности под линуксом. За сегодня так и не получилось заняться, а в выходные тем более некогда.
Отредактировал: SaShKa07rus, - 1.8.2015, 20:04
|
Поблагодарили 2 раз
|
|
ExtinctSun
|
1.8.2015, 20:46
Сообщение
|
|
|
минимум до понедельника А если поставить: 1) В самый низ plugins.ini BanIP Fakes /** * Simple plugin to protect server against recently created fake flooder. * * Home post: * https://c-s.net.ua/forum/index.php?act=find...&pid=638816 * * Last update: * 8/7/2014 * * Credits: * - Zetex for 'IP converter' stocks */ /* Copyright © 2014 Safety1st BanIP Fakes is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include <amxmodx> #define PLUGIN "BanIP Fakes" #define VERSION "0.2" #define AUTHOR "Safety1st (modified)" /*---------------EDIT ME------------------*/ #define MAX_SAME_IP 1 // how many players allowed with the same IP address #define BAN_DURATION 5 new gszKickMsg[] = "Exceeded limit connections from one IP" #define MAX_PLAYERS 32 //#define WHITELIST_SIZE 4 // EXACTLY as rows quantity below; uncomment to enable whitelist #if defined WHITELIST_SIZE new const gszWhiteList[WHITELIST_SIZE][] = { "127.0.0.0/8", // loopback interface (usually assigned IP is 127.0.0.1) "192.168.0.0/24", // 192.168.0.0/24 subnet, IPs range 192.168.0.0 ... 192.168.0.255 "10.3.3.2/24", // 10.3.3.0/24 subnet, we could use any of its IPs here } #endif /*----------------------------------------*/ #define DEBUG // uncomment to enable some messages new gszPlayerIP[MAX_PLAYERS + 1][16] new Trie:gtPlayerIPs #if defined WHITELIST_SIZE enum _:WhitelistData { NET_IP, NET_MASK } new Array:gaWhitelist #endif #define FIRST_PLAYER 1 #define SINGLE_PLAYER 1 public plugin_init() { register_plugin( PLUGIN, VERSION, AUTHOR ) register_cvar( "banipfakes_version", VERSION, FCVAR_SERVER|FCVAR_SPONLY|FCVAR_UNLOGGED ) gtPlayerIPs = TrieCreate() #if defined WHITELIST_SIZE new iData[WhitelistData] gaWhitelist = ArrayCreate(WhitelistData) for( new i; i < WHITELIST_SIZE; i++ ) { net_to_long( gszWhiteList[i], iData[NET_IP], iData[NET_MASK] ) ArrayPushArray( gaWhitelist, iData ) } #endif } public client_putinserver(id) { new szPlayerIP[16] get_user_ip( id, szPlayerIP, charsmax(szPlayerIP), 1 /* without port */ ) #if defined WHITELIST_SIZE new iData[WhitelistData] for( new i; i < WHITELIST_SIZE; i++ ) { ArrayGetArray( gaWhitelist, i, iData ) if( iData[NET_IP] == ip_to_long(szPlayerIP) & iData[NET_MASK] ) { #if defined DEBUG server_print( "White IP detected: id %d, IP %s", id, szPlayerIP ) #endif return } } #endif new iQuantity = FIRST_PLAYER if( TrieGetCell( gtPlayerIPs, szPlayerIP, iQuantity ) ) { if( ++iQuantity > MAX_SAME_IP ) { server_cmd( "kick #%d %s; wait; addip %d %s", get_user_userid(id), gszKickMsg, BAN_DURATION, szPlayerIP ) static szBanMsg[] = "IP %s has been banned for %d minutes" log_amx( szBanMsg, szPlayerIP, BAN_DURATION ) } } TrieSetCell( gtPlayerIPs, szPlayerIP, iQuantity ) copy( gszPlayerIP[id], charsmax( gszPlayerIP[] ), szPlayerIP ) } public client_disconnect(id) { if( !gszPlayerIP[id][0] ) // whitelisted player or not fully initialized one (it could happen nearly a map change) return new iQuantity TrieGetCell( gtPlayerIPs, gszPlayerIP[id], iQuantity ) if( iQuantity == SINGLE_PLAYER ) TrieDeleteKey( gtPlayerIPs, gszPlayerIP[id] ) else TrieSetCell( gtPlayerIPs, gszPlayerIP[id], --iQuantity ) gszPlayerIP[id][0] = EOS } /*-- Modified and simplified 'IP converter stocks' by Zetex --*/ // Gets net and mask as LONG from subnet. stock net_to_long( net_string[], &net, &mask ) { new i, ip[16] i = copyc( ip, charsmax(ip), net_string, '/' ) mask = i ? cidr_to_long( net_string[i + 1] ) : 0xFFFFFFFF /* mask /32, IP itself */ net = ip_to_long(ip) & mask } // Converts mask to LONG. Returns unsigned long. stock cidr_to_long( mask_string[] ) { new mask = str_to_num(mask_string) new result = (1 << 31) >> (mask - 1) return result } // Converts IP to LONG. Returns unsigned long. stock ip_to_long( ip_string[] ) { new right[16], part[4], octet, ip = 0 strtok( ip_string, part, 3, right, 15, '.' ) for( new i = 0; i < 4; i++ ) { octet = str_to_num(part) ip += octet if( i == 3 ) break strtok( right, part, 3, right, 15, '.' ) ip = ip << 8 } return ip } /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1049\\ f0\\ fs16 \n\\ par } */ 2) Там же до всяких чат_влиляющих плагинов StopSay #include <amxmodx> new cansay[33] new bool: g_IsPutin[33] public plugin_init(){ register_plugin("StopSay", "0.3", "kanagava & Fintok!") register_event("TeamInfo", "evTeamInfo", "a", "2=TERRORIST", "2=CT", "2=SPECTATOR") } public say_hook(id) return cansay[id]; public client_connect(id) cansay[id] = PLUGIN_HANDLED; public client_putinserver(id){ if(is_user_hltv(id) || is_user_bot(id)){ return PLUGIN_HANDLED } g_IsPutin[id] = true return PLUGIN_CONTINUE } public plugin_precache(){ register_clcmd("say","say_hook") register_clcmd("say_team","say_hook") } public evTeamInfo(){ static id id = read_data(1) if(g_IsPutin[id]){ g_IsPutin[id] = false set_task(10.01,"chat_on",id); } } public chat_on(id) cansay[id] = PLUGIN_CONTINUE; public client_disconnect(id){ remove_task(id) cansay[id] = PLUGIN_HANDLED } 3) И там же в числе первых прописать: NoProxy #include <amxmodx> #include <amxmisc> public plugin_init(){ register_plugin("NoHLProxy", "GOSEF", "1.14") } public client_connect(id){ client_check(id) } public client_putinserver(id){ client_check(id) } public client_check(id){ new s_hlproxy[32] new s_ip[32] new s_nick[32] get_user_name(id, s_nick, charsmax(s_nick)) get_user_info(id, "_ip", s_hlproxy, charsmax(s_hlproxy)) get_user_info(id, "_cmd", s_hlproxy, charsmax(s_hlproxy)) get_user_info(id, "-cmd", s_hlproxy, charsmax(s_hlproxy)) get_user_ip(id, s_ip, charsmax(s_ip), 0) if (!equal(s_hlproxy, "")){ server_cmd("kick #%d NoHLProxyOnTheServer", get_user_userid(id)) log_amx("[CEPBEP] User %s with ip %s has kicked for HLProxy", s_nick, s_ip) } return PLUGIN_CONTINUE } 4) В настройках OD (filescheck.ini) прописать бан за нулевые хэши дыма (или что Вы там предпочитаете?) и сигнатуры файлов (типа XFakePlayers.exe) там же прописать? Может быть уже сейчас защитимся?
Отредактировал: ExtinctSun, - 1.8.2015, 21:00
|
Поблагодарили 1 раз
|
|
massimo
|
1.8.2015, 21:03
Сообщение
|
![]() |
|
|
|
|
XyLiGaN
|
1.8.2015, 21:06
Сообщение
|
|
|
|
|
|
|
l3x1s
|
1.8.2015, 21:06
Сообщение
|
![]() |
|
|
|
|
massimo
|
1.8.2015, 21:14
Сообщение
|
![]() |
|
|
|
|
ExtinctSun
|
1.8.2015, 21:27
Сообщение
|
|
|
|
|
|
|
massimo
|
1.8.2015, 21:28
Сообщение
|
![]() |
|
|
|
|
ExtinctSun
|
1.8.2015, 21:33
Сообщение
|
|
|
Ещё было что-то типа
Код sv_proxies "0" |
|
|
|
XyLiGaN
|
1.8.2015, 21:35
Сообщение
|
|
|
ExtinctSun, С этим значением HLTV не сможет зайти, да и оно никак не связано, вроде с HLProxy.
|
|
|
|
XyLiGaN
|
1.8.2015, 21:47
Сообщение
|
|
|
|
|
|
|
mazdan
|
1.8.2015, 21:50
Сообщение
|
![]() ![]() |
есть и другие и инфостринг они чистить умеют тоже
![]() Не пишите мне в ЛС. Пишите на почту. В ЛС я пропускаю сообщения.
|
|
|
|
![]() ![]() |