Snort vai Suricata. 2. daļa: Suricata uzstādÄ«Å”ana un sākotnējā iestatÄ«Å”ana

Saskaņā ar statistiku, tÄ«kla trafika apjoms katru gadu palielinās par aptuveni 50%. Tas palielina aprÄ«kojuma slodzi un jo Ä«paÅ”i palielina IDS/IPS veiktspējas prasÄ«bas. JÅ«s varat iegādāties dārgu specializētu aparatÅ«ru, taču ir lētāka iespēja - ieviest kādu no atvērtā pirmkoda sistēmām. Daudzi iesācēju administratori domā, ka bezmaksas IPS instalÄ“Å”ana un konfigurÄ“Å”ana ir diezgan sarežģīta. Suricata gadÄ«jumā tā nav gluži taisnÄ«ba ā€“ jÅ«s varat to instalēt un dažu minÅ«Å”u laikā sākt atvairÄ«t standarta uzbrukumus ar bezmaksas noteikumu kopumu.

Snort vai Suricata. 2. daļa: Suricata uzstādÄ«Å”ana un sākotnējā iestatÄ«Å”ana
Snort vai Suricata. 1. daļa: Bezmaksas IDS/IPS izvēle korporatÄ«vā tÄ«kla aizsardzÄ«bai

Kāpēc mums ir nepiecieÅ”ams cits atvērts IPS?

Ilgi uzskatÄ«ts par standartu, Snort tika izstrādāts kopÅ” deviņdesmito gadu beigām, tāpēc sākotnēji tas bija viens pavediens. Gadu gaitā tas ir ieguvis visas modernās funkcijas, piemēram, IPv6 atbalstu, iespēju analizēt lietojumprogrammas lÄ«meņa protokolus vai universālu datu piekļuves moduli.

Pamata Snort 2.X dzinējs iemācÄ«jās strādāt ar vairākiem kodoliem, taču palika ar vienu pavedienu un tāpēc nevar optimāli izmantot mÅ«sdienu aparatÅ«ras platformu priekÅ”rocÄ«bas.

Sistēmas treÅ”ajā versijā problēma tika atrisināta, taču tā sagatavoÅ”ana prasÄ«ja tik ilgu laiku, ka tirgÅ« izdevās parādÄ«ties no nulles uzrakstÄ«tajai Suricata. 2009. gadā to sāka izstrādāt tieÅ”i kā vairāku vÄ«tņu alternatÄ«vu Snort, kam bija IPS funkcijas. Kods tiek izplatÄ«ts saskaņā ar GPLv2 licenci, bet projekta finanÅ”u partneriem ir pieejama dzinēja slēgtā versija. Dažas problēmas ar mērogojamÄ«bu radās pirmajās sistēmas versijās, taču tās tika atrisinātas diezgan ātri.

Kāpēc Suricata?

Suricata ir vairāki moduļi (piemēram, Snort): uztverÅ”ana, iegÅ«Å”ana, dekodÄ“Å”ana, noteikÅ”ana un izvade. Pēc noklusējuma tvertā trafika notiek pirms dekodÄ“Å”anas vienā pavedienā, lai gan tas vairāk noslogo sistēmu. Ja nepiecieÅ”ams, pavedienus var sadalÄ«t iestatÄ«jumos un sadalÄ«t starp procesoriem - Suricata ir ļoti labi optimizēta konkrētai aparatÅ«rai, lai gan tas vairs nav HOWTO lÄ«menis iesācējiem. Ir arÄ« vērts atzÄ«mēt, ka Suricata ir uzlaboti HTTP pārbaudes rÄ«ki, kuru pamatā ir HTP bibliotēka. Tos var arÄ« izmantot, lai reÄ£istrētu trafiku bez noteikÅ”anas. Sistēma atbalsta arÄ« IPv6 dekodÄ“Å”anu, tostarp IPv4-in-IPv6, IPv6-in-IPv6 tuneļus un citus.

DatplÅ«smas pārtverÅ”anai var izmantot dažādas saskarnes (NFQueue, IPFRing, LibPcap, IPFW, AF_PACKET, PF_RING), un Unix Socket režīmā varat automātiski analizēt PCAP failus, ko tvēris cits sniferis. Turklāt Suricata modulārā arhitektÅ«ra ļauj viegli savienot jaunus elementus, lai uztvertu, atÅ”ifrētu, analizētu un apstrādātu tÄ«kla paketes. Ir arÄ« svarÄ«gi atzÄ«mēt, ka Suricata satiksme tiek bloķēta, izmantojot standarta operētājsistēmas filtru. Operētājsistēmā GNU/Linux ir pieejamas divas IPS darbÄ«bas iespējas: izmantojot rindu NFQUEUE (NFQ režīms) un nulles kopiju (AF_PACKET režīms). Pirmajā gadÄ«jumā pakete, kas ievada iptables, tiek nosÅ«tÄ«ta uz rindu NFQUEUE, kur to var apstrādāt lietotāja lÄ«menÄ«. Suricata to palaiž saskaņā ar saviem noteikumiem un izdod vienu no trim spriedumiem: NF_ACCEPT, NF_DROP un NF_REPEAT. Pirmie divi ir paÅ”saprotami, bet pēdējais ļauj atzÄ«mēt paketes un nosÅ«tÄ«t tās uz paÅ”reizējās iptables tabulas sākumu. AF_PACKET režīms ir ātrāks, taču uzliek sistēmai vairākus ierobežojumus: tam ir jābÅ«t divām tÄ«kla saskarnēm un jādarbojas kā vārtejai. Bloķētā pakete vienkārÅ”i netiek pārsÅ«tÄ«ta uz otro saskarni.

SvarÄ«ga Suricata iezÄ«me ir iespēja izmantot Snort izstrādātos uzlabojumus. Administratoram ir piekļuve jo Ä«paÅ”i Sourcefire VRT un OpenSource Emerging Threats noteikumu kopām, kā arÄ« komerciālajam Emerging Threats Pro. Vienoto izvadi var analizēt, izmantojot populāras aizmugursistēmas, un tiek atbalstÄ«ta arÄ« izvade uz PCAP un Syslog. Sistēmas iestatÄ«jumi un noteikumi tiek glabāti YAML failos, kurus ir viegli lasÄ«t un kurus var apstrādāt automātiski. Suricata dzinējs atpazÄ«st daudzus protokolus, tāpēc noteikumi nav jāsaista ar porta numuru. Turklāt Suricata noteikumos aktÄ«vi tiek izmantots plÅ«smas bitu jēdziens. Lai izsekotu aktivizÄ“Å”anu, tiek izmantoti sesijas mainÄ«gie, kas ļauj izveidot un lietot dažādus skaitÄ«tājus un karogus. Daudzi IDS apstrādā dažādus TCP savienojumus kā atseviŔķas entÄ«tijas un var neredzēt savienojumu starp tiem, lai norādÄ«tu uz uzbrukuma sākumu. Suricata mēģina redzēt visu attēlu un daudzos gadÄ«jumos atpazÄ«st ļaunprātÄ«gu trafiku, kas izplatÄ«ta dažādos savienojumos. Mēs varam runāt par tā priekÅ”rocÄ«bām ilgu laiku; mēs labāk pāriesim pie instalÄ“Å”anas un konfigurÄ“Å”anas.

Kā instalēt?

Mēs instalēsim Suricata virtuālajā serverÄ«, kurā darbojas Ubuntu 18.04 LTS. Visas komandas jāizpilda kā superlietotājs (root). VisdroŔākā iespēja ir izveidot savienojumu ar serveri, izmantojot SSH kā standarta lietotājam, un pēc tam izmantot utilÄ«tu sudo, lai palielinātu privilēģijas. Vispirms mums jāinstalē nepiecieÅ”amās pakotnes:

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

Ārēja repozitorija pievienoÅ”ana:

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

Instalējiet jaunāko stabilo Suricata versiju:

sudo apt-get install suricata

Ja nepiecieÅ”ams, rediģējiet konfigurācijas failu nosaukumu, aizstājot noklusējuma eth0 ar servera ārējās saskarnes faktisko nosaukumu. Noklusējuma iestatÄ«jumi tiek saglabāti failā /etc/default/suricata, savukārt pielāgotie iestatÄ«jumi tiek glabāti failā /etc/suricata/suricata.yaml. IDS konfigurācija galvenokārt aprobežojas ar Ŕī konfigurācijas faila rediģēŔanu. Tam ir daudz parametru, kas pēc nosaukuma un mērÄ·a sakrÄ«t ar to analogiem no Snort. Sintakse tomēr ir pilnÄ«gi atŔķirÄ«ga, taču fails ir daudz vieglāk lasāms nekā Snort konfigurācijas, un tas ir arÄ« labi komentēts.

sudo nano /etc/default/suricata

Snort vai Suricata. 2. daļa: Suricata uzstādÄ«Å”ana un sākotnējā iestatÄ«Å”ana

Šø

sudo nano /etc/suricata/suricata.yaml

Snort vai Suricata. 2. daļa: Suricata uzstādÄ«Å”ana un sākotnējā iestatÄ«Å”ana

UzmanÄ«bu! Pirms darba sākÅ”anas pārbaudiet mainÄ«go vērtÄ«bas sadaļā Vars.

Lai pabeigtu iestatÄ«Å”anu, jums bÅ«s jāinstalē suricata-update, lai atjauninātu un lejupielādētu noteikumus. To izdarÄ«t ir pavisam vienkārÅ”i:

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

Tālāk mums ir jāpalaiž komanda suricata-update, lai instalētu Emerging Threats Open kārtulu kopu:

sudo suricata-update

Snort vai Suricata. 2. daļa: Suricata uzstādÄ«Å”ana un sākotnējā iestatÄ«Å”ana

Lai skatītu noteikumu avotu sarakstu, palaidiet Ŕādu komandu:

sudo suricata-update list-sources

Snort vai Suricata. 2. daļa: Suricata uzstādÄ«Å”ana un sākotnējā iestatÄ«Å”ana

Atjaunināt kārtulu avotus:

sudo suricata-update update-sources

Snort vai Suricata. 2. daļa: Suricata uzstādÄ«Å”ana un sākotnējā iestatÄ«Å”ana

Apskatīsim vēlreiz atjauninātos avotus:

sudo suricata-update list-sources

Ja nepiecieŔams, varat iekļaut pieejamos bezmaksas avotus:

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

Pēc tam jums ir vēlreiz jāatjaunina noteikumi:

sudo suricata-update

Å obrÄ«d Suricata instalÄ“Å”anu un sākotnējo konfigurāciju Ubuntu 18.04 LTS var uzskatÄ«t par pabeigtu. Tad sākas jautrÄ«ba: nākamajā rakstā mēs savienosim virtuālo serveri ar biroja tÄ«klu, izmantojot VPN, un sāksim analizēt visu ienākoÅ”o un izejoÅ”o trafiku. ÄŖpaÅ”u uzmanÄ«bu pievērsÄ«sim DDoS uzbrukumu, ļaunprātÄ«gas programmatÅ«ras darbÄ«bu un mēģinājumu izmantot ievainojamÄ«bas bloÄ·Ä“Å”anai servisos, kas pieejami no publiskajiem tÄ«kliem. SkaidrÄ«bas labad tiks simulēti visizplatÄ«tāko veidu uzbrukumi.

Snort vai Suricata. 2. daļa: Suricata uzstādÄ«Å”ana un sākotnējā iestatÄ«Å”ana

Snort vai Suricata. 2. daļa: Suricata uzstādÄ«Å”ana un sākotnējā iestatÄ«Å”ana

Avots: www.habr.com

Pievieno komentāru