Menu Zavrieť

Moloch – Komponenty a architektúra

Komponenty a architektúra Molocha

  • Autor : Tomáš Mokoš

Komponenty

Moloch sa skladá z troch komponentov:

  • Elasticsearch – Je vyhľadávacia databáza, ktorá poháňa Moloch. Je založená na Apache. Žiadosti prijíma pomocou HTTP a výsledky vracia vo formáte JSON , čo je formát výmeny dát. Má automatické delenie dát do viacerých databáz pri viacerých uzloch (angl. database sharding). Je rýchla a škálovateľná.
  • Capture – Je aplikácia naprogramovaná v jazyku C, ktorá monitoruje sieťovú prevádzku v reálnom čase, zapisuje PCAP súbory na disk. Alternatívne môže byť zavolaná z príkazového riadku pre manuálny import PCAP súborov na analýzu a archiváciu. Analyzuje rôzne protokoly 3. až 7. vrstvy, vytvára SPI dáta, ktoré posiela do clusteru Elasticsearchu z dôvodu indexovania.
  • Viewer – Je aplikácia „node.js“ , čo je udalostne riadená Javascript platforma zo strany servera, založená na Google Chrome Javascripte, pričom má vlastnú HTTP a JSON komunikáciu. Beží na každom zariadení s Capture modulom a poskytuje webové rozhranie pre prehľadávanie, zobrazovanie a exportovanie PCAP súborov. GUI/API volania sú vykonávané pomocou URI, takže je možná integrácia so systémami pre správu bezpečnostných informácií a udalostí (SIEM), konzolami alebo príkazovým riadkom pre získanie PCAP súborov alebo spojení podľa voľby.

Architektúra

Všetky komponenty sa môžu nachádzať a pracovať na rovnakom uzle, avšak pri väčších dátových tokoch to nie je odporúčané. Či sa jedná o väčší dátový tok je možné zistiť pokiaľ dopytovanie trvá príliš dlho, vtedy je dobré prejsť na Multinode architektúru. Jednotlivé komponenty majú odlišné požiadavky. Capture potrebuje veľké množstvo diskového priestoru pre prijaté PCAP súbory. Elasticsearch naopak potrebuje veľké množstvo pamäte RAM pre indexovanie a rýchle vyhľadávanie. Avšak Viewer je z nich najmenší a nemá vysoké nároky, preto sa môže nachádzať kdekoľvek.

MolochS

Moloch je možné jednoducho škálovať na viacero uzlov pre Capture a Elasticsearch komponenty. Jeden alebo viacero inštancií Capture môže bežať na jednom alebo viacerých uzloch, pričom budú odosielať dáta do databázy Elasticsearch. Taktiež jedna alebo viacero databáz Elasticsearchu môže bežať na jednom alebo viacerých uzloch pre zvýšenie kapacity pamäte RAM dostupnej pre indexovanie. Tento druh architektúry je preto najviac odporúčaný pre zachytávanie a indexovanie dátového toku v reálnom čase.

MolochM

Odporúčame nasadiť Molocha za rozhranie so zrkadlenou prevádzkou, vnašom prípade Cisco SPAN port. Viac informácií o port mirroringu nájdete tu.

Zdroje

  • CRZP Komplexný systém pre detekciu útokov a archiváciu dát – Moloch

Scirius CE – Inštalácia

Scirius CE – Inštalácia

  • Autor: Miroslav Kohútik
  • Operačný systém : Ubuntu 16.04

Scirius Community Edition je webové rozhranie určené pre správu Suricata pravidiel. Stará sa o súbor rules a aktualizácie s ním spojených súborov.

V tomto návode si ukážeme ako nainštalovať Scirius Community Edition na Operačnom systéme Ubuntu 16.04.
Pred tým než začneme inštalovať Scirius CE, musíme mať nainštalovaný IDS Suricata. Návod na inštaláciu Suricaty sa nachádza tu.

Nainštalujeme si manažéra pre python balíčky a hlavičkové súbory pre jazyk python

sudo apt-get install python-pip python-dev

Stiahneme si Scirius repozitár z GitHubu

git clone https://github.com/StamusNetworks/scirius.git

Presunieme sa do priečinku, ktorý sme práve stiahli a nainštalujeme z neho potrebné závislosti

cd scirius
sudo pip install -r requirements.txt

Stiahneme si modul na monitorovanie zmien v súborovom systéme pyinotify. Tento modul je potrebný pre reštartovanie Suricaty cez Scirius

sudo pip install pyinotify

Stiahneme si modul Gitdb na čítanie a zapisovanie do git repozitárov

sudo pip install gitdb

Nainštalujeme si npm

sudo apt-get install npm

Stiahneme si webpack verziu 3.11

sudo npm install -g npm@latest webpack@3.11

Nainštalujeme Scirius

npm install

Predošlý príkaz vytvoril priečinok pre Hunt komponent sciriusu. Presunieme sa do priečinka hunt, nainštalujeme ho a pripravíme ho na použitie

cd hunt
npm install
npm run build

Spustenie Sciriusu

Z priečinku scirius inicializujeme Django databázu

python manage.py migrate

Vytvoríme účet pre superusera

python manage.py createsuperuser

Pred spustením aplikácie musíme najprv vytvoriť balíčky modulov tým, že spustíme webpack (tento krok je potrebné zopakovať po každej aktualizácii kódu)

sudo webpack

Ak chceme spustiť Scirius tak, aby bol prístupný iba na lokálnom zariadení na adrese localhost:8000

sudo python manage.py runserver

Ak chceme aby Scirius počúval na adrese, ktorá je prístupná z vonkajšej siete, musíme ju pridať do zoznamu ALLOWED_HOSTS v súbore settings.py. Následne môžeme spustiť Scirius príkazom

python manage.py runserver x.x.x.x:8000

Zdroj: