Folosim iptables
cu ipset
liste de la limita rețelei noastre. În general, acest lucru funcționează bine. Am actualizat regulile pentru a prinde mai multă activitate și am constatat că o regulă pentru actualizarea unui set nu pare să actualizeze întotdeauna cu succes setul. Regula este în PRERUUTARE
lanț al calandru
masa.
Aceasta este regula (de la iptables -L -nv -t mangle
):
SET all -- * * 0.0.0.0/0 0.0.0.0/0 meci-set BlackHoleTargets dst ! set de potriviri PrivateNets src set de adăugare blackholescanners src
unde BlackHoleTargets este un set hash:ip care listează adrese IP care nu ar trebui publicate; PrivateNets este un set hash:net care listează subrețele utilizate intern (nerutabile), iar blackholescanners este un set hash:ip pentru a captura adresele mașinilor care verifică adresele nepublicate.
M-am gândit că funcționează bine - după ce am spălat lista de scanare cu găuri negre, aceasta începe să se umple rapid. Are un interval de 12 ore și deține de obicei ~ 22k adrese. În prezent, dimensiunea maximă a acestui set este de 65536 elemente.
Ca parte a unei revizuiri a regulilor, am introdus o nouă regulă specifică serverelor RDP cu intenția de a permite doar conectarea unei liste dinamice de clienți autorizați. Ca parte a acesteia, avem o regulă pentru a surprinde sesiunile RDP care nu sunt autorizate cu această regulă în filtru
masa REDIRECŢIONA
lanț (ieșire din iptables -L -nv
):
SET tcp -- * * 0.0.0.0/0 xxx.xxx.xxx.0/24 tcp dpt:3389 multiport sports 1024:65535 add-set UnrecognisedRDP src,dst
Unde xxx.xxx.xxx.0/24 este un interval din rețeaua noastră și UnrecognisedRDP este un set hash:net,net pentru a urmări aceste sesiuni.
Văd intrări în tabelul UnrecognisedRDP unde adresa de destinație este listată în BlackHoleTargets - m-aș aștepta ca adresa sursă să fie în blackholescanners, dar nu este și nici nu se potrivește cu lista PrivateNets.
De exemplu, avem mai multe intrări în tabelul UnrecognisedRDP (pentru diferite adrese de destinație) pentru o adresă care începe 192.241.217 (adresa IP completă reținută). Adresa sursă nu se potrivește cu setul PrivateNet (care conține aceste subrețele: 10.0.128.0/20; 10.1.0.0/16; 10.0.0.0/20; 10.0.16.0/24; 10.192.0.0/10; 10.0.0/20. 24; 10.129.1.0/24), așa că m-aș aștepta ca adresa sursă din lista UnrecognisedRDP să fie în setul de scanare blackholes, dar nu este. Lista blackholescanners nu este plină (număr de intrări: 19356 maxelem 65536).
Am încercat să adaug o regulă duplicată în filtru
masa REDIRECŢIONA
lanț imediat deasupra regulii care adaugă adresele la tabelul UnrecognisedRDP. După ce am spălat setul UnrecognisedRDP, am găsit în continuare intrări care au fost adăugate la setul UnrecognisedRDP care nu au fost adăugate la setul de scanare cu găuri negre. Contoarele de pachete arată că ambele reguli au declanșat.
Deci întrebarea mea este: de ce nu regula cu -j SET --add-set blackholescanners src
actualizați cu succes setul?