Snort eller Suricata. Del 2: Installasjon og innledende oppsett av Suricata

I følge statistikk øker volumet av nettverkstrafikk med omtrent 50 % hvert år. Dette fører til en økning i belastningen på utstyret og øker spesielt ytelseskravene til IDS/IPS. Du kan kjøpe dyr spesialisert maskinvare, men det er et billigere alternativ - å implementere et av open source-systemene. Mange nybegynnere administratorer tror at det er ganske vanskelig å installere og konfigurere en gratis IPS. Når det gjelder Suricata, er dette ikke helt sant - du kan installere det og begynne å avvise standardangrep med et sett gratis regler i løpet av noen få minutter.

Snort eller Suricata. Del 2: Installasjon og innledende oppsett av Suricata
Snort eller Suricata. Del 1: Velge en gratis IDS/IPS for å beskytte bedriftens nettverk

Hvorfor trenger vi en annen åpen IPS?

Lenge ansett som standarden, har Snort vært i utvikling siden slutten av nittitallet, så den var opprinnelig entrådet. Gjennom årene har den fått alle moderne funksjoner, som IPv6-støtte, muligheten til å analysere protokoller på applikasjonsnivå eller en universell datatilgangsmodul.

Den grunnleggende Snort 2.X-motoren lærte å jobbe med flere kjerner, men forble entrådet og kan derfor ikke optimalt utnytte moderne maskinvareplattformer.

Problemet ble løst i den tredje versjonen av systemet, men det tok så lang tid å forberede at Suricata, skrevet fra bunnen av, klarte å komme på markedet. I 2009 begynte den å utvikles nettopp som et flertråds alternativ til Snort, som hadde IPS-funksjoner ut av esken. Koden distribueres under GPLv2-lisensen, men prosjektets økonomiske partnere har tilgang til en lukket versjon av motoren. Noen problemer med skalerbarhet oppsto i de første versjonene av systemet, men de ble løst ganske raskt.

Hvorfor Suricata?

Suricata har flere moduler (som Snort): fangst, innhenting, dekoding, deteksjon og utdata. Som standard går fanget trafikk før dekoding i én tråd, selv om dette belaster systemet mer. Om nødvendig kan tråder deles i innstillingene og fordeles mellom prosessorer - Suricata er veldig godt optimalisert for spesifikk maskinvare, selv om dette ikke lenger er et HOWTO-nivå for nybegynnere. Det er også verdt å merke seg at Suricata har avanserte HTTP-inspeksjonsverktøy basert på HTP-biblioteket. De kan også brukes til å logge trafikk uten deteksjon. Systemet støtter også IPv6-dekoding, inkludert IPv4-i-IPv6, IPv6-i-IPv6-tunneler og andre.

Ulike grensesnitt kan brukes til å avskjære trafikk (NFQueue, IPFRing, LibPcap, IPFW, AF_PACKET, PF_RING), og i Unix Socket-modus kan du automatisk analysere PCAP-filer fanget av en annen sniffer. I tillegg gjør Suricatas modulære arkitektur det enkelt å koble til nye elementer for å fange, dekode, analysere og behandle nettverkspakker. Det er også viktig å merke seg at i Suricata blokkeres trafikk ved å bruke standard operativsystemfilter. I GNU/Linux er to alternativer for IPS-drift tilgjengelig: gjennom NFQUEUE-køen (NFQ-modus) og gjennom null kopi (AF_PACKET-modus). I det første tilfellet sendes en pakke som går inn i iptables til NFQUEUE-køen, hvor den kan behandles på brukernivå. Suricata kjører det i henhold til sine egne regler og avgir en av tre dommer: NF_ACCEPT, NF_DROP og NF_REPEAT. De to første er selvforklarende, men den siste lar deg merke pakker og sende dem til begynnelsen av gjeldende iptables-tabell. AF_PACKET-modusen er raskere, men pålegger systemet en rekke begrensninger: den må ha to nettverksgrensesnitt og fungere som en gateway. Den blokkerte pakken blir ganske enkelt ikke videresendt til det andre grensesnittet.

Et viktig trekk ved Suricata er muligheten til å bruke utviklinger for Snort. Administratoren har spesielt tilgang til regelsettene Sourcefire VRT og OpenSource Emerging Threats, samt kommersielle Emerging Threats Pro. Den enhetlige utgangen kan analyseres ved hjelp av populære backends, og utdata til PCAP og Syslog støttes også. Systeminnstillinger og regler lagres i YAML-filer, som er enkle å lese og kan behandles automatisk. Suricata-motoren gjenkjenner mange protokoller, så reglene trenger ikke å være knyttet til et portnummer. I tillegg praktiseres konseptet med flowbits aktivt i Suricata-reglene. For å spore triggering brukes øktvariabler, som lar deg opprette og bruke ulike tellere og flagg. Mange IDS-er behandler forskjellige TCP-tilkoblinger som separate enheter og ser kanskje ikke forbindelsen mellom dem for å indikere starten på et angrep. Suricata prøver å se hele bildet og gjenkjenner i mange tilfeller ondsinnet trafikk fordelt på forskjellige forbindelser. Vi kan snakke om fordelene i lang tid; vi bør gå videre til installasjon og konfigurasjon.

Hvordan installerer jeg?

Vi skal installere Suricata på en virtuell server som kjører Ubuntu 18.04 LTS. Alle kommandoer må utføres som superbruker (root). Det sikreste alternativet er å koble til serveren via SSH som standardbruker, og deretter bruke sudo-verktøyet til å eskalere privilegier. Først må vi installere pakkene vi trenger:

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

Koble til et eksternt depot:

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

Installer den siste stabile versjonen av Suricata:

sudo apt-get install suricata

Om nødvendig, rediger konfigurasjonsfilnavnet, og bytt ut standard eth0 med det faktiske navnet på det eksterne grensesnittet til serveren. Standardinnstillinger lagres i /etc/default/suricata-filen, og egendefinerte innstillinger lagres i /etc/suricata/suricata.yaml. IDS-konfigurasjon er stort sett begrenset til å redigere denne konfigurasjonsfilen. Den har mange parametere som i navn og formål sammenfaller med deres analoger fra Snort. Syntaksen er likevel en helt annen, men filen er mye lettere å lese enn Snort-konfigurasjoner, og den er også godt kommentert.

sudo nano /etc/default/suricata

Snort eller Suricata. Del 2: Installasjon og innledende oppsett av Suricata

и

sudo nano /etc/suricata/suricata.yaml

Snort eller Suricata. Del 2: Installasjon og innledende oppsett av Suricata

Merk følgende! Før du starter, bør du sjekke verdiene til variablene fra vars-delen.

For å fullføre oppsettet, må du installere suricata-update for å oppdatere og laste ned reglene. Det er ganske enkelt å gjø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

Deretter må vi kjøre suricata-update-kommandoen for å installere Emerging Threats Open-regelsettet:

sudo suricata-update

Snort eller Suricata. Del 2: Installasjon og innledende oppsett av Suricata

For å se listen over regelkilder, kjør følgende kommando:

sudo suricata-update list-sources

Snort eller Suricata. Del 2: Installasjon og innledende oppsett av Suricata

Oppdater regelkilder:

sudo suricata-update update-sources

Snort eller Suricata. Del 2: Installasjon og innledende oppsett av Suricata

Vi ser igjen på de oppdaterte kildene:

sudo suricata-update list-sources

Om nødvendig kan du inkludere tilgjengelige gratiskilder:

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

Etter dette må du oppdatere reglene på nytt:

sudo suricata-update

På dette tidspunktet kan installasjonen og innledende konfigurasjonen av Suricata i Ubuntu 18.04 LTS anses som fullført. Så begynner moroa: i neste artikkel vil vi koble en virtuell server til kontornettverket via VPN og begynne å analysere all innkommende og utgående trafikk. Vi vil være spesielt oppmerksomme på blokkering av DDoS-angrep, malware-aktivitet og forsøk på å utnytte sårbarheter i tjenester tilgjengelig fra offentlige nettverk. For klarhetens skyld vil angrep av de vanligste typene simuleres.

Snort eller Suricata. Del 2: Installasjon og innledende oppsett av Suricata

Snort eller Suricata. Del 2: Installasjon og innledende oppsett av Suricata

Kilde: www.habr.com

Legg til en kommentar