[Ayuda] Server Full Attack
#1

Hola!

hace poco un usuario venezolano ha estado atacando mi servidor con el ataque de server full attack y mi servidor se defiende y lo bloquea pero solo lo bloquea temporalmente es decir no banea la IP en su totalidad.

PHP код:
[00:55:58Incoming connection190.77.3.218:32604
[00:55:58Incoming connection190.77.3.218:32860
[00:55:58Incoming connection190.77.3.218:33116
[00:55:59Incoming connection190.77.3.218:33372
[00:55:59Incoming connection190.77.3.218:33628
[00:55:59Incoming connection190.77.3.218:33884
[00:55:59Incoming connection190.77.3.218:34140
[00:55:59Incoming connection190.77.3.218:34396
[00:55:59Incoming connection190.77.3.218:34652
[00:55:59Incoming connection190.77.3.218:34908
[00:55:59Incoming connection190.77.3.218:35164
[00:55:59Incoming connection190.77.3.218:35420
[00:55:59Incoming connection190.77.3.218:35676
[00:55:59Incoming connection190.77.3.218:35932
[00:55:59Incoming connection190.77.3.218:36188
[00:55:59Incoming connection190.77.3.218:36444
[00:55:59Incoming connection190.77.3.218:36700
[00:56:00Incoming connection190.77.3.218:36956
[00:56:00Incoming connection190.77.3.218:37212
[00:56:00Incoming connection190.77.3.218:37468
[00:56:00Incoming connection190.77.3.218:37724
[00:56:00Incoming connection190.77.3.218:37980
[00:56:00Incoming connection190.77.3.218:38236
[00:56:00Incoming connection190.77.3.218:38492
[00:56:00Incoming connection190.77.3.218:38748
[00:56:00Incoming connection190.77.3.218:39004
[00:56:00Incoming connection190.77.3.218:39260
[00:56:00Incoming connection190.77.3.218:39516
[00:56:00Incoming connection190.77.3.218:39772
[00:56:00Incoming connection190.77.3.218:40028
[00:56:00Incoming connection190.77.3.218:40284
[00:56:01Blocking 190.77.3.218 due to a 'server full' attack (1
lo que yo quiero es pedirles su ayuda para poder banear a un usuario que intente conectarse en menos de una cantidad determinada de tiempo; digamos, 1 segundo Y si el usuario hace la peticion de conectarse mбs de 2 veces en menos de esa cantidad de tiempo entonces lo banea.

creo que eso es posible con el callback de OnIncomingConnection(playerid, ip_address[], port)

me gustarнa que alguien pueda pasarme el codigo correcto que ejecute la funcion que pedi en este public; muchas gracias de ante mano
Reply
#2

https://sampforum.blast.hk/showthread.php?tid=518459
Reply
#3

Ese tipo de ataque el samp solo lo bloquea y no te afecta en nada, no veo para que deseas el ban, ahora que lo puedes hacer tambien manualmente. O bien un ban con rango como 190.77.3.* y listo. Aunque con las ips dinamicas con que reinicie cambia su ip a menos que metas un rango mas severo como 190.77.*.* pero obviamente afectaras a mas usuarios y no es recomendable, pero una buena solucion para que la pusieras por un tiempo en lo que ese usuario se aleja de tu servidor.
Reply
#4

De pedo me di cuenta que los puertos forman un patrуn, si te fijas siempre hay una diferencia de 256 entre cada puerto, capas te puede ayudar con el tema para identificar mejor un ataque.
Reply
#5

Lo quiero banear porque no lo hace una vez, sino que el servidor lo bloquea y luego vuelve a atacar... Y me perjudica porque esto lo hace durante horas y durante esas horas da un poco de lag :/

PD: No sй si me sirva el ban de rango porque parece estar usando VPN o proxy ya que no es la ъnica IP con la que ataca
Reply
#6

Quote:
Originally Posted by Auzen
Посмотреть сообщение
Lo quiero banear porque no lo hace una vez, sino que el servidor lo bloquea y luego vuelve a atacar... Y me perjudica porque esto lo hace durante horas y durante esas horas da un poco de lag :/

PD: No sй si me sirva el ban de rango porque parece estar usando VPN o proxy ya que no es la ъnica IP con la que ataca
Me pasaba eso a mi tambiйn cuando usaba la versiуn 0.3x no se si hayan ataques asн para la versiуn 0.3z... Cual utilizas tu.... mira encontre un firewall de stella pero no puedo compilarlo, si puedes compilarlo me avisa ya que me gustarнa igual probarlo....

Aquн el enlace:

http://www.mediafire.com/download/l8...8/Firewall.pwn
Reply
#7

Uso la 0.3z. No, no lo puedo compilar :/
Reply
#8

Quote:
Originally Posted by Auzen
Посмотреть сообщение
Uso la 0.3z. No, no lo puedo compilar :/
No lo van a compilar porque eso estб hecho en C++ y no en pawn seguramente alguien le aсadiу el .pwn o lo coloco en un .pwn solo para pasar el texto.
Reply
#9

Quote:
Originally Posted by Auzen
Посмотреть сообщение
lo que yo quiero es pedirles su ayuda para poder banear a un usuario que intente conectarse en menos de una cantidad determinada de tiempo; digamos, 1 segundo Y si el usuario hace la peticion de conectarse mбs de 2 veces en menos de esa cantidad de tiempo entonces lo banea.

creo que eso es posible con el callback de OnIncomingConnection(playerid, ip_address[], port)

me gustarнa que alguien pueda pasarme el codigo correcto que ejecute la funcion que pedi en este public; muchas gracias de ante mano
Es posible detectarlo, pero no es posible bloquearlo usando las funciones de SA-MP. La ъnica soluciуn que tienes es bloquearlo de otra manera, con un firewall, por ejemplo.

Este fue el cуdigo que utilicй (lo hice basбndome en lo que dijiste y la diferencia que encontrу JustBored en los puertos):
pawn Код:
new last_joiner_IP[16], last_joiner_port, last_joiner_time;
#define LastConnection[%0] last_joiner_%0

public OnIncomingConnection(playerid, ip_address[], port)
{
    //if(strcmp(ip_address, "127.0.0.1") == 0) return true;
    if(strcmp(ip_address, LastConnection[IP]) == 0 && GetTickCount() < (LastConnection[time] + 100))
    {
        if((port - LastConnection[port]) == 256)
        {
            BlockIpAddress(ip_address, 0);
            printf("Possible connection flood detected! %s has been blocked.", ip_address);
        }
        else
        {
            BlockIpAddress(ip_address, 60 * 1000);
            printf("Possible connection flood detected! %s has been temporarily blocked.", ip_address);
        }
        return true;
    }

    format(LastConnection[IP], 16, "%s", ip_address);
    LastConnection[port] = port;
    LastConnection[time] = GetTickCount();
    return true;
}
Estos fueron los resultados:



Y como ves... despuйs haber bloqueado la IP, el ataque continua. No se detiene.
Reply
#10

Quote:
Originally Posted by LuiisRubio
Посмотреть сообщение
Es posible detectarlo, pero no es posible bloquearlo usando las funciones de SA-MP. La ъnica soluciуn que tienes es bloquearlo de otra manera, con un firewall, por ejemplo.

Este fue el cуdigo que utilicй (lo hice basбndome en lo que dijiste y la diferencia que encontrу JustBored en los puertos):
pawn Код:
new last_joiner_IP[16], last_joiner_port, last_joiner_time;
#define LastConnection[%0] last_joiner_%0

public OnIncomingConnection(playerid, ip_address[], port)
{
    //if(strcmp(ip_address, "127.0.0.1") == 0) return true;
    if(strcmp(ip_address, LastConnection[IP]) == 0 && GetTickCount() < (LastConnection[time] + 100))
    {
        if((port - LastConnection[port]) == 256)
        {
            BlockIpAddress(ip_address, 0);
            printf("Possible connection flood detected! %s has been blocked.", ip_address);
        }
        else
        {
            BlockIpAddress(ip_address, 60 * 1000);
            printf("Possible connection flood detected! %s has been temporarily blocked.", ip_address);
        }
        return true;
    }

    format(LastConnection[IP], 16, "%s", ip_address);
    LastConnection[port] = port;
    LastConnection[time] = GetTickCount();
    return true;
}
Estos fueron los resultados:



Y como ves... despuйs haber bloqueado la IP, el ataque continua. No se detiene.
Entonces quiere decir que se bloque la IP no va funcionar con el firewall hicistes?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)