Come impedire l'attacco DDoS di "TSource Engine Query"?

3

Recentemente ho avviato una società di hosting di giochi e una delle mie scatole è stata colpita duramente da quella che credo sia una botnet. Stiamo ottenendo migliaia di indirizzi IP che inviano traffico a una porta in cui si trova un server di gioco.

In totale ci sono stati 2.613.561 pacchetti inviati da oltre 40.000 indirizzi IP diversi secondo Wireshark. Ho noleggiato scatole da OVH, e chiaramente la loro mitigazione DDoS sembra non avere alcun effetto su questo attacco mentre è andata avanti per oltre due ore.

Dopo aver ispezionato i pacchetti con Wireshark, ho scoperto che la maggior parte di essi sono diretti alla porta 27115 (dove si trova un server di gioco) e contengono "TSource Engine Query" nei dati:

Posso fornire il file di acquisizione wireshark se necessario. Sono riuscito a catturare i pacchetti per la maggior parte della durata dell'attacco.

Che cosa posso fare per prevenire questo tipo di attacco in futuro?

    
posta Jack 29.08.2017 - 03:05
fonte

4 risposte

1

Sembra che il motore di gioco che stai utilizzando (non hai specificato) potrebbe utilizzare UDP e non TCP, quindi la solita installazione Fail2Ban e mod_security (ascolto sulla porta 27115) quindi scrivere un filtro mod_security da attivare sulle richieste problematiche di "TSource Engine Query" se è possibile ... probabilmente non funzionerebbe qui.

Detto questo potresti facilmente fare quasi la stessa cosa usando Snort e fail2ban

Ci sono altre cose che puoi fare anche tu:

Verifica se gli IP sono associati a un determinato numero BGP AS, paese, ISP o possibilmente con nodi di uscita Tor (questi possono essere bloccati).

Se il / i sistema / i che elabora queste specifiche richieste può essere isolato su un set separato di computer, in modo tale che altri servizi non siano interessati quando ciò accade di nuovo, farlo.

Effettuate un'accurata ottimizzazione delle prestazioni sui vostri sistemi in modo che gestiscano bene sotto carico. Identifica i colli di bottiglia chiave e spinge il più possibile nella RAM, incluso il tuo database.

Guarda più da vicino i pacchetti e vedi se ci sono delle caratteristiche uniche sui client che fanno queste richieste che potrebbero consentire un blocco più facile e sicuro.

Alcuni strumenti anti-DDoS funzionano solo per protocolli specifici (TCP e non UDP) e / o solo per determinate porte (80/443), assicurati di capire come funzionano e non funzionano. Potrebbe non essere colpa del tuo ISP, ma semplicemente il caso che lo strumento che hanno aiuta solo se si tratta di un sito Web o di un servizio in esecuzione su TCP.

I normali client si connettono a una richiesta specifica prima di effettuare richieste aggiuntive? In tal caso, potresti essere in grado di utilizzare un cookie lato server (o almeno sfruttare quell'azione equivalente) per autenticare il tipo di utente prima di consentire l'esecuzione di determinati tipi di query e bloccare tutti gli altri (Pensa: è un "Umano o cookie "valido client).

Se esiste un componente web iniziale ed è un'opzione, utilizza uno strumento come reCaptcha quando gli utenti arrivano inizialmente a il sito per verificare che non facciano parte dei bot di attacco.

Le migliori soluzioni richiederanno più architettura di sicurezza, ma questi sono buoni punti di partenza. Snort combinato con Fail2Ban e IPTables potrebbe essere la soluzione migliore per una soluzione rapida per ora.

    
risposta data 29.08.2017 - 03:43
fonte
1

Anche se non ho riscontrato tali attacchi durante l'esecuzione dei server di gioco, ho sempre avuto il controllo sulla casella in cui li stavo eseguendo.

Nel tuo caso, sei inondato da A2S_INFO richieste, e secondo US-CERT, questo tipo di attacco è amplificato di circa 5,5 volte di una query e di una risposta "standard" per informazioni su UDP.

La sicurezza delle informazioni riguarda ampiamente la gestione dei rischi . Considerando questo attacco come un rischio, ci sono tre opzioni da prendere (o combinare):

Puoi attenuarlo :

  • Utilizzare un IPS o un firewall per blackhole / shunt dei pacchetti per volume di richieste.
  • Ignora le richieste da determinati indirizzi IP (limitati rispetto al traffico legittimo).
  • Memorizza nella cache le richieste e rispondi a quelle nuove con una versione memorizzata nella cache.

Puoi trasferirlo :

  • Notificare al fornitore di servizi che è necessaria una mitigazione DoS specializzata.
  • Il trasferimento a un servizio che comprende richiede una riduzione del traffico UDP.

Puoi accettarlo :

  • Sebbene non sia una risposta che potresti voler sentire, è valida solo se perdi poco con il tempo di inattività.

Letture aggiuntive:

link

link

link

    
risposta data 28.09.2017 - 22:18
fonte
1

Probabilmente dovresti assumere un servizio di protezione DDos professionale, come CloudFlare o Akamai DDoS Protection.

Inoltre, puoi provare a determinare il server C2 dell'attaccante. Anche se questo sembra essere un attacco di amplificazione UDP, che usa pacchetti contraffatti, rendendo difficile identificare l'origine, a volte gli aggressori usano il server stesso per inviare pacchetti. Spesso eseguono il ping del server per determinare se è offline. Una volta che hai l'IP del server di quell'attaccante, puoi segnalare un abuso o lanciare un attacco DDos tuo per metterlo offline e quindi prevenire l'attacco. Combattere il fuoco con il fuoco ... Ovviamente dovresti prima controllare la legalità, questo non è un consiglio legale ...

link

    
risposta data 28.09.2017 - 16:21
fonte
0

Ho scritto una soluzione semplice per l'attacco DDoS di mitigazione a Source Engine

  1. Estrai il pacchetto dal flusso di dati cambiando la porta dst in custom.
  2. Il server proxy ascolta questa porta personalizzata e risponde al client
  3. Cambia la porta src della risposta alla porta del server dei videogiochi e il client vedrà una risposta simile al server originale

Per gli articoli 1 e 3 uso il modulo Kernel Linux e ho pubblicato la versione semplificata (proof-of-concept): link

Puoi usarlo per la protezione dei tuoi server.

Ma hai bisogno di un'applicazione dall'articolo 2. L'applicazione dovrebbe aggiornare le cache (con le risposte dei server di gioco) Possono essere raccolte alcune statistiche o applicare l'eruistica per determinare DDoS e bloccare il traffico non legale

Puoi leggere ulteriori informazioni su questa soluzione tramite il link sopra

    
risposta data 30.01.2018 - 17:51
fonte

Leggi altre domande sui tag