Ziceam in postul trecut de o combinatie intre Mikrotik si Snort.
Am incercat imediat dupa ce am scris acel post sa pun un pfSense ca masina virtuala pe serverul meu. Din pacate nu s-a descurcat asa bine (deh, un Celeron dual-core era prea mult pentru toate masinile pe care le aveam pe host) si am renuntat dupa o luna la el. Apoi m-am gandit ca ar fi o idee sa schimb Celeronul cu un Xeon. Am facut ceva research si am comandat de pe ebay un Xeon 1265L. Mi-a stat inima in loc dupa o luna cand a ajuns coletul acasa, dar n-am primit un cartof si dupa jumatate de ora de asamblat aveam un Microserver cu Xeon.
Am pastrat configul vechi pentru pfSense (ca profesionistii) si dupa instalare tot ce a trebuit sa fac a fost sa fac restore la config. In aproape 10 minute totul era gata. A mai trebuit sa fac 2-3 modificari si sa revad regulile de firewall. Am decis sa incerc pfSense 2.4 bazat pe FreeBSD11, nu pfSense2.3 bazat pe FreeBSD10 pentru ca initial n-am vrut sa decat sa testez pfSense cu un procesor mai bun ca amaratul de Celeron, iar cel mai bun mod de testare e sa instalezi o versiune beta.
Revenind la Snort, hai sa vedem cateva diferente intre solutia cu Linux+Mikrotik si pfSense:
- scanarea si blocarea se intampla realtime, in firewall-ul pfSense
- nu mai exista saturarea benzii, Snort-ul lucreaza acum in bridge si scanarea se intampla inainte de firewall/nat. Ce primeste, da mai departe.
- ai o interfata pentru configurare destul de simpla si in acelasi timp destul de complexa
- OpenAppID pentru blocarea traficului pentru diferite aplicatii (se uita la semnatura traficului. Mie imi detecteaza facebook, dropbox, torrente si multe altele. Un exemplu avem aici si o lista completa aici)
Am tinut intai interfata WAN in blocking mode cu putine reguli active si LAN-ul pe alerta cu toate regulile pornite. Cu LAN-ul pe alerta am putut observa traficul ce sa facea normal si ce ar fi putut fi blocat de regulile alese de mine. Momentan am ambele interfete in block si nu am probleme.
Ca resurse consuma mai mult ca solutia Linux+Mikrotik, dar merita. Bineinteles, se poate scadea consumul de RAM si CPU daca dezactivam regulile ce nu ne sunt de folos si raman active doar cele care ne pot ajuta, dar nu imi fac prea multe griji pentru resurse. Eu mai am si squid cu cache si scanare AV, un IPSec si doua OpenVPN, ntop si consumul poate ajunge uneori si la 4-5GB (din cauza squid-ului).
Pentru Snort cred ca ar trebui rezervati 1GB RAM pentru fiecare instanta de Snort activa. Un minim 2-2.5GB ajung pentru un pfSense ce face doar rutare si IDS/IPS. Daca se vrea ceva mai complex, recomand minim 4GB RAM.
Snort in actiune: (ignorati uptime-ul, tocmai am facut upgrade la sistem)
Pentru mai multee detalii despre cum se configureaza snort in mod manual (nu neaparat pe pfSense) puteti vizita link-ul asta.