Snort alebo Suricata. Časť 2: Inštalácia a počiatočné nastavenie Suricaty

Podľa štatistík sa objem sieťovej prevádzky každoročne zvyšuje približne o 50 %. To vedie k zvýšeniu zaťaženia zariadení a najmä k zvýšeniu požiadaviek na výkon IDS / IPS. Môžete si kúpiť drahý špecializovaný hardvér, ale existuje aj lacnejšia možnosť - zavedenie jedného z open source systémov. Pre mnohých začínajúcich správcov je ťažké nainštalovať a nakonfigurovať bezplatné IPS. V prípade Suricaty to nie je úplne pravda – môžete si ju nainštalovať a za pár minút začať odrážať typické útoky pomocou sady bezplatných pravidiel.

Snort alebo Suricata. Časť 2: Inštalácia a počiatočné nastavenie Suricaty
Snort alebo Suricata. Časť 1: Výber bezplatného IDS/IPS na ochranu vašej firemnej siete

Prečo potrebujeme ďalší otvorený IPS?

Snort, ktorý sa dlho považoval za štandard, bol vo vývoji od konca deväťdesiatych rokov, takže bol pôvodne jednovláknový. V priebehu rokov sa v ňom objavili všetky moderné funkcie, ako napríklad podpora IPv6, možnosť analyzovať protokoly na aplikačnej úrovni alebo modul univerzálneho prístupu k dátam.

Jadro motora Snort 2.X sa naučilo pracovať s viacerými jadrami, no zostalo jednovláknové, a preto nemôže optimálne využívať výhody moderných hardvérových platforiem.

Problém bol vyriešený v tretej verzii systému, no príprava trvala tak dlho, že sa na trhu podarilo objaviť od nuly napísanú Suricata. V roku 2009 sa začal vyvíjať presne ako viacvláknová alternatíva k Snortu, ktorý má funkcie IPS hneď po vybalení. Kód je distribuovaný pod licenciou GPLv2, no finanční partneri projektu majú prístup k uzavretej verzii enginu. Niektoré problémy so škálovateľnosťou sa vyskytli v prvých verziách systému, ale boli rýchlo vyriešené.

Prečo práve Surica?

Suricata má niekoľko modulov (podobne ako Snort): zachytávanie, zachytávanie, dekódovanie, detekcia a výstup. V predvolenom nastavení prechádza zachytená prevádzka pred dekódovaním v jednom prúde, aj keď to viac zaťažuje systém. V prípade potreby je možné vlákna rozdeliť v nastaveniach a rozdeliť medzi procesory – Suricata je veľmi dobre optimalizovaná pre konkrétny hardvér, aj keď toto už nie je úroveň HOWTO pre začiatočníkov. Za zmienku tiež stojí, že Suricata má pokročilé nástroje na kontrolu HTTP založené na knižnici HTP. Môžu byť tiež použité na zaznamenávanie prevádzky bez detekcie. Systém podporuje aj dekódovanie IPv6 vrátane tunelov IPv4-in-IPv6, tunelov IPv6-in-IPv6 a ďalších.

Na zachytenie prevádzky možno použiť rôzne rozhrania (NFQueue, IPFRing, LibPcap, IPFW, AF_PACKET, PF_RING) av režime Unix Socket môžete automaticky analyzovať súbory PCAP zachytené iným snifferom. Okrem toho modulárna architektúra Suricata uľahčuje zapojenie nových prvkov na zachytávanie, dekódovanie, analýzu a spracovanie sieťových paketov. Je tiež dôležité poznamenať, že v Suricate je premávka blokovaná pomocou bežného filtra operačného systému. GNU/Linux má dve možnosti fungovania IPS: cez front NFQUEUE (režim NFQ) a cez nulovú kópiu (režim AF_PACKET). V prvom prípade je paket, ktorý vstupuje do iptables, odoslaný do fronty NFQUEUE, kde môže byť spracovaný na úrovni užívateľa. Suricata ho riadi podľa vlastných pravidiel a vydáva jeden z troch verdiktov: NF_ACCEPT, NF_DROP a NF_REPEAT. Prvé dva sú samovysvetľujúce, zatiaľ čo posledné umožňuje označovanie paketov a ich odosielanie na začiatok aktuálnej tabuľky iptables. Režim AF_PACKET je rýchlejší, ale ukladá systému množstvo obmedzení: musí mať dve sieťové rozhrania a fungovať ako brána. Zablokovaný paket sa jednoducho nepošle do druhého rozhrania.

Dôležitou vlastnosťou Suricaty je možnosť využívať vývoj pre Snort. Administrátor má prístup najmä k súborom pravidiel Sourcefire VRT a OpenSource Emerging Threats, ako aj ku komerčnému Emerging Threats Pro. Jednotný výstup je možné analyzovať pomocou populárnych backendov, podporovaný je aj výstup PCAP a Syslog. Systémové nastavenia a pravidlá sú uložené v súboroch YAML, ktoré sú ľahko čitateľné a dajú sa automaticky spracovať. Suricata engine rozpoznáva veľa protokolov, takže pravidlá nemusia byť viazané na číslo portu. Okrem toho sa koncept prietokových bitov aktívne praktizuje v pravidlách Suricaty. Na sledovanie spúšťača sa premenné relácie používajú na vytváranie a aplikovanie rôznych počítadiel a príznakov. Mnoho IDS zaobchádza s rôznymi pripojeniami TCP ako so samostatnými entitami a nemusia medzi nimi vidieť spojenie, ktoré naznačuje začiatok útoku. Suricata sa snaží vidieť celý obraz a v mnohých prípadoch rozpoznáva škodlivý prenos distribuovaný cez rôzne pripojenia. O jeho výhodách sa dá rozprávať dlho, radšej prejdeme k inštalácii a konfigurácii.

Ako nainštalovať?

Suricatu nainštalujeme na virtuálny server so systémom Ubuntu 18.04 LTS. Všetky príkazy musia byť vykonávané v mene superužívateľa (root). Najbezpečnejšou možnosťou je priviesť SSH na server ako bežný používateľ a potom použiť nástroj sudo na zvýšenie privilégií. Najprv musíte nainštalovať balíky, ktoré potrebujeme:

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

Pripojenie externého úložiska:

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

Nainštalujte najnovšiu stabilnú verziu Suricata:

sudo apt-get install suricata

V prípade potreby upravte názov konfiguračných súborov a nahraďte predvolený eth0 skutočným názvom externého rozhrania servera. Predvolené nastavenia sú uložené v súbore /etc/default/suricata a vlastné nastavenia sú uložené v /etc/suricata/suricata.yaml. Konfigurácia IDS je väčšinou obmedzená na úpravu tohto konfiguračného súboru. Má veľa parametrov, ktoré sa podľa názvu a účelu zhodujú s analógmi od spoločnosti Snort. Syntax je však úplne iná, ale súbor sa číta oveľa ľahšie ako konfigurácie Snort a je dobre komentovaný.

sudo nano /etc/default/suricata

Snort alebo Suricata. Časť 2: Inštalácia a počiatočné nastavenie Suricaty

и

sudo nano /etc/suricata/suricata.yaml

Snort alebo Suricata. Časť 2: Inštalácia a počiatočné nastavenie Suricaty

Pozor! Pred spustením sa oplatí skontrolovať hodnoty premenných zo sekcie vars.

Na dokončenie nastavenia budete musieť nainštalovať suricata-update na aktualizáciu a načítanie pravidiel. Je to celkom jednoduché:

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

Ďalej musíme spustiť príkaz suricata-update na inštaláciu sady pravidiel Emerging Threats Open:

sudo suricata-update

Snort alebo Suricata. Časť 2: Inštalácia a počiatočné nastavenie Suricaty

Ak chcete zobraziť zoznam zdrojov pravidiel, spustite nasledujúci príkaz:

sudo suricata-update list-sources

Snort alebo Suricata. Časť 2: Inštalácia a počiatočné nastavenie Suricaty

Aktualizovať zdroje pravidiel:

sudo suricata-update update-sources

Snort alebo Suricata. Časť 2: Inštalácia a počiatočné nastavenie Suricaty

Opätovná návšteva aktualizovaných zdrojov:

sudo suricata-update list-sources

V prípade potreby môžete zahrnúť dostupné bezplatné zdroje:

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

Potom musíte pravidlá znova aktualizovať:

sudo suricata-update

Tým sa dokončí inštalácia a počiatočná konfigurácia Suricata v Ubuntu 18.04 LTS. Potom začína zábava: v ďalšom článku pripojíme virtuálny server do kancelárskej siete cez VPN a začneme analyzovať všetku prichádzajúcu a odchádzajúce prenosy. Osobitnú pozornosť budeme venovať blokovaniu DDoS útokov, aktivity malvéru a pokusov o zneužitie zraniteľností v službách dostupných z verejných sietí. Pre prehľadnosť budú simulované útoky najbežnejších typov.

Snort alebo Suricata. Časť 2: Inštalácia a počiatočné nastavenie Suricaty

Snort alebo Suricata. Časť 2: Inštalácia a počiatočné nastavenie Suricaty

Zdroj: hab.com

Pridať komentár