In questo articolo, parlerò di come gestire uno degli attacchi più comuni che possono colpire una porta UDP aperta, come quella utilizzata per una connessione VPN WireGuard.
L’UDP flooding è un attacco che può portare a una saturazione della banda e impedire quindi agli utenti o dispositivi autorizzati di accedere alla VPN, o, ancor peggio, bloccare il router stesso.
Vedremo come configurare una regola di firewall su Mikrotik per ridurre i rischi di questo tipo di attacco.
Cos’è un Attacco UDP Flooding?
Un attacco UDP flooding è una forma di Denial of Service (DoS) in cui l’attaccante invia un elevato numero di pacchetti UDP verso una porta specifica del server.
Questa quantità eccessiva di pacchetti può saturare la banda e sovraccaricare il server, impedendo alle connessioni legittime di funzionare.
Il protocollo UDP è senza connessione, quindi non verifica che il pacchetto sia stato ricevuto, rendendo semplice per un attaccante inondare il server di pacchetti fino a mandare in crisi il router.
Se abbiamo una porta UDP aperta per WireGuard, che funziona proprio su questo protocollo, possiamo proteggerla con il rate limit.
Per proteggere una porta UDP su Mikrotik, si può configurare una regola di rate limit per limitare la quantità di pacchetti accettati sulla porta WireGuard, cosi facendo si lascia la porta aperta per le connessioni legittime, ma si blocca il traffico che supera una certa frequenza, tipico di un attacco flooding.
Ecco come configurare un rate limit sulla porta UDP 13231 (esempio tipico per WireGuard):
Creiamo una regola di firewall che limiti la frequenza dei pacchetti per la porta UDP utilizzata da WireGuard.
/ip firewall filter
add action=accept chain=input comment=wireguard dst-port=13231 limit=30,50:packet protocol=udp
Con questa regola Il rate limit permette fino a 50 pacchetti al secondo inizialmente, consentendo l’accesso a più client in simultanea (Esempio in caso di riavvio del router e con delle PtP configurate), successivamente, il limite si stabilizza a 30 pacchetti al secondo, evitando di saturare la banda in caso di traffico eccessivo.
È importante impostare i parametri del rate limit in base al numero di client che si collegano.
Ad esempio con circa 20 client, impostare il rate iniziale a 50 pacchetti e il limite sostenuto a 30 pacchetti al secondo offre un buon margine per accogliere traffico legittimo e proteggersi comunque dagli attacchi.
Se il numero di client aumenta, devi alzare questi valori proporzionalmente per evitare di bloccare connessioni legittime.
Insomma devi fare un pò di prove per trovare il giusto compromesso ma non stare troppo al limite, infatti l’obiettivo è garantire abbastanza margine per la normale attività, mantenendo però il controllo sui picchi di traffico.
Il rate limit è efficace perché, in una situazione normale, il traffico UDP generato da una VPN WireGuard è relativamente basso.
Solo i pacchetti di handshake e di keepalive contribuiscono al traffico UDP, e impostare un rate iniziale più alto consente di gestire eventuali picchi di connessioni simultanee, ad esempio dopo un riavvio.
Impostando il rate limit, possiamo evitare che un numero eccessivo di pacchetti UDP sovraccarichi la banda e blocchi la VPN.
Se il traffico UDP supera i limiti, Mikrotik ignorerà automaticamente i pacchetti in eccesso, proteggendo il router da sovraccarichi eccessivi.
Questa soluzione rappresenta un compromesso efficace tra sicurezza e accessibilità, consentendo alla VPN di funzionare senza problemi ma limitando l’efficacia di un possibile attacco flooding.
Se ti appassiona il mondo Mikrotik, ho anche creato un corso completo dove tratto molte configurazioni pratiche! Lo trovi su Udemy a questo indirizzo.
Hai un’azienda ed hai bisogno di supporto o assistenza? Contattami direttamente! 🚀
Lascia un commento