Suricata – tunkeutumisen havaitsemisen ja ehkäisyn suojaustyökalu


Suricata on tehokas, monipuolinen ja avoimen lähdekoodin uhkien havaitsemismoottori, joka tarjoaa toimintoja tunkeutumisen havaitsemiseen (IDS), tunkeutumisen estoon (IPS) ja verkon turvallisuuden valvontaan. Se suorittaa syvän paketin tarkistuksen sekä mallin sovituksen sekoituksen, joka on uskomattoman tehokas uhkien havaitsemisessa.

Tätä opasta kirjoitettaessa Suricatan uusin versio on 6.0.5.

Suricatan ominaisuudet

  • IDS/IPS – Suricata on sääntöihin perustuva Intrusion Detection- ja Prevention -moottori, joka hyödyntää ulkoisesti kehitettyjä sääntöjoukkoja, kuten Talos Ruleset ja Emerging Threats Suricata valvoa verkkoliikennettä haitallisen toiminnan, käytäntörikkomusten ja uhkien varalta.
  • Automaattinen protokollan tunnistus – Suricata-moottori tunnistaa automaattisesti protokollat, kuten HTTP ja HTTPS. FTP ja SMB missä tahansa portissa ja käytä oikeaa tunnistus- ja kirjauslogiikkaa. Tästä on hyötyä haittaohjelmien ja CnC-kanavien havaitsemisessa.
  • Lua-komentosarjat – Suricata voi kutsua Lua-skriptejä, jotka tarjoavat edistyneen haittaohjelmien tunnistuksen havaitsemaan ja purkamaan haittaohjelmaliikennettä, jota on muuten vaikea havaita.
  • Monisäikeinen – Suricata tarjoaa nopeutta ja tärkeyden verkkoliikenteen määrittämisessä. Moottori on kehitetty hyödyntämään nykyaikaisten moniytimien laitteistopiirisarjojen tarjoamaa lisääntynyttä prosessointitehoa.

Suricata Intrusion Detection Toolin asentaminen Linuxiin

Tässä osiossa esittelemme, kuinka Suricata asennetaan Debian- ja RHEL-pohjaisiin jakeluihin.

Asenna Suricata Debianiin/Ubuntuun & Mintiin

Suricata tarjoaa Debian/Ubuntu-varastot, ja se voidaan helposti asentaa apt-paketinhallinnan avulla. On kuitenkin syytä huomata, että tämä ei asenna Suricatan uusinta versiota. Uusimman version asentamiseksi sinun on asennettava se lähteestä, jota käsittelemme myöhemmin tässä oppaassa.

Asenna Suricata käyttämällä apt-paketinhallintaa suorittamalla komento:

sudo apt install suricata -y

Suricata käynnistyy automaattisesti asennuksen jälkeen. Voit vahvistaa tämän seuraavasti.

sudo systemctl status suricata

Asenna Suricata RHEL-, Rocky-, Almalinux- ja Fedoraan

Jotta voit asentaa Suricatan RHEL-jakeluihin, kuten CentOS Stream, Rocky Linux, AlmaLinux, Fedora ja RHEL, sinun on ensin otettava EPEL-tietovarasto käyttöön.

dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm  [RHEL 9]
dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm  [RHEL 8]
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm  [RHEL 7]

Kun EPEL on käytössä, asenna seuraavat tarvittavat paketit ja lisää OISF-arkisto järjestelmääsi.

----------- On Fedora Systems ----------- 
sudo dnf install dnf-plugins-core
sudo  dnf copr enable @oisf/suricata-6.0

----------- On RHEL Systems ----------- 
sudo dnf install yum-plugin-copr
sudo dnf copr enable @oisf/suricata-6.0

Asenna seuraavaksi Suricata käyttämällä dnf-pakettienhallintaa tai yum-pakettienhallintaa kuvan mukaisesti.

sudo dnf install suricata -y
Or
sudo yum install suricata -y

Kun Suricata on asennettu, käynnistä ja vahvista sen tila.

sudo systemctl start suricata
sudo systemctl status suricata

Asenna Suricata lähteestä Linuxiin

Käyttöjärjestelmän oletustietovarastot eivät tarjoa Suricatan uusinta versiota. Jos tavoitteesi on asentaa Suricatan uusin versio, sinun on asennettava se lähteestä.

Tätä opasta kirjoitettaessa Suricatan uusin versio on 6.0.5. Asenna Suricata lähteestä Ubuntu/Debian- ja RHEL-jakeluihin asentamalla seuraavat kirjastot, käännöstyökalut ja riippuvuudet.

----------- On Debian Systems ----------- 
sudo apt install rustc build-essential cargo libpcre3 libpcre3-dbg libpcre3-dev make autoconf automake libtool libcap-ng0 make libmagic-dev libjansson-dev libjansson4 libpcap-dev libnet1-dev libyaml-0-2 libyaml-dev zlib1g zlib1g-dev libcap-ng-dev pkg-config libnetfilter-queue1 libnfnetlink0 libnetfilter-queue-dev libnfnetlink-dev -y

----------- On RHEL Systems ----------- 
sudo yum install gcc libpcap-devel pcre-devel libyaml-devel file-devel zlib-devel jansson-devel nss-devel libcap-ng-devel libnet-devel tar make libnetfilter_queue-devel lua-devel PyYAML libmaxminddb-devel rustc cargo lz4-devel -y

Asenna seuraavaksi suricata-päivitystyökalu päivittääksesi Suricata-säännöt.

sudo apt install python3-pip           [On Debian]
sudo yum install python3-pip           [On RHEL]
pip3 install --upgrade suricata-update

Luo sitten symbolinen linkki osoitteeseen /usr/bin/suricata-update.

sudo ln -s /usr/local/bin/suricata-update /usr/bin/suricata-update

Siirry nyt viralliselle Suricatan lataussivulle ja lataa uusin tarball-tiedosto Linuxille käyttämällä wget-komentoa.

wget https://www.openinfosecfoundation.org/download/suricata-6.0.6.tar.gz

Kun olet ladannut, pura tarball-tiedosto ja asenna se.

sudo tar -xvf suricata-6.0.6.tar.gz
cd suricata-6.0.6
./configure --enable-nfqueue --prefix=/usr --sysconfdir=/etc --localstatedir=/var
make
make install-full

Suricatan määrittäminen Linuxissa

Jotta voit aloittaa Suricatan määrityksen, meidän on määritettävä sisäinen IP-osoite ja ulkoinen verkko. Voit tehdä tämän siirtymällä asetustiedostoon.

sudo vim /etc/suricata/suricata.yaml

Määritä HOME_NET-direktiiville Linux-järjestelmäsi IP-osoite.

HOME_NET: "[173.82.235.7]"

Aseta seuraavaksi EXTERNAL_NET-ohjeeksi "!$HOME_NET".

EXTERNAL_NET: "!$HOME_NET"

Määritä seuraavaksi verkkoliitäntä, jossa Suricata tarkastaa verkkoliikenteen. Meidän tapauksessamme tämä on eth0-käyttöliittymä.

Voit tarkistaa aktiivisen verkkoliittymäsi ip-komennolla:

ip a

Päivitä määritystiedostossa liitäntädirektiivi verkkoliitännän nimellä.

- interface: eth0

Varmista seuraavaksi, että default-rule-path-määritteeksi on asetettu /etc/suricata/rules.

Tallenna sitten muutokset ja sulje asetustiedosto. Käynnistä sitten Suricata uudelleen, jotta muutokset tulevat voimaan.

sudo systemctl status suricata

Suricata-säännöstöjen päivittäminen Linuxissa

Oletuksena Suricata toimitetaan rajoitetulla tunnistussäännöillä, jotka sijaitsevat /etc/suricata/rules-hakemistossa. Näitä pidetään kuitenkin heikkoina ja tehottomia tunkeutumisen havaitsemisessa. Sinun on ladattava Emerging Threat (ET) -säännöt, joita pidetään Suricatan kattavimpina sääntöjoukkoina.

Suricata tarjoaa työkalun, joka tunnetaan nimellä suricata-update ja joka hakee sääntöjoukkoja ulkoisilta palveluntarjoajilta. Saadaksesi ajan tasalla olevat säännöt palvelimellesi, suorita seuraava komento.

sudo suricata-update -o /etc/suricata/rules

Tulosteesta näet suricata-päivityksen, joka hakee ilmaiset Emerging Threats ET Open Rules -säännöt ja tallentaa ne Suricatan /etc/suricata/rules/suricata<. sääntötiedosto. Lisäksi se osoittaa käsiteltyjen sääntöjen määrän. Tässä esimerkissä yhteensä 35941 lisättiin. Näistä 28 221 otettiin käyttöön, 18 poistettiin ja 1 249 muutettiin.

Suricata-säännöstöjen lisääminen Linuxissa

suricata-update-työkalun avulla voit noutaa sääntöjä sääntöjoukon tarjoajilta. Jotkut ovat ilmaisia, kuten ET Open -sarja, kun taas toiset vaativat maksullisen tilauksen.

Luettele oletusarvoiset sääntötoimittajat suorittamalla suricata-update-komento kuvan mukaisesti.

sudo suricata-update list-sources

Jos haluat lisätä sääntöjoukon, esimerkiksi tgreen/metsästyssäännöt, suorita seuraava komento.

sudo suricata-update enable-source tgreen/hunting

Kun olet lisännyt rulesetin, suorita suricata-update-komento vielä kerran -o /etc/suricata/rules-lipulla.

sudo suricata-update -o /etc/suricata/rules

Suricata-sääntöjen testaaminen Linuxissa

Ennen kuin aloitat Suricatan testaamisen, on suositeltavaa testata, ovatko asetukset kunnossa. Voit tehdä tämän suorittamalla seuraavan komennon:

sudo suricata -T -c /etc/suricata/suricata.yaml -v

Varmista, ettei virheitä raportoida. Jos käytössäsi on RHEL, CentOS Stream, Fedora ja Rocky Linux käynnistä ja ota Suricata käyttöön.

sudo systemctl start suricata 
sudo systemctl enable suricata 

Tähän mennessä olemme onnistuneesti asentaneet ja määrittäneet Suricata ja päivittäneet sääntöjoukot. ET Open Rule Set sisältää yli 30 000 sääntöä haitallisen liikenteen havaitsemiseen. Tässä osiossa testaamme Suricatan ja tarkistamme, pystyykö se havaitsemaan epäilyttävän verkkoliikenteen.

Testaamme ET Open -sääntöjoukon simuloimalla tunkeutumista Suricatan pika-aloitusoppaan suosittelemalla tavalla.

IDS-toiminnallisuus testataan allekirjoitustunnuksella 2100498 lähettämällä HTTP-pyyntö testmynids.org-verkkosivustolle, joka on NIDS-kehys (Network Intrusion and Detection System).

curl http://testmynids.org/uid/index.html

Sinun pitäisi saada seuraava tulos.

uid=0(root) gid=0(root) groups=0(root)

Lähetetty HTTP-pyyntö on suunniteltu laukaisemaan hälytys matkimalla id-komennon tulosta, joka saattaa toimia vaarantuneessa etäjärjestelmässä komentotulkin kautta.

Seulotaan nyt Suricatan lokit vastaavan hälytyksen saamiseksi. Suricata toimitetaan kahdella lokitiedostolla, jotka ovat oletuksena käytössä.

/var/log/suricata/fast.log
/var/log/suricata/eve.log

Tarkistamme, onko /var/log/suricata/fast.log-lokitiedostossa lokimerkintä, joka vastaa curl-pyyntöä grep-komennolla. Etsimme lokimerkinnät pika-aloitusdokumentaation 2100498 sääntötunnisteen avulla.

grep 2100948 /var/log/suricata/fast.log

Saat seuraavan lähdön, joka tarkoittaa tunkeutumista. Tässä 173.82.235.7 on palvelimen julkinen IP-osoite.

09/09/2022-22:17:06.796434  [**] [1:2100498:7] GPL ATTACK_RESPONSE id check returned root [**] [Classification: Potentially Bad Traffic] [Priority: 2] {TCP} 13.226.210.123:80 -> 173.82.235.7:33822

Vaihtoehtoisesti voit tarkistaa /var/log/suricata/eve.log-lokitiedostosta allekirjoitustunnuksen 2100498 kuvan osoittamalla tavalla.

jq 'select(.alert .signature_id==2100498)' /var/log/suricata/eve.json

Tämä oli kattava opas Suricatan asentamiseen ja määrittämiseen Linuxissa. Olemme tarkastelleet erilaisia asennustapoja, kuinka Suricata määritetään ja Suricata-säännöt päivitetään sekä miten Suricata systemd -palvelua hallitaan ja verkon tunkeutumistestejä tehdään.

Toivomme, että voit nyt asentaa Suricata ja käyttää sitä mukavasti suojaamaan järjestelmääsi verkkotunkeutumiselta ja haitallisilta liikenteiltä.