Smrkanje ali Suricata. 2. del: Namestitev in začetna nastavitev Suricata

Po statističnih podatkih se obseg omrežnega prometa vsako leto poveča za približno 50 %. To povzroči povečanje obremenitve opreme in zlasti poveča zahteve glede zmogljivosti IDS / IPS. Lahko kupite drago specializirano strojno opremo, vendar obstaja cenejša možnost - uvedba enega od odprtokodnih sistemov. Številnim skrbnikom začetnikom je težko namestiti in konfigurirati brezplačen IPS. V primeru Suricate to ne drži povsem – lahko jo namestite in v nekaj minutah začnete odbijati tipične napade z nizom brezplačnih pravil.

Smrkanje ali Suricata. 2. del: Namestitev in začetna nastavitev Suricata
Smrkanje ali Suricata. 1. del: Izbira brezplačnega IDS/IPS za zaščito vašega poslovnega omrežja

Zakaj potrebujemo še en odprt IPS?

Snort, ki je dolgo veljal za standard, se je razvijal od poznih devetdesetih, zato je bil prvotno enoniten. V preteklih letih so se v njem pojavile vse sodobne funkcije, kot je podpora za IPv6, možnost analize protokolov na ravni aplikacij ali univerzalni modul za dostop do podatkov.

Jedrni motor Snort 2.X se je naučil delati z več jedri, vendar je ostal enoniten in zato ne more optimalno izkoristiti prednosti sodobnih platform strojne opreme.

Težavo so sicer rešili v tretji različici sistema, a so se pripravljale tako dolgo, da se je Suricata, napisana iz nič, uspela pojaviti na trgu. Leta 2009 se je začel razvijati prav kot večnitna alternativa Snortu, ki ima funkcije IPS takoj po izdelavi. Koda se distribuira pod licenco GPLv2, vendar imajo finančni partnerji projekta dostop do zaprte različice motorja. V prvih različicah sistema so se pojavile nekatere težave z razširljivostjo, ki pa so bile hitro odpravljene.

Zakaj Surica?

Suricata ima več modulov (podobno kot Snort): zajemanje, zajemanje, dekodiranje, zaznavanje in izhod. Privzeto gre zajeti promet pred dekodiranje v enem toku, čeprav to bolj obremeni sistem. Če je potrebno, lahko niti v nastavitvah razdelimo in porazdelimo med procesorje - Suricata je zelo dobro optimizirana za specifično strojno opremo, čeprav to ni več raven HOWTO za začetnike. Omeniti velja tudi, da ima Suricata napredna orodja za inšpekcijo HTTP, ki temeljijo na knjižnici HTP. Uporabljajo se lahko tudi za beleženje prometa brez zaznavanja. Sistem podpira tudi dekodiranje IPv6, vključno s tuneli IPv4-in-IPv6, tuneli IPv6-in-IPv6 in več.

Za prestrezanje prometa je mogoče uporabiti različne vmesnike (NFQueue, IPFRing, LibPcap, IPFW, AF_PACKET, PF_RING), v načinu Unix Socket pa lahko samodejno analizirate datoteke PCAP, ki jih zajame drugo vohanje. Poleg tega modularna arhitektura Suricata omogoča enostavno vstavljanje novih elementov za zajem, dekodiranje, razčlenjevanje in obdelavo omrežnih paketov. Pomembno je tudi omeniti, da je v Suricati promet blokiran z običajnim filtrom operacijskega sistema. GNU/Linux ima dve možnosti za delovanje IPS: prek čakalne vrste NFQUEUE (način NFQ) in prek ničelne kopije (način AF_PACKET). V prvem primeru se paket, ki vstopi v iptables, pošlje v čakalno vrsto NFQUEUE, kjer se lahko obdela na ravni uporabnika. Suricata ga vodi v skladu s svojimi pravili in izda eno od treh sodb: NF_ACCEPT, NF_DROP in NF_REPEAT. Prva dva sta samoumevna, medtem ko zadnji omogoča označevanje paketov in pošiljanje na vrh trenutne tabele iptables. Način AF_PACKET je hitrejši, vendar sistemu nalaga številne omejitve: imeti mora dva omrežna vmesnika in delovati kot prehod. Blokirani paket preprosto ni posredovan drugemu vmesniku.

Pomembna značilnost Suricata je možnost uporabe razvoja za Snort. Skrbnik ima dostop zlasti do naborov pravil Sourcefire VRT in OpenSource Emerging Threats ter komercialnega Emerging Threats Pro. Poenoteni izhod je mogoče razčleniti s priljubljenimi zaledji, podprt je tudi izhod PCAP in Syslog. Sistemske nastavitve in pravila so shranjeni v datotekah YAML, ki jih je enostavno brati in jih je mogoče samodejno obdelati. Motor Suricata prepozna številne protokole, zato pravil ni treba vezati na številko vrat. Poleg tega se koncept pretočnih bitov aktivno izvaja v pravilih Suricata. Za sledenje sprožilcu se spremenljivke seje uporabljajo za ustvarjanje in uporabo različnih števcev in zastavic. Mnogi IDS obravnavajo različne povezave TCP kot ločene entitete in morda ne vidijo povezave med njimi, ki bi kazala na začetek napada. Suricata poskuša videti celotno sliko in v mnogih primerih prepozna zlonamerni promet, porazdeljen po različnih povezavah. O njegovih prednostih lahko govorite dolgo časa, bolje je, da nadaljujemo z namestitvijo in konfiguracijo.

Kako namestiti?

Suricato bomo namestili na virtualni strežnik z Ubuntu 18.04 LTS. Vsi ukazi morajo biti izvedeni v imenu superuporabnika (root). Najbolj varna možnost je SSH v strežnik kot običajen uporabnik in nato uporaba pripomočka sudo za dvig privilegijev. Najprej morate namestiti pakete, ki jih potrebujemo:

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

Povezovanje zunanjega repozitorija:

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

Namestite najnovejšo stabilno različico Suricata:

sudo apt-get install suricata

Po potrebi uredite ime konfiguracijskih datotek in zamenjajte privzeti eth0 z dejanskim imenom zunanjega vmesnika strežnika. Privzete nastavitve so shranjene v datoteki /etc/default/suricata, nastavitve po meri pa v /etc/suricata/suricata.yaml. Konfiguriranje IDS je večinoma omejeno na urejanje te konfiguracijske datoteke. Ima veliko parametrov, ki po imenu in namenu sovpadajo z analogi iz Snort. Sintaksa je popolnoma drugačna, vendar je datoteka veliko lažja za branje kot konfiguracije Snort in je dobro komentirana.

sudo nano /etc/default/suricata

Smrkanje ali Suricata. 2. del: Namestitev in začetna nastavitev Suricata

и

sudo nano /etc/suricata/suricata.yaml

Smrkanje ali Suricata. 2. del: Namestitev in začetna nastavitev Suricata

Pozor! Preden začnete, je vredno preveriti vrednosti spremenljivk iz razdelka vars.

Za dokončanje nastavitve boste morali namestiti suricata-update za posodobitev in nalaganje pravil. To je precej enostavno narediti:

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

Nato moramo zagnati ukaz suricata-update za namestitev nabora pravil Emerging Threats Open:

sudo suricata-update

Smrkanje ali Suricata. 2. del: Namestitev in začetna nastavitev Suricata

Če si želite ogledati seznam virov pravil, zaženite naslednji ukaz:

sudo suricata-update list-sources

Smrkanje ali Suricata. 2. del: Namestitev in začetna nastavitev Suricata

Posodobite vire pravil:

sudo suricata-update update-sources

Smrkanje ali Suricata. 2. del: Namestitev in začetna nastavitev Suricata

Ponovno pregledovanje posodobljenih virov:

sudo suricata-update list-sources

Po potrebi lahko vključite razpoložljive brezplačne vire:

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

Po tem morate znova posodobiti pravila:

sudo suricata-update

S tem sta namestitev in začetna konfiguracija Suricata v Ubuntu 18.04 LTS zaključeni. Potem se začne zabava: v naslednjem članku bomo virtualni strežnik prek VPN-ja povezali v pisarniško omrežje in začeli analizirati ves dohodni in odhodni promet. Posebno pozornost bomo namenili preprečevanju napadov DDoS, aktivnosti zlonamerne programske opreme in poskusov izkoriščanja ranljivosti v storitvah, dostopnih iz javnih omrežij. Zaradi jasnosti bodo simulirani najpogostejši tipi napadov.

Smrkanje ali Suricata. 2. del: Namestitev in začetna nastavitev Suricata

Smrkanje ali Suricata. 2. del: Namestitev in začetna nastavitev Suricata

Vir: www.habr.com

Dodaj komentar