Snort sau Suricata. Partea 2: Instalarea și configurarea inițială a Suricata

Potrivit statisticilor, volumul traficului de rețea crește cu aproximativ 50% în fiecare an. Acest lucru duce la o creștere a sarcinii pe echipament și, în special, crește cerințele de performanță ale IDS / IPS. Puteți cumpăra hardware specializat scump, dar există o opțiune mai ieftină - introducerea unuia dintre sistemele open source. Mulți administratori începători consideră că este dificil să instaleze și să configureze IPS gratuit. În cazul Suricata, acest lucru nu este în întregime adevărat - îl puteți instala și începe să respingeți atacurile tipice cu un set de reguli gratuite în câteva minute.

Snort sau Suricata. Partea 2: Instalarea și configurarea inițială a Suricata
Snort sau Suricata. Partea 1: Alegerea unui IDS/IPS gratuit pentru a vă proteja rețeaua corporativă

De ce avem nevoie de un alt IPS deschis?

Considerat mult timp standardul, Snort a fost în dezvoltare de la sfârșitul anilor 6, așa că inițial a fost cu un singur thread. De-a lungul anilor, toate caracteristicile moderne au apărut în el, cum ar fi suportul IPvXNUMX, capacitatea de a analiza protocoale la nivel de aplicație sau un modul universal de acces la date.

Motorul de bază Snort 2.X a învățat să funcționeze cu mai multe nuclee, dar a rămas cu un singur thread și, prin urmare, nu poate profita în mod optim de platformele hardware moderne.

Problema a fost rezolvată în cea de-a treia versiune a sistemului, dar a durat atât de mult să se pregătească, încât Suricata, scrisă de la zero, a reușit să apară pe piață. În 2009, a început să fie dezvoltat tocmai ca o alternativă multi-threaded la Snort, care are funcții IPS din cutie. Codul este distribuit sub licența GPLv2, dar partenerii financiari ai proiectului au acces la o versiune închisă a motorului. Unele probleme de scalabilitate au apărut în primele versiuni ale sistemului, dar au fost rezolvate rapid.

De ce Surica?

Suricata are mai multe module (asemănătoare cu Snort): captură, captură, decodificare, detectare și ieșire. În mod implicit, traficul capturat trece înainte de decodare într-un singur flux, deși acest lucru încarcă sistemul mai mult. Dacă este necesar, firele pot fi împărțite în setări și distribuite între procesoare - Suricata este foarte bine optimizată pentru hardware specific, deși acesta nu mai este un nivel HOWTO pentru începători. De asemenea, merită remarcat faptul că Suricata are instrumente avansate de inspecție HTTP bazate pe biblioteca HTP. Ele pot fi, de asemenea, utilizate pentru a înregistra traficul fără a fi detectate. Sistemul acceptă, de asemenea, decodarea IPv6, inclusiv tuneluri IPv4-in-IPv6, tuneluri IPv6-in-IPv6 și multe altele.

Diferite interfețe pot fi folosite pentru a intercepta traficul (NFQueue, IPFRing, LibPcap, IPFW, AF_PACKET, PF_RING), iar în modul Unix Socket, puteți analiza automat fișierele PCAP capturate de un alt sniffer. În plus, arhitectura modulară Suricata facilitează conectarea de noi elemente pentru a captura, decoda, analiza și procesa pachete de rețea. De asemenea, este important de menționat că în Suricata traficul este blocat prin intermediul unui filtru obișnuit al sistemului de operare. GNU/Linux are două opțiuni pentru modul în care funcționează IPS: prin coada NFQUEUE (modul NFQ) și prin zero copie (modul AF_PACKET). În primul caz, pachetul care intră în iptables este trimis în coada NFQUEUE, unde poate fi procesat la nivel de utilizator. Suricata îl conduce după propriile reguli și emite unul dintre cele trei verdicte: NF_ACCEPT, NF_DROP și NF_REPEAT. Primele două se explică de la sine, în timp ce ultima permite etichetarea și trimiterea pachetelor în partea de sus a tabelului iptables curent. Modul AF_PACKET este mai rapid, dar impune o serie de restricții asupra sistemului: trebuie să aibă două interfețe de rețea și să funcționeze ca gateway. Pachetul blocat pur și simplu nu este redirecționat către a doua interfață.

O caracteristică importantă a Suricata este capacitatea de a utiliza dezvoltări pentru Snort. Administratorul are acces, în special, la seturile de reguli Sourcefire VRT și OpenSource Emerging Threats, precum și la programul comercial Emerging Threats Pro. Ieșirea unificată poate fi analizată folosind backend-uri populare, ieșirea PCAP și Syslog este, de asemenea, acceptată. Setările și regulile de sistem sunt stocate în fișiere YAML, care sunt ușor de citit și pot fi procesate automat. Motorul Suricata recunoaște multe protocoale, astfel încât regulile nu trebuie să fie legate de un număr de port. În plus, conceptul de flowbits este practicat activ în regulile Suricatei. Pentru a urmări declanșatorul, variabilele de sesiune sunt folosite pentru a crea și aplica diferite contoare și steaguri. Multe IDS-uri tratează diferite conexiuni TCP ca entități separate și este posibil să nu vadă o conexiune între ele care să indice începutul unui atac. Suricata încearcă să vadă întreaga imagine și în multe cazuri recunoaște traficul rău intenționat distribuit pe diferite conexiuni. Despre avantajele sale poți vorbi mult timp, mai bine trecem la instalare și configurare.

Cum se instalează?

Vom instala Suricata pe un server virtual care rulează Ubuntu 18.04 LTS. Toate comenzile trebuie executate în numele superutilizatorului (rădăcină). Cea mai sigură opțiune este să introduceți SSH pe server ca un utilizator normal și apoi să utilizați utilitarul sudo pentru a crește privilegiile. Mai întâi trebuie să instalați pachetele de care avem nevoie:

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

Conectarea unui depozit extern:

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

Instalați cea mai recentă versiune stabilă de Suricata:

sudo apt-get install suricata

Dacă este necesar, editați numele fișierelor de configurare, înlocuind eth0 implicit cu numele real al interfeței externe a serverului. Setările implicite sunt stocate în fișierul /etc/default/suricata, iar setările personalizate sunt stocate în /etc/suricata/suricata.yaml. Configurarea IDS este în mare parte limitată la editarea acestui fișier de configurare. Are o mulțime de parametri care, după nume și scop, coincid cu analogii de la Snort. Sintaxa este însă destul de diferită, dar fișierul este mult mai ușor de citit decât configurațiile Snort și este bine comentat.

sudo nano /etc/default/suricata

Snort sau Suricata. Partea 2: Instalarea și configurarea inițială a Suricata

и

sudo nano /etc/suricata/suricata.yaml

Snort sau Suricata. Partea 2: Instalarea și configurarea inițială a Suricata

Atenţie! Înainte de a începe, merită să verificați valorile variabilelor din secțiunea vars.

Pentru a finaliza configurarea, va trebui să instalați suricata-update pentru a actualiza și încărca regulile. Este destul de ușor să faci asta:

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

Apoi, trebuie să rulăm comanda suricata-update pentru a instala setul de reguli Emerging Threats Open:

sudo suricata-update

Snort sau Suricata. Partea 2: Instalarea și configurarea inițială a Suricata

Pentru a vizualiza lista surselor de reguli, executați următoarea comandă:

sudo suricata-update list-sources

Snort sau Suricata. Partea 2: Instalarea și configurarea inițială a Suricata

Actualizați sursele regulilor:

sudo suricata-update update-sources

Snort sau Suricata. Partea 2: Instalarea și configurarea inițială a Suricata

Revizuirea surselor actualizate:

sudo suricata-update list-sources

Dacă este necesar, puteți include surse gratuite disponibile:

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

După aceea, trebuie să actualizați din nou regulile:

sudo suricata-update

Aceasta completează instalarea și configurația inițială a Suricata în Ubuntu 18.04 LTS. Apoi începe distracția: în următorul articol, vom conecta un server virtual la rețeaua de birouri prin VPN și vom începe să analizăm tot traficul de intrare și de ieșire. Vom acorda o atenție deosebită blocării atacurilor DDoS, activității malware și încercărilor de exploatare a vulnerabilităților în serviciile accesibile din rețelele publice. Pentru claritate, atacurile celor mai comune tipuri vor fi simulate.

Snort sau Suricata. Partea 2: Instalarea și configurarea inițială a Suricata

Snort sau Suricata. Partea 2: Instalarea și configurarea inițială a Suricata

Sursa: www.habr.com

Adauga un comentariu