Snork eller Suricata. Del 2: Installation og indledende opsætning af Suricata

Ifølge statistikker stiger mængden af ​​netværkstrafik med omkring 50% hvert år. Dette fører til en stigning i belastningen på udstyret og øger især ydeevnekravene til IDS / IPS. Du kan købe dyrt specialiseret hardware, men der er en billigere mulighed - introduktionen af ​​et af open source-systemerne. Mange nybegyndere administratorer har svært ved at installere og konfigurere gratis IPS. I tilfældet med Suricata er dette ikke helt sandt – du kan installere det og begynde at afvise typiske angreb med et sæt gratis regler om et par minutter.

Snork eller Suricata. Del 2: Installation og indledende opsætning af Suricata
Snork eller Suricata. Del 1: Valg af gratis IDS/IPS for at beskytte dit firmanetværk

Hvorfor har vi brug for endnu en åben IPS?

Længe betragtet som standarden, har Snort været under udvikling siden slutningen af ​​halvfemserne, så det var oprindeligt enkelttrådet. Gennem årene er alle moderne funktioner dukket op i det, såsom IPv6-understøttelse, evnen til at analysere protokoller på applikationsniveau eller et universelt dataadgangsmodul.

Kerne Snort 2.X-motoren har lært at arbejde med flere kerner, men er forblevet enkelt-gevind og kan derfor ikke optimalt udnytte moderne hardwareplatforme.

Problemet blev løst i den tredje version af systemet, men det tog så lang tid at forberede, at Suricata, skrevet fra bunden, nåede at komme på markedet. I 2009 begyndte den at blive udviklet netop som et flertrådet alternativ til Snort, der har IPS-funktioner ud af boksen. Koden distribueres under GPLv2-licensen, men projektets økonomiske partnere har adgang til en lukket version af motoren. Der opstod nogle skalerbarhedsproblemer i de første versioner af systemet, men de blev hurtigt løst.

Hvorfor Surica?

Suricata har flere moduler (svarende til Snort): indfangning, opsamling, afkodning, registrering og output. Som standard går den opsamlede trafik før afkodning i én strøm, selvom dette belaster systemet mere. Om nødvendigt kan tråde opdeles i indstillingerne og fordeles mellem processorer - Suricata er meget veloptimeret til specifik hardware, selvom dette ikke længere er et HOWTO-niveau for begyndere. Det er også værd at bemærke, at Suricata har avancerede HTTP-inspektionsværktøjer baseret på HTP-biblioteket. De kan også bruges til at logge trafik uden registrering. Systemet understøtter også IPv6-afkodning, herunder IPv4-i-IPv6-tunneler, IPv6-i-IPv6-tunneler og mere.

Forskellige grænseflader kan bruges til at opsnappe trafik (NFQueue, IPFRing, LibPcap, IPFW, AF_PACKET, PF_RING), og i Unix Socket-tilstand kan du automatisk analysere PCAP-filer fanget af en anden sniffer. Derudover gør Suricatas modulære arkitektur det nemt at tilslutte nye elementer til at fange, afkode, parse og behandle netværkspakker. Det er også vigtigt at bemærke, at i Suricata blokeres trafikken ved hjælp af et almindeligt filter af operativsystemet. GNU/Linux har to muligheder for, hvordan IPS fungerer: via NFQUEUE-køen (NFQ-tilstand) og via nul kopi (AF_PACKET-tilstand). I det første tilfælde sendes pakken, der går ind i iptables, til NFQUEUE-køen, hvor den kan behandles på brugerniveau. Suricata kører det i henhold til sine egne regler og udsteder en af ​​tre domme: NF_ACCEPT, NF_DROP og NF_REPEAT. De to første er selvforklarende, mens den sidste tillader pakker at blive tagget og sendt til toppen af ​​den aktuelle iptables-tabel. AF_PACKET-tilstanden er hurtigere, men den pålægger systemet en række begrænsninger: den skal have to netværksgrænseflader og fungere som en gateway. Den blokerede pakke videresendes simpelthen ikke til den anden grænseflade.

Et vigtigt træk ved Suricata er evnen til at bruge udviklinger til Snort. Administratoren har især adgang til regelsættene Sourcefire VRT og OpenSource Emerging Threats samt de kommercielle Emerging Threats Pro. Det forenede output kan parses ved hjælp af populære backends, PCAP og Syslog output er også understøttet. Systemindstillinger og regler gemmes i YAML-filer, som er lette at læse og kan behandles automatisk. Suricata-motoren genkender mange protokoller, så reglerne behøver ikke at være bundet til et portnummer. Derudover praktiseres begrebet flowbits aktivt i Suricatas regler. For at spore triggeren bruges sessionsvariabler til at oprette og anvende forskellige tællere og flag. Mange IDS'er behandler forskellige TCP-forbindelser som separate enheder og ser muligvis ikke en forbindelse mellem dem, der indikerer starten på et angreb. Suricata forsøger at se hele billedet og genkender i mange tilfælde ondsindet trafik fordelt over forskellige forbindelser. Du kan tale om dets fordele i lang tid, vi må hellere gå videre til installation og konfiguration.

Sådan installeres?

Vi vil installere Suricata på en virtuel server, der kører Ubuntu 18.04 LTS. Alle kommandoer skal udføres på vegne af superbrugeren (roden). Den mest sikre mulighed er at SSH ind på serveren som en normal bruger og derefter bruge sudo-værktøjet til at hæve privilegier. Først skal du installere de pakker, vi har brug for:

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

Tilslutning af et eksternt lager:

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

Installer den seneste stabile version af Suricata:

sudo apt-get install suricata

Rediger om nødvendigt konfigurationsfilnavnet, og udskift standard eth0 med det faktiske navn på serverens eksterne grænseflade. Standardindstillingerne er gemt i filen /etc/default/suricata, og brugerdefinerede indstillinger gemmes i /etc/suricata/suricata.yaml. Konfiguration af IDS er for det meste begrænset til redigering af denne konfigurationsfil. Den har en masse parametre, der af navn og formål falder sammen med analoger fra Snort. Syntaksen er dog helt anderledes, men filen er meget nemmere at læse end Snort-konfigurationer og er godt kommenteret.

sudo nano /etc/default/suricata

Snork eller Suricata. Del 2: Installation og indledende opsætning af Suricata

и

sudo nano /etc/suricata/suricata.yaml

Snork eller Suricata. Del 2: Installation og indledende opsætning af Suricata

Opmærksomhed! Før du starter, er det værd at tjekke værdierne af variablerne fra vars-sektionen.

For at fuldføre opsætningen skal du installere suricata-update for at opdatere og indlæse reglerne. Det er ret nemt at gøre dette:

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

Dernæst skal vi køre kommandoen suricata-update for at installere Emerging Threats Open-regelsættet:

sudo suricata-update

Snork eller Suricata. Del 2: Installation og indledende opsætning af Suricata

For at se listen over regelkilder skal du køre følgende kommando:

sudo suricata-update list-sources

Snork eller Suricata. Del 2: Installation og indledende opsætning af Suricata

Opdater regelkilder:

sudo suricata-update update-sources

Snork eller Suricata. Del 2: Installation og indledende opsætning af Suricata

Genbesøger opdaterede kilder:

sudo suricata-update list-sources

Om nødvendigt kan du inkludere tilgængelige gratis kilder:

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

Derefter skal du opdatere reglerne igen:

sudo suricata-update

Dette fuldender installationen og den indledende konfiguration af Suricata i Ubuntu 18.04 LTS. Så begynder det sjove: I den næste artikel vil vi forbinde en virtuel server til kontornetværket via VPN og begynde at analysere al indgående og udgående trafik. Vi vil være særligt opmærksomme på at blokere DDoS-angreb, malware-aktivitet og forsøg på at udnytte sårbarheder i tjenester, der er tilgængelige fra offentlige netværk. For klarhedens skyld vil angreb af de mest almindelige typer blive simuleret.

Snork eller Suricata. Del 2: Installation og indledende opsætning af Suricata

Snork eller Suricata. Del 2: Installation og indledende opsætning af Suricata

Kilde: www.habr.com

Tilføj en kommentar