[ITNOG] Port scan, connection tracking & tarpit
Daniele Orlandi
daniele@orlandi.com
Mar 7 Set 2021 12:45:17 CEST
Ciao,
Voglio condividere l'esperienza che ho appena fatto perché mi sono trovato dei comportamenti che non avevo previsto che che mi hanno causato qualche grattacapo e un po' di downtime, magari qualcuno riconosce la stessa situazione e evita il problema prima che si presenti.
Ieri ho subito quello che sembrava un SYN-flood ma che potrebbe benissimo essere un port scan massivo e maldestro.
Il volume era modesto ma non trascurabile, parliamo di circa 20 kp/s per circa 10 Mbit/s, tutti SYN destinati a IP di due miei netblock totalmente indipendenti annunciati da AS indipendenti e porte uniformemente distribuite.
Gli IP sorgenti erano:
185.156.73.15
92.63.197.68
Entrambi fanno capo a un hoster russo che non conosco.
A parte tutto ciò, la cosa interessante è stata l'interazione con il connection tracking di alcuni router di nota marca innominabile linux-based.
I router sono configurati per fare forwarding senza filtri e hanno qualche regola per proteggere il control plane.
L'esistenza di queste regole attiva il connection tracking che si applica anche al traffico forwardato.
Di norma cerco di mettere anche qualche regola per NON far trackare il traffico non destinato al control plane, in questi casi mi ero dimenticato.
L'ultimo ingrediente del problema è che dietro questi router c'erano dei firewall che blacklistavano con la regola tarpit. Per chi non lo sapesse è un target di iptables che lascia aprire connessioni TCP e poi chiude la window al fine di dar fastidio a chi fa scan.
Il risultato è che i firewall rispondevano con un SYN-ACK e la tabella di connection tracking dei router a monte si riempiva di connessioni *established* con lifetime di 24 ore e arrivata all'hard limit i router a monte hanno iniziato a comportarsi male.
Quindi, suggerisco di verificare che non stiate facendo connection tracking per traffico di cui non volete veramente fare tracking, specialmente se non avete controllo sul traffico forwardato.
Ciao,
--
Daniele Orlandi
Maggiori informazioni sulla lista
itnog