Suricata - Çozuşy kesgitlemek we öňüni alyş howpsuzlyk guraly


Suricata, çozuşy ýüze çykarmak (IDS), çozuşyň öňüni almak (IPS) we tor howpsuzlygyna gözegçilik etmek üçin funksiýalary üpjün edýän güýçli, köptaraply we açyk çeşmeli howpy kesgitleýji hereketlendiriji. Howplary ýüze çykarmakda ajaýyp güýçli garyndy bilen gabat gelýän çuňňur paket barlagyny geçirýär.

Bu gollanmany ýazan wagtyňyz Surikatanyň iň soňky wersiýasy 6.0.5.

  • Awtomatiki protokoly kesgitlemek - Suricata hereketlendirijisi, HTTP we HTTPS ýaly protokollary awtomatiki kesgitleýär. Islendik portda FTP we SMB we dogry kesgitlemek we hasaba alyş logikasyny ulanyň. Bu zyýanly programma üpjünçiligini we CnC kanallaryny tapmakda peýdaly bolýar.
  • Lua skripti - Suricata zyýanly programma üpjünçiligini ýüze çykarmak we kesgitlemek kyn bolan zyýanly programma üpjünçiligini kesgitlemek üçin ösen zyýanly programma üpjünçiligini kesgitleýän Lua skriptlerini ulanyp biler.
  • Köp sapakly - Suricata tor trafigini kesgitlemekde tizligi we ähmiýeti üpjün edýär. Motor, häzirki zaman köp ýadroly enjam çipsetleri tarapyndan hödürlenýän artdyrylan gaýtadan işlemek güýjüni ulanmak üçin işlenip düzüldi.

Linux-da Suricata çozuşyny kesgitlemek guralyny gurmak

Bu bölümde, Suricata-ny RHEL esasly paýlamalara nädip gurmalydygyny görkezeris.

Suricata Debian/Ubuntu ammarlary bilen üpjün edilýär we apt paket dolandyryjysynyň kömegi bilen aňsatlyk bilen gurnalyp bilner. Şeýle-de bolsa, munuň “Suricata” -nyň iň soňky wersiýasyny gurmaýandygyny bellemelidiris. Iň soňky wersiýasyny gurmak üçin ony bu gollanmada soňrak açjak çeşmeden gurmaly.

Apt paket dolandyryjysyny ulanyp Suricata gurmak üçin buýrugy işlediň:

$ sudo apt install suricata -y

“Suricata” gurlansoň awtomatiki başlaýar. Muny aşakdaky ýaly tassyklap bilersiňiz.

$ sudo systemctl status suricata

“CentOS Stream”, “Rocky Linux”, “AlmaLinux”, “Fedora” we “RHEL” ýaly RHEL paýlamalaryna Suricata gurmak üçin ilki bilen EPEL ammaryny işletmeli.

$ 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]

EPEL açyk bolansoň, aşakdaky zerur paketleri guruň we ulgamyňyza OISF ammaryny goşuň.

----------- 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

Ondan soň, görkezilişi ýaly yum paket dolandyryjysyny ulanyp, Suricata guruň.

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

“Suricata” gurlandan soň, onuň ýagdaýyny barlaň we barlaň.

$ sudo systemctl start suricata
$ sudo systemctl status suricata

“Suricata” -ny “Linux” -dan guruň

Adaty OS ammarlary Surikatanyň iň soňky wersiýasyny üpjün etmeýär. Maksadyňyz “Suricata” -nyň iň soňky wersiýasyny gurmak bolsa, ony çeşmeden gurmaly.

Bu gollanmany ýazan wagtyňyz Surikatanyň iň soňky wersiýasy 6.0.5. “Ubuntu/Debian” we “RHEL” paýlaýyş çeşmelerinden “Suricata” -ny gurmak üçin aşakdaky kitaphanalary, düzmek gurallaryny we garaşlylyklary guruň.

----------- 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

Ondan soň, Suricata düzgünlerini täzelemek üçin suricata-täzeleme guralyny guruň.

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

Soňra/usr/bin/suricata-update üçin simwoliki baglanyşyk dörediň.

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

Indi wget buýrugyna geçiň.

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

Göçürilenden soň, tarbol faýlyny çykaryň we guruň.

$ 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

Linux-da Suricata sazlamak

“Suricata” -ny düzüp başlamak üçin içerki IP we daşarky ulgamy kesgitlemeli. Munuň üçin konfigurasiýa faýlyna giriň.

$ sudo vim /etc/suricata/suricata.yaml

HOME_NET direktiwasy üçin Linux ulgamyňyzyň IP adresini görkeziň.

HOME_NET: "[173.82.235.7]"

Ondan soň, EXTERNAL_NET direktiwasyny “! $HOME_NET” edip düzüň.

EXTERNAL_NET: "!$HOME_NET"

Ondan soň, “Suricata” -yň tor trafigini barlajak tor interfeýsini görkeziň. Biziň ýagdaýymyzda, bu et0 interfeýsi.

Ip buýrugyny ulanyp, işjeň ulgam interfeýsiňizi barlap bilersiňiz:

$ ip a

Sazlama faýlynda, interfeýs direktiwasyny tor interfeýsiniň ady bilen täzeläň.

- interface: eth0

Ondan soň, default-rule-path atributynyň/etc/suricata/düzgünlere düzülendigine göz ýetiriň.

Soňra üýtgeşmeleri ýazdyryň we konfigurasiýa faýlyny ýapyň. Soňra ulanylýan üýtgeşmeler üçin Suricata-ny täzeden açyň.

$ sudo systemctl status suricata

Linux-da Suricata düzgünlerini täzelemek

Düzgüne görä, Suricata/etc/suricata/düzgünler katalogynda ýerleşýän çäkli kesgitleme düzgünleri bilen iberilýär. Şeýle-de bolsa, çozuşlary ýüze çykarmakda gowşak we netijesiz hasaplanýar. Suricata üçin iň giňişleýin düzgünler hasaplanýan Ösüp barýan howp (ET) düzgünlerini ýüklemeli.

“Suricata”, daşarky üpjün edijilerden düzgünleri alýan “suricata-update” diýlip atlandyrylýan gural bilen üpjün edýär. Serweriňiz üçin iň täze düzgünleri almak üçin aşakdaky buýrugy işlediň.

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

Çykyşdan, mugt ýüze çykýan howplar ET açyk düzgünlerini alyp, Suricata/etc/suricata/rules/suricata düzgünleri faýlyna ýazdyrýan surikata-täzelenmäni görüp bilersiňiz. Mundan başga-da, gaýtadan işlenen düzgünleriň sanyny görkezýär. Bu mysalda jemi 35941 goşuldy. Şolardan 28221-si işledildi, 18-si aýryldy we 1249-sy üýtgedildi.

Linux-da Suricata düzgünlerini goşmak

“Suricata-update” guraly, düzgün üpjün edijilerden düzgünleri almaga mümkinçilik berýär. Käbirleri “ET Open” toplumy ýaly mugt, beýlekileri tölegli abuna ýazylmagyny talap edýär.

Düzgün üpjün edijileriň deslapky toplumyny sanamak üçin, görkezilişi ýaly suricata-update buýrugyny işlediň.

$ sudo suricata-update list-sources

Düzgünnama goşmak üçin, meselem, tgreen/aw düzgünleri, aşakdaky buýrugy işlediň.

$ sudo suricata-update enable-source tgreen/hunting

Düzgünnamany goşanyňyzdan soň, -o/etc/suricata/rules baýdagy bilen suricata-update buýrugyny ýene bir gezek işlediň.

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

Linux-da Suricata düzgünlerini barlamak

“Suricata” -ny synap başlamazdan ozal, konfigurasiýanyň gowudygyny barlamak maslahat berilýär. Munuň üçin aşakdaky buýrugy işlediň:

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

Hiç hili ýalňyşlygyň ýokdugyna göz ýetiriň. RHEL, CentOS Stream, Fedora we Rocky Linux bilen işleýän bolsaňyz, Suricata-ny işlediň we işlediň.

$ sudo systemctl start suricata 
$ sudo systemctl enable suricata 

Şu wagta çenli “Suricata” -ny üstünlikli gurduk we düzdük we düzgünleri täzeledik. ET açyk düzgünler toplumynda zyýanly traffigi ýüze çykarmak üçin 30,000-den gowrak düzgün bar. Bu bölümde, Surikatany synagdan geçireris we şübheli tor trafigini tapyp biljekdigini barlarys.

“Suricata” -yň “Quickstart” gollanmasynyň maslahat berşi ýaly çozuşy simulirlemek arkaly ET Açyk düzgünini barlarys.

IDS-iň işleýşi, NIDS (Network Intrusion and Detection System) çarçuwasy bolan testmynids.org web sahypasyna HTTP haýyşyny ibermek bilen 2100498 gol belgisi bilen synag ediler.

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

Aşakdaky çykyşy almaly.

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

Iberilen HTTP haýyşy, gabyň üsti bilen bozulan uzak ulgamda işläp bilýän id buýrugynyň çykyşyna meňzeş duýduryş döretmek üçin döredildi.

Indi degişli duýduryş üçin Surikatanyň surnallaryndan geçeliň. “Suricata” iki sany gündelik faýly bilen iberilýär.

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

Grep buýrugyna gabat gelýän /var/log/suricata/fast.log gündelik faýlynda gündelik ýazgyny barlarys. “Quickstart” resminamalaryndan 2100498 düzgün kesgitleýjisini ulanyp, gündelik ýazgylary gözläris.

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

Çozuşy aňladýan aşakdaky çykyşy alarsyňyz. Bu ýerde 173.82.235.7 serweriň umumy IP adresi.

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

Ativea-da bolmasa, görkezilişi ýaly 2100498 gol belgisi üçin /var/log/suricata/eve.log gündelik faýlyny barlap bilersiňiz.

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

“Linux” -da “Suricata” -ny nädip gurmaly we sazlamalydygy barada giňişleýin gollanma boldy. Dürli gurnama usullaryna, “Suricata” -ny nädip sazlamaly we “Suricata” düzgünlerini täzelemäge, şeýle hem “Suricata systemd” hyzmatyny nädip dolandyrmalydygyny we torda çozuş synaglaryny geçirmelidigine göz aýladyk.

Indi ulgamyňyzy tor çozuşlaryndan ýa-da zyýanly traffikden goramak üçin Suricata-ny rahat gurup we ulanyp bilersiňiz diýip umyt edýäris.