[FilterScript] sQflood - Anti Query Flood desde Pawn!
#1

sQflood v1.0 - Anti Query Flood por Spell
Informaciуn: Query Flood, es un ataque a servidores SA:MP muy comъn, lo que hace es enviar muchas consultas por segundo, y como el servidor debe responder todas las consultas que se hacen, no tiene capacidad para responder a los usuarios, entonces:
• Se laguea de forma masiva el server
• A los jugador se les reinicia el server
• Pones click, y no te aparece ni el hostname (Ya que el servidor estб respondiendo las queries falsas enviadas por el atacante)
• Sube el ping a valores altisimos. (+100000)

- Si tu servidor tiene alguno de estos problemas, coloca este filterscript ya!

їQuй hace este filterscript? Detecta las queries, y cuando hay una determinada cantidad de queries de una IP, bloquea el acceso al servidor (No solo al servidor SA:MP, sino a la Web, TS3 en caso de usar el mismo servidor para alojar todo).

Ventajas:
• Puede recibir ataques de mбs de 80 IPS diferentes al mismo tiempo, y baneara TODAS en muy poco tiempo (2 segundos).
• Si el/los jugadores atacante se encuentra dentro del servidor, serб baneado su nombre tambiйn.
• El FS estб en dos idiomas: Ingles y Espaсol. Para cambiarlo, debes cambiar "#define lang LANG_ES" o "#define lang LANG_EN".
• Cada vez que bloquea un ataque, exporta la informaciуn a "sQflood_log.txt" en scriptfiles. (IP del atacante, horario, fecha, aсo)
• El cуdigo es muy rбpido (Segъn un test que hice, cada vez que una query es enviada, el tiempo de ejecuciуn es 0,02MS).
• No bloquea IPS inocentes de ninguna forma! Todas las IPS bloqueadas son atacantes. El sistema de reconocimiento es bastante avanzado.
Desventajas::
• Floodea la consola bastante
• Momentaneamente no funciona para Windows, solo linux. (Si alguien sabe como bloquear una IP de windows con MS-DDOS, digame! Yo se solo bloquear las IP de linux mediante "iptables".
EDIT: Ahora en windows no funciona tan efectivamente como linux, no bloquea la conexiуn, pero si bloquea la IP (El atacante no podrб entrar mбs al server).


Crйditos::
• Spell (script)
• JaTochNietDan (plugin exec)
• ****** (fixes2)

Descarga::
Pastebin
Plugin: exec
Plugin: fixes2
Reply
#2

Tienes idea de que este script pondrб al servidor en un estado peor?
Reply
#3

Quote:
Originally Posted by Josstaa
Посмотреть сообщение
Tienes idea de que este script pondrб al servidor en un estado peor?
Por?
Reply
#4

Quote:
Originally Posted by spell
Посмотреть сообщение
Por?
Simplemente por que el servidor no va a alcanzar a banear las ips, por que cada ip no esta enviando querys constantemente solo harб trabajar mбs al servidor ya que el tiempo entre que recibe los querys es mayor a 2 segundos ( no es estable, se estan recibiendo todo el tiempo querys pero de diferentes ips, por lo que causara que a cada ip se le borre su "historial")

EDIT: a demбs de mencionar el tiempo que tardarб el servidor en escribir cada query en el archivo server_log.txt
Reply
#5

Osea, lo puede hacer trabajar bien pero medi el tiempo y es menos de 1 ms. Cuando se registra una querie de una IP, y a los 20 segundos se "limpia" el historial, y para evitar esos ataques si sirve. Lo del server_log tenes razуn, estaba pensando en hacer que el server cree "otro" server_log en scriptfiles, pero seria mбs lento todabia.
En 20 segundos las queries se borran, asique no creo que llegue a tener 150 queries por lo que no se van a sobreescribir, probб el script y mirб el Test que hay en onfilterscriptinit. recibe 4000 ips (aunque no entren en las 150 celdas, lo agrandas) y no tarda tanto. Lo que te tarda es el print.. Y en escribir el server_log yo creo que lo escribe en multithread. Nadie nota el tiempo que escribe el server log y si te vas a fijar cuanto tarda cada cosa nunca vas a poder hacer nada, vas a estar mas limitado que la mierda. Lo que decias del "estado peor" rentonces todos los fs, todos los plugins, lo ponen en un estado peor, y si..
Reply
#6

En mi opinion lo veo bastante util ya que se podria modificar para activarlo con un comando cuando veas tu servidor bajo ataque, y asi el script haria su trabajo, cuando me conecte a la pc lo vere me gusto.

Saludos.

Me encanto, lastima que usa dos plugins, pero igual se podrian juntar para hacerse uno solo.
Reply
#7

Igual.. Buen trabajo.
Reply
#8

Quote:
Originally Posted by spell
Посмотреть сообщение
Osea, lo puede hacer trabajar bien pero medi el tiempo y es menos de 1 ms. Cuando se registra una querie de una IP, y a los 20 segundos se "limpia" el historial, y para evitar esos ataques si sirve. Lo del server_log tenes razуn, estaba pensando en hacer que el server cree "otro" server_log en scriptfiles, pero seria mбs lento todabia.
En 20 segundos las queries se borran, asique no creo que llegue a tener 150 queries por lo que no se van a sobreescribir, probб el script y mirб el Test que hay en onfilterscriptinit. recibe 4000 ips (aunque no entren en las 150 celdas, lo agrandas) y no tarda tanto. Lo que te tarda es el print.. Y en escribir el server_log yo creo que lo escribe en multithread. Nadie nota el tiempo que escribe el server log y si te vas a fijar cuanto tarda cada cosa nunca vas a poder hacer nada, vas a estar mas limitado que la mierda. Lo que decias del "estado peor" rentonces todos los fs, todos los plugins, lo ponen en un estado peor, y si..
Por mбs que intentes tu mйtodo es lento. Tienes idea de cuantos ordenadores infectados tiene una botnet ? minimo unos 75000(todo depende del tipo de propagacion), hacen mierda tu servidor en segundos aun teniendo este script, lo mejor es hacer un hook del socket, o crear un hook del callback donde se reciben las querys en samp, o bien, crear un raw socket
Reply
#9

Aver amigo, si te atacan con una BotNet con 75.000 robots, te van a atacar con query flood? Mбs vale que esto no va a dar a basto (Capaz que si incrementбs mucho el max_index_ip pero van a ser mбs lento). Necesitas un firewall que se las aguante mucho. Esto se las aguanta con ataques no tan potentes y los frena bien (Estilo firewall pero sin manipular sockets, sino por el mensaje que envнa). Esto anda para un servidor con no mбs de 50 personas. Un server que tenga mбs de eso supongo que tendrб un buen firewall para que llegue a esa cantidad.
Reply
#10

esto si sirve, si solo estбs en un dedicado, pero de que si sirve, sirve. yo ya habia creado uno asi ase un tiempo
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)