Mikrotik + IDS (Snort) si semi-IPS

Eram in cautare de un UTM / NGFW gratuit si am dat din greseala peste Snort.
Am aflat ca il pot cupla cumva cu Mikrotik-ul, dar nu asa de bine incat sa imi ofere si protectie in timp real.

Snort este un NIDS (Network Intrusion Detection System) care ruleaza pe Linux, Windows si FreeBSD. Cum am un microserver cu care ma pot juca, am zis sa incerc sa vad care e treaba cu Snort.

Ideea e urmatoarea: toate pachetele trebuie sa treaca prin Snort. Snort analizeaza, verifica si daca gaseste ceva ciudat, trimite o alerta (eu l-am setat sa trimita in syslog-ul Linuxului). In functie de alerta, firewall-ul ia decizia de a bloca traficul de la / catre IP-ul respectiv.

Ca sa nu face multe modificari in reteaua noastra si pentru ca oricum IPS-ul nu functioneaza asa cum trebuie cu Mikrotik-ul, solutia a fost ca tot traficul sa-l duc catre serverul care are Snort instalat pe el. In Mikrotik m-am folosit de doua reguli in firewall si de pachetul CALEA instalat.

/ip firewall calea add action=sniff chain=forward sniff-target=IP-server-Snort sniff-target-port=37008
/ip firewall calea add action=sniff chain=input sniff-target=IP-server-Snort sniff-target-port=37008

Al doilea lucru ce trebuie facut, e sa configurezi Snort-ul / statia Linux. M-am uitat in tutorialul asta si a functionat tot, asadar e un bun punct de plecare. Pentru configurarea Snort, am ales lasat regulile default (adica n-am adaugat sau scos reguli) cu activarea fisierelor de configurare ce m-au interesat.

Mai departe, am configurat si semi-IPS-ul. M-am bazat pe tutorialul asta. Am facut scripturile pe Mikrotik, am setat cron-ul, etc. Totul bun si frumos, pana cand mi-am dat seama de doua lucruri:

  1. IPS-ul functioneaza doar dupa un minut. Adica degeaba l-am configurat sa blocheze traficul daca simte ceva aiurea, daca o face dupa un minut. In alea 60 de secunde se pot intampla multe intr-un mediu enterprise. Intr-adevar nu se folosesc solutii gratuite in medii enterprise, dar daca esti o mica firma de apartament si vrei sa ai totusi un anumit nivel de securitate al retelei si nu iti permiti ceva pe bani, e o solutie acceptabila.
  2. Trimiteam tot traficul de doua ori pe aceeasi interfata de retea. Mi-am dat seama dupa ce am inceput sa fac cateva teste de viteza si mai mult de 60MB/s nu scoteam nici la upload, nici la download. Nu aveam incarcare pe procesor, Mikrotikul dadea traficul catre Snort pe UDP, nu ii pasa daca pachetul ajunge sau nu la destinatie, singura chestie observata a fost ca atingeam ~900Mbps pe interfata de LAN. Am adaugat o noua interfata de retea in Mikrotik, am mutat serverul pe noua interfata si in timpul testelor impingeam 1.5Gbps care Snort fara probleme.

Concluzii:

– not good enough. Daca vrei IPS, soltuia nu e buna.

– solutia e perfecta pentru IDS, analiza, sau in caz ca vrei sa vezi ce se intampla in reteaua ta. Poti de exemplu sa activezi toate regulile posibile pe Snort (o sa muste procesorul) daca vrei doar sa ai o idee despre ce se intampla in retea. La un moment dat daca ai prea multe reguli active si procesorul nu face fata, Snort o sa inceapa sa dea drop la pachete, dar atata timp cat tu trimiti o copie a traficului catre Snort, iar traficul real ajunge la destinatie, nu ar trebui sa-ti pese.

– pentru IDS+IPS gratis, am decis sa incerc pfSense

 

PS: pentru mai multe detalii legate de Snort, puteti vizita link-ul asta.

About Author:

I look 12, but I'm a 42-year-old investment banker!

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.