Snort eller Suricata. Del 2: installation och grundlÀggande konfiguration av Suricata

Om man skall tro statistiken ökar nĂ€tverkstrafiken med ungefĂ€r 50% varje Ă„r. Detta leder till en ökad belastning pĂ„ utrustningen och, sĂ€rskilt, ökar kraven pĂ„ prestanda för IDS/IPS. Man kan köpa dyr specialistutrustning, men det finns ett billigare alternativ – att implementera ett av de mĂ„nga systemen med öppen kĂ€llkod. MĂ„nga nybörjaradministratörer tror att det Ă€r ganska komplicerat att installera och konfigurera en kostnadsfri IPS. I fallet med Suricata Ă€r detta inte helt korrekt – det gĂ„r att installera den och börja avvĂ€rja typiska attacker med ett paket gratis regler pĂ„ bara nĂ„gra minuter.

Snort eller Suricata. Del 2: installation och grundlÀggande konfiguration av Suricata
Snort eller Suricata. Del 1: VÀljer en kostnadsfri IDS/IPS för att skydda det företagsnÀtverk

Varför behövs ytterligare en öppen IPS?

Under lÄng tid har Snort-systemet, som betraktades som standard, utvecklats sedan slutet av 90-talet, vilket gjorde att det frÄn början var enkeltrÄdat. Under Ären har den fÄtt alla moderna funktioner, som stöd för IPv6, möjlighet att analysera applikationsprotokoll eller en universell datatillgÄngsmodul.

Den grundlÀggande motorn Snort 2.X lÀrde sig att arbeta med flera kÀrnor, men förblev enkeltrÄdad och kan dÀrför inte optimalt utnyttja fördelarna med moderna hÄrdvaruplattformar.

Problemet löstes i systemets tredje version, men den förberedes sĂ„ lĂ€nge att det pĂ„ marknaden hade dykt upp Suricata, som utvecklades helt frĂ„n grunden. År 2009 började den utvecklas som ett flerdimensionellt alternativ till Snort, som har IPS-funktioner frĂ„n grunden. Koden distribueras under GPLv2-licensen, men projektets finansiella partners har tillgĂ„ng till en sluten version av motorn. Vissa skalbarhetsproblem i de första versionerna av systemet uppstod, men de löstes ganska snabbt.

Varför Suricata?

Suricata har flera moduler (precis som Snort): fĂ„ngst, insamling, avkodning, upptĂ€ckte och utdata. Som standard förs den fĂ„ngade trafiken fram till avkodningen i en enda ström, vilket kan belasta systemet mer. Vid behov kan strömmarna delas upp i instĂ€llningarna och fördelas över processorerna – Suricata Ă€r mycket vĂ€linstĂ€lld för specifik hĂ„rdvara, Ă€ven om detta inte Ă€r pĂ„ nybörjarnivĂ„. Det Ă€r ocksĂ„ vĂ€rt att nĂ€mna att Suricata har avancerade HTTP-inspektionsverktyg baserade pĂ„ HTP-biblioteket. Dessa kan ocksĂ„ anvĂ€ndas för att logga trafiken utan att upptĂ€ckas. Systemet stöder ocksĂ„ avkodning av IPv6, inklusive tunnlar av IPv4-in-IPv6, IPv6-in-IPv6 och andra.

Olika grÀnssnitt kan anvÀndas för att fÄnga trafik (NFQueue, IPFRing, LibPcap, IPFW, AF_PACKET, PF_RING), och i Unix Socket-lÀge kan fÄngad data frÄn en annan sniffer analyseras automatiskt och generera PCAP-filer. Dessutom förenklar Suricatas modulÀra arkitektur integreringen av nya element för fÄngst, avkodning, analys och bearbetning av nÀtverkspaket. Det Àr ocksÄ viktigt att notera att i Suricata blockeras trafiken med hjÀlp av operativsystemets inbyggda filter. I GNU/Linux finns det tvÄ sÀtt att arbeta IPS: via NFQUEUE (NFQ-lÀge) eller zero copy (AF_PACKET-lÀge). I det första fallet skickas paket som fÄngas av iptables till NFQUEUE-kön, dÀr det kan behandlas pÄ anvÀndarnivÄ. Suricata kör det genom sina regler och ger ett av tre utlÄtanden: NF_ACCEPT, NF_DROP och NF_REPEAT. De första tvÄ krÀver ingen förklaring, medan den sista tillÄter mÀrkning av paket och att skicka dem till början av den aktuella iptables-tabellen. AF_PACKET-lÀget skiljer sig genom högre hastighet, men pÄlÀgger systemet vissa begrÀnsningar: det mÄste ha tvÄ nÀtverksgrÀnssnitt och fungera som en gateway. Det blockerade paketet vidarebefordras helt enkelt inte till det andra grÀnssnittet.

En viktig funktion hos Suricata Àr möjligheten att anvÀnda arbeten frÄn Snort. För administratören Àr tillgÀngliga, bland annat, regeluppsÀttningarna Sourcefire VRT och OpenSource Emerging Threats, samt de kommersiella Emerging Threats Pro. Den enhetliga utdata kan analyseras med hjÀlp av populÀra backend-lösningar, och utdata i PCAP och Syslog stöds ocksÄ. SysteminstÀllningar och regler lagras i YAML-filer som Àr lÀttlÀsta och kan behandlas automatiskt. Suricata-motorn kÀnner igen mÄnga protokoll, dÀrför finns det inget behov av att binda regler till portnummer. Dessutom tillÀmpas begreppet flowbits aktivt i Suricatas regler. För att spÄra utlöst aktivitet anvÀnds sessionsvariabler, vilket möjliggör skapandet och tillÀmpningen av olika rÀknare och flaggor. MÄnga IDS betraktar olika TCP-anslutningar som separata enheter och kan misslyckas med att se relationen mellan dem som indikerar början av en attack. Suricata försöker se helheten och kÀnner i mÄnga fall igen skadlig trafik distribuerad över olika anslutningar. Man kan diskutera dess fördelar lÀnge, men lÄt oss istÀllet gÄ över till installation och konfiguration.

Hur installerar man det?

Vi kommer att installera Suricata pÄ en virtuell server som kör Ubuntu 18.04 LTS. Alla kommandon mÄste utföras som superanvÀndare (root). Den sÀkraste metoden Àr att ansluta till servern via SSH som en vanlig anvÀndare, och sedan anvÀnda verktyget sudo för att höja rÀttigheterna. För att börja behöver vi installera de paket vi kommer att anvÀnda:

sudo apt -y install libpcre3 libpcre3-dev build-essential autoconf automake libtool libpcap-dev libnet1-dev libyaml-0-2 libyaml-dev zlib1g zlib1g-dev libmagic-dev libcap-ng-dev libjansson-dev pkg-config libnetfilter-queue-dev geoip-bin geoip-database geoipupdate apt-transport-https

Anslut den externa repositoriet:

sudo add-apt-repository ppa:oisf/suricata-stable
sudo apt-get update

Installera den senaste stabila versionen av Suricata:

sudo apt-get install suricata

Om nödvÀndigt justerar vi konfigurationsfilerna genom att ersÀtta det standardanvÀnda namnet eth0 med det faktiska namnet pÄ serverns externa grÀnssnitt. StandardinstÀllningarna lagras i filen /etc/default/suricata, medan anvÀndarinstÀllningar finns i /etc/suricata/suricata.yaml. Konfigurationen av IDS begrÀnsas till stor del av redigeringen av denna konfigurationsfil. Den innehÄller mÄnga parametrar vars namn och syfte överensstÀmmer med motsvarigheterna i Snort. Syntaxen Àr dock helt annorlunda, men filen Àr mycket enklare att lÀsa Àn Snorts konfigurationer, dessutom Àr den vÀl kommenterad.

sudo nano /etc/default/suricata

Snort eller Suricata. Del 2: installation och grundlÀggande konfiguration av Suricata

och

sudo nano /etc/suricata/suricata.yaml

Snort eller Suricata. Del 2: installation och grundlÀggande konfiguration av Suricata

Varning! Innan du kör bör du kontrollera vÀrdena för variablerna i avsnittet vars.

För att slutföra konfigurationen behöver vi installera suricata-update för att uppdatera och ladda ner regler. Det Àr ganska enkelt att göra:

sudo apt install python-pip
sudo pip install pyyaml
sudo pip install <a href="https://github.com/OISF/suricata-update/archive/master.zip">https://github.com/OISF/suricata-update/archive/master.zip</a>
sudo pip install --pre --upgrade suricata-update

DÀrefter behöver vi köra kommandot suricata-update för att installera uppsÀttningen regler frÄn Emerging Threats Open:

sudo suricata-update

Snort eller Suricata. Del 2: installation och grundlÀggande konfiguration av Suricata

För att visa listan över reglernas kÀllor kör vi följande kommando:

sudo suricata-update list-sources

Snort eller Suricata. Del 2: installation och grundlÀggande konfiguration av Suricata

Uppdaterar reglernas kÀllor:

sudo suricata-update update-sources

Snort eller Suricata. Del 2: installation och grundlÀggande konfiguration av Suricata

Granskar de uppdaterade kÀllorna igen:

sudo suricata-update list-sources

Vid behov kan man aktivera tillgÀngliga gratis kÀllor:

sudo suricata-update enable-source ptresearch/attackdetection
sudo suricata-update enable-source oisf/trafficid
sudo suricata-update enable-source sslbl/ssl-fp-blacklist

Efter detta mÄste vi uppdatera reglerna igen:

sudo suricata-update

Med detta kan installationen och den initiala konfigurationen av Suricata pÄ Ubuntu 18.04 LTS anses vara avslutad. DÀrefter börjar det mest intressanta: i nÀsta artikel kommer vi att ansluta den virtuella servern till kontorsnÀtverket via VPN och börja analysera hela den inkommande och utgÄende trafiken. Vi kommer sÀrskilt att fokusera pÄ att blockera DDoS-attacker, aktivitet frÄn skadlig programvara och försök att utnyttja sÄrbarheter i tjÀnster som Àr tillgÀngliga frÄn offentliga nÀtverk. För tydlighetens skull kommer vi att simulera attacker av de mest förekommande typerna.

Snort eller Suricata. Del 2: installation och grundlÀggande konfiguration av Suricata

Snort eller Suricata. Del 2: installation och grundlÀggande konfiguration av Suricata

KĂ€lla: habr.com

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster