Ho ottenuto molto per bloccare gli attacchi su GameServer ma sono bloccato su qualcosa. Ho bloccato le principali richieste di game-server che ha il formato "\ xff \ xff \ xff \ xff" che può essere seguito dalle query effettive come get status
o get info
per creare qualcosa come "\ xff \ xff \ xff \ xff getstatus "ma vedo altre query se inviato al server di gioco causerà la risposta con un pacchetto" disconnessione "con la stessa velocità di input, quindi se la velocità di input è elevata, allora l'output elevato di" disconnect " "potrebbe dare un ritardo al server. Quindi voglio bloccare tutte le query tranne quelle utilizzate dai client reali che suppongo siano nel formato "\ xff \ xff \ xff \ xff" o .... quindi,
Ho provato a utilizzare questa regola:
-A INPUT -p udp -m udp -m u32 ! --u32 0x1c=0xffffffff -j ACCEPT
-A INPUT -p udp -m udp -m recent --set --name Total --rsource
-A INPUT -p udp -m udp -m recent --update --seconds 1 --hitcount 20 --name Total --rsource -j DROP
Ora dove la regola accetta i client ma blocca solo le richieste nel formato "\ xff \ xff \ xff \ xff getstatus" (con cui GameServer risponde con lo stato) e non solo "getstatus" (con cui GameServer risponde con scollegare il pacchetto). Quindi suppongo che la regola di accettazione accetti anche la semplice "stringa". In realtà voglio anche bloccare le query non - (\ xff). Quindi, come posso modificare la regola?