21.12.2013, 14:34
Атака сервера
21.12.2013, 16:02
(
Last edited by ReDiX; 21/12/2013 at 09:22 PM.
)
У кого вдска, не так сложно в принципе реализовать защиту в самом виртуальном сервере.
Средствами баш скриптинга (bash) и иптаблес (iptables).
Тк как в нехороших сообщениях которые пишутся в лог указывается ип, можно написать скрипт который будет читать сервер лога построчно, если находим нужное нам сообщение к примеру Invalid client connecting from , берем из него ип и отсылаем в иптаблес который соответственно банит игрока, как ожидается бан идет на уровне самого виртуального сервера, так что у забаненого самп-сервер не будет пинговаться.
Таким образом мы не нагружаем самп сервер ибо в работу идет только виртуальный сервер который в принципе справляется с этими задачами путем баш скриптов.Так же можно реализовать разбан этих ипов через опр время.
-----
Если на вашем виртуальном сервере одновременно стоит сайт то забаненый на него не сможет зайти.
Можно закрыть доступ забаненому только к порту на котором стоит самп-сервер.
Соответственно сайт будет доступен для него.
-----
Не всегда же над павном издеваться
Средствами баш скриптинга (bash) и иптаблес (iptables).
Тк как в нехороших сообщениях которые пишутся в лог указывается ип, можно написать скрипт который будет читать сервер лога построчно, если находим нужное нам сообщение к примеру Invalid client connecting from , берем из него ип и отсылаем в иптаблес который соответственно банит игрока, как ожидается бан идет на уровне самого виртуального сервера, так что у забаненого самп-сервер не будет пинговаться.
Таким образом мы не нагружаем самп сервер ибо в работу идет только виртуальный сервер который в принципе справляется с этими задачами путем баш скриптов.Так же можно реализовать разбан этих ипов через опр время.
-----
Если на вашем виртуальном сервере одновременно стоит сайт то забаненый на него не сможет зайти.
Можно закрыть доступ забаненому только к порту на котором стоит самп-сервер.
Соответственно сайт будет доступен для него.
-----
Не всегда же над павном издеваться
02.01.2014, 02:04
Quote:
Как вы смотрите на такую защиту
pawn Code:
[02/12/2013 12:53:30] Packet was modified, sent by id: 15, ip: 188.116.54.12:51757 ... [02/12/2013 12:53:33] Packet was modified, sent by id: 15, ip: 188.116.54.12:51757 [02/12/2013 12:53:33] antipizdos: kick Vova_Betman[15][ip:188.116.54.12]. Acks sent: 4197 что не так? что исправить? как у вас? |
07.05.2014, 22:54
(
Last edited by stabker; 08/05/2014 at 08:40 AM.
)
От флуда incomming connection. Делал на будущее для себя и решил выложить сюда (хотя бы в качестве примера). Не тестировал. Если собираетесь использовать, настоятельно рекомендую настроить и оттестировать.
pawn Code:
public OnIncomingConnection(playerid, ip_address[], port)
{
#define MAX_IPS 25 //Максимальное количество ип адресов, которое может храниться в массиве
#define MAX_WARNINGS 10 //Максимальное количество предупреждений, после которого последует бан
#define MIN_INTERVAL 3000 //Минимальный интервал между подключениями (в миллисекундах)
enum ip_enumerator
{
Ip[16],
Second
}
static Connection[MAX_IPS][ip_enumerator], Ip_Warnings[MAX_IPS char];
if(!strcmp("127.0.0.1", ip_address)) return 1; //Ботов не проверяем
new curtick = GetTickCount(), i;
for(; i < MAX_IPS; i++)
{
if(Connection[i][Ip][0] == ip_address[0] && !strcmp(ip_address, Connection[i][Ip]))
{
if(curtick - Connection[i][Second] < MIN_INTERVAL)
{
if(Ip_Warnings{i}++ > MAX_WARNINGS)
{
BlockIpAddress(ip_address, 600000);
Connection[i][Ip][0] = EOS;
Connection[i][Second] = Ip_Warnings{i} = 0;
//Не знаю, нужно ли здесь самому кикать этого игрока
return 1;
}
}
else Ip_Warnings{i} = 0;
Connection[i][Second] = curtick;
return 1;
}
}
for(i = 0; i < MAX_IPS; i++)
{
if(curtick - Connection[i][Second] > MIN_INTERVAL)
{
strmid(Connection[i][Ip], ip_address, 0, 16, 16);
Connection[i][Second] = curtick;
Ip_Warnings{i} = 0;
break;
}
}
return 1;
}
08.05.2014, 09:23
от эксплойта диалога защита есть.
08.05.2014, 12:04
Quote:
У кого вдска, не так сложно в принципе реализовать защиту в самом виртуальном сервере.
Средствами баш скриптинга (bash) и иптаблес (iptables). Тк как в нехороших сообщениях которые пишутся в лог указывается ип, можно написать скрипт который будет читать сервер лога построчно, если находим нужное нам сообщение к примеру Invalid client connecting from , берем из него ип и отсылаем в иптаблес который соответственно банит игрока, как ожидается бан идет на уровне самого виртуального сервера, так что у забаненого самп-сервер не будет пинговаться. Таким образом мы не нагружаем самп сервер ибо в работу идет только виртуальный сервер который в принципе справляется с этими задачами путем баш скриптов.Так же можно реализовать разбан этих ипов через опр время. ----- Если на вашем виртуальном сервере одновременно стоит сайт то забаненый на него не сможет зайти. Можно закрыть доступ забаненому только к порту на котором стоит самп-сервер. Соответственно сайт будет доступен для него. ----- Не всегда же над павном издеваться |
« Next Oldest | Next Newest »
Users browsing this thread: 1 Guest(s)