Nëse i besoni statistikave, vëllimi i trafikut të rrjetit rritet me rreth 50% çdo vit. Kjo çon në rritje të ngarkesës në pajisje dhe, në veçanti, rrit kërkesat për performancën e IDS/IPS. Mund të blini pajisje speciale të shtrenjta, por ka një mundësi më të lirë - implementimi i një prej sistemeve me burim të hapur. Shumë administratorë fillestarë mendojnë se instalimi dhe konfigurimi i një IPS falas është mjaft i vështirë. Por në rastin e Suricata-s, kjo nuk është plotësisht e vërtetë - mund ta instaloni dhe të filloni të reflektoni sulmet tipike me një grup rregullash falas brenda disa minutash.
Pse duhet një tjetër IPS e hapur?
Sistemi Snort, i cili për një kohë të gjatë ishte standard, është zhvilluar që nga fundi i viteve '90, kështu që fillimisht ishte një i vetëm. Gjatë viteve të shumta, ka fituar të gjitha karakteristikat moderne, si mbështetje për IPv6, mundësinë për të analizuar protokollet e nivelit aplikativ apo një modul universale për qasje në të dhëna.
Ngritja bazë e Snort 2.X ka mësuar të punojë me disa bërthama, por ka mbetur një e vetme dhe prandaj nuk mund të shfrytëzojë optimalisht avantazhet e platformave moderne të pajisjeve.
Problemi u zgjidh në versionin e tretë të sistemit, por u përgatit kaq gjatë saqë në treg u shfaq Suricata, e shkruar nga fillimi si një alternativë me shumë bërthama ndaj Snort, e cila vjen me funksione IPS nga kutia. Kodi shpërndahet nën licencën GPLv2, por partnerët financiarë të projektit kanë akses në versionin e mbyllur të motorit. Disa probleme me shkathtësinë në versionet e para të sistemit u shfaqën, por ato u zgjidhën mjaft shpejt.
Pse Suricata?
NĂ« Suricata ka disa module (si nĂ« Snort): kapjen, mbledhjen, dekodimin, zbulimin dhe daljen. NĂ« mĂ«nyrĂ« tĂ« paracaktuar, trafiku i kapur shkon deri nĂ« dekodim me njĂ« rrjedhĂ«, megjithatĂ«, kjo e ngarkon mĂ« shumĂ« sistemin. NĂ«se Ă«shtĂ« e nevojshme, rrjedhat mund tĂ« ndahen nĂ« konfigurime dhe tĂ« shpĂ«rndahen nĂ« procesorĂ« â Suricata optimizohet shumĂ« mirĂ« pĂ«r harduerin specifik, megjithatĂ«, kjo nuk Ă«shtĂ« njĂ« nivel HOWTO pĂ«r fillestarĂ«t. Duhet gjithashtu tĂ« theksohet prania nĂ« Suricata e mjeteve tĂ« avancuara tĂ« inspektimit HTTP tĂ« bazuara nĂ« bibliotekĂ«n HTP. Ato gjithashtu mund tĂ« pĂ«rdoren pĂ«r tĂ« regjistruar trafikun pa ndjerĂ«. Sistemi gjithashtu mbĂ«shtet dekodimin e IPv6, duke pĂ«rfshirĂ« tunelĂ«t IPv4-in-IPv6, IPv6-in-IPv6 dhe tĂ« tjerĂ«.
PĂ«r kapjen e trafikut mund tĂ« pĂ«rdoren ndĂ«rfaqe tĂ« ndryshme (NFQueue, IPFRing, LibPcap, IPFW, AF_PACKET, PF_RING), ndĂ«rsa nĂ« modalitetin Unix Socket mund tĂ« analizohen automatikisht skedarĂ«t PCAP qĂ« janĂ« kapur nga njĂ« sniffers tjetĂ«r. PĂ«r mĂ« tepĂ«r, arkitektura modulare e Suricata e thjeshton lidhjen e elementeve tĂ« reja pĂ«r kapjen, dekodimin, analizĂ«n dhe pĂ«rpunimin e paketeve rrjet. ĂshtĂ« gjithashtu e rĂ«ndĂ«sishme tĂ« theksohet se nĂ« Suricata bllokimi i trafikut bĂ«het me mjetet e filtrit tĂ« integruar tĂ« sistemit operativ. NĂ« GNU/Linux janĂ« tĂ« disponueshme dy variante tĂ« punĂ«s IPS: pĂ«rmes radhĂ«s NFQUEUE (modaliteti NFQ) dhe pĂ«rmes zero copy (modaliteti AF_PACKET). NĂ« rastin e parĂ«, paketi qĂ« kalon nĂ« iptables dĂ«rgohet nĂ« radhĂ«n NFQUEUE, ku mund tĂ« pĂ«rpunojĂ« nĂ« nivel pĂ«rdoruesi. Suricata e kalon atĂ« pĂ«rmes rregullave tĂ« saj dhe jep njĂ« nga tre verdiktet: NF_ACCEPT, NF_DROP dhe NF_REPEAT. TĂ« parat dy nuk kĂ«rkojnĂ« shpjegim, ndĂ«rsa e fundit lejon tĂ« markohen paketat dhe t'i kthehen nĂ« fillim tĂ« tabelĂ«s aktuale iptables. Modaliteti AF_PACKET shquhet pĂ«r performancĂ«n e lartĂ«, por i vendos sistemit disa kufizime: ai duhet tĂ« ketĂ« dy ndĂ«rfaqe rrjeti dhe tĂ« punojĂ« si njĂ« kalim.
Një karakteristikë e rëndësishme e Suricata-s është mundësia e përdorimit të punimeve për Snort. Administratorit i janë në dispozicion, për shembull, grupet e rregullave Sourcefire VRT dhe OpenSource Emerging Threats, si dhe format komerciale Emerging Threats Pro. Dalja e unifikuar mund të analizohet me ndihmën e backend-eve të njohura, gjithashtu mbështetet dalja në formatin PCAP dhe Syslog. Cilësimet e sistemit dhe rregullat ruhen në skedarë në formatin YAML, i cili është lehtësisht i lexueshëm dhe mund të përpunohet automatikisht. Motori Suricata njeh shumë protokolle, prandaj në rregulla nuk ka nevojë të lidhet me numrin e portit. Përveç kësaj, në rregullat Suricata praktikohet aktivisht koncepti i flowbits. Për ndjekjen e ngjarjeve përdoren variabla sesioni që lejojnë krijimin dhe aplikimin e numrave dhe flamujve të ndryshëm. Shumë IDS e shohin lidhjet e ndryshme TCP si entitete të veçanta dhe mund të mos shohin lidhjen midis tyre, e cila tregon fillimin e një sulmi. Suricata përpiqet të shohë pamjen e përgjithshme dhe në shumë raste njeh trafikun e dëmshëm të shpërndarë në lidhje të ndryshme. Mund të flasim për avantazhet e saj për një kohë të gjatë; më mirë të kalojmë në instalimin dhe konfigurimin.
Si të instaloni?
Ne do të instalojmë Suricata në një server virtual që punon nën Ubuntu 18.04 LTS. Të gjitha komandat duhet të ekzekutohen në emër të superpërdoruesit (root). Opsioni më i sigurt është të lidhemi me serverin përmes SSH si një përdorues i zakonshëm dhe pastaj të aplikojmë utilitarin sudo për të rritur privilegjet. Së pari, nevojitet të instalohet paketa të cilat na duhen:
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-httpsLidhim depozita të jashtme:
sudo add-apt-repository ppa:oisf/suricata-stable
sudo apt-get updateInstalojmë versionin më të fundit stabil të Suricata-s:
sudo apt-get install suricataNëse është e nevojshme, modifikojmë skedarët e konfigurimit të emrit, duke zëvendësuar eth0 që përdoret si parazgjedhje me emrin aktual të ndërfaqes jashtme të serverit. Cilësimet e parazgjedhura ruhen në skedarin /etc/default/suricata, ndërsa ato përdoruesit ruhen në /etc/suricata/suricata.yaml. Konfigurimi i IDS zakonisht kufizohet në modifikimin e këtij skedari konfigurimi. Ai ka shumë parametra, të cilët për emrin dhe qëllimin përputhen me ato nga Snort. Sintaksa megjithatë është krejtësisht ndryshe, por skedari është shumë më e lehtë për t'u lexuar se konfigurimet e Snort, për më tepër është mirë komentuese.
sudo nano /etc/default/suricata 
dhe
sudo nano /etc/suricata/suricata.yaml 
Kujdes! Para se të filloni, duhet të kontrolloni vlerat e variablave nga seksioni vars.
Për të përfunduar konfigurimin, do të nevojitet të instaloni suricata-update për të azhurnuar dhe ngarkuar rregullat. Të bësh këtë është shumë e thjeshtë:
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-updateMë pas na nevojitet të ekzekutojmë komandën suricata-update për të instaluar paketën e rregullave Emerging Threats Open:
sudo suricata-update 
Për të parë listën e burimeve të rregullave, ekzekutojmë komandën në vijim:
sudo suricata-update list-sources 
Azhurnojmë burimet e rregullave:
sudo suricata-update update-sources 
Rishikojmë burimet e azhurnuara:
sudo suricata-update list-sourcesNëse është e nevojshme, mund të aktivizoni burimet mëmë falas:
sudo suricata-update enable-source ptresearch/attackdetection
sudo suricata-update enable-source oisf/trafficid
sudo suricata-update enable-source sslbl/ssl-fp-blacklistPas kësaj, është e nevojshme të azhurnoni përsëri rregullat:
sudo suricata-updateKështu, instalimi dhe konfigurimi fillestar i Suricata në Ubuntu 18.04 LTS mund të konsiderohet i përfunduar. Më tej fillon e funit: në artikullin e ardhshëm do të lidhim serverin virtual me rrjetin zyrtar përmes VPN dhe do të fillojmë të analizojmë të gjithë trafikun hyrës dhe dalës. Do t'i kushtohet vëmendje të veçantë bllokimit të sulmeve DDoS, aktivitetit të malware dhe përpjekjeve për të shfrytëzuar dobësitë në shërbimet në dispozicion nga rrjetet publike. Për qartësi do të simulojmë sulme të llojeve më të zakonshme.
Burimi: habr.com
