Në Ne kemi folur se si të lansoni një version stabil të Suricata në Ubuntu 18.04 LTS. Të konfigurosh IDS në një nyje dhe të lidhësh paketat falas të rregullave është mjaft e lehtë. Sot do të shohim se si me anë të Suricata të instaluar në një server virtual mund të mbrojmë rrjetin e korporatës nga format më të zakonshme të sulmeve. Për këtë, na nevojitet një VDS mbi Linux me dy bërthama procesori. Kapaciteti i memories RAM varet nga ngarkesa: disa njerëz mjaftojnë me 2 GB, ndërsa për detyra më serioze mund të nevojiten 4 ose madje 6. Avantazhi i makinës virtuale është mundësia e eksperimentimit: mund të fillojmë me një konfigurim minimal dhe të rritim burimet sipas nevojës.
foto: Reuters
Bashkimi i rrjeteve
Të transferosh IDS në një makinë virtuale mund të jetë e nevojshme kryesisht për teste. Nëse nuk keni pasur ndonjëherë të bëni me zgjidhje të tilla, nuk është e mençur të nxitojnë të porositni harduer fizik dhe të ndryshoni arkitekturën e rrjetit. Më mirë ta testoni sistemin në një mënyrë të sigurt dhe pa shpenzime të tepërta për të përcaktuar nevojat për burimet përpunuese. Është e rëndësishme të kuptoni se të gjithë trafiku korporativ, në këtë rast, do të kalojë përmes një nyjeje të vetme të jashtme: për të lidhur rrjetin lokal (ose disa rrjete) me VDS-në që ka Suricata të instaluar, mund të përdorni — një server VPN të thjeshtë për tu konfigurimin dhe multi-platformë që siguron enkriptim të besueshëm. Lidhja zyrtare me internetin mund të mos ketë një IP reale, prandaj është më mirë ta ngresh në VPS. Në depozita të Ubuntu nuk ka paketa të gatshme, do të duhet të shkarkosh softin ose nga , ose nga një depo e jashtme në shërbimin (nëse i besoni asaj):
sudo add-apt-repository ppa:paskal-07/softethervpn
sudo apt-get updateLista e paketa të disponueshme mund të shikohet me komandën e mëposhtme:
apt-cache search softether 
Na nevojiten softether-vpnserver (serveri në konfigurim testimi është aktivizuar në VDS), si dhe softether-vpncmd — utilitetet e linjës së komandave për konfigurimin e tij.
sudo apt-get install softether-vpnserver softether-vpncmdPër konfigurimin e serverit përdoret një utilitet i veçantë i linjës së komandave:
sudo vpncmd 
Nuk do të flasim në detaje për konfigurimin: procedura është mjaft e thjeshtë, është përshkruar mirë në publikime të shumta dhe nuk është e lidhur posaçërisht me temën e artikullit. Në përmbledhje, pas fillimit të vpncmd, duhet të zgjidhni opsionin 1 për të kaluar në konsollën e menaxhimit të serverit. Për këtë duhet të shkruani emrin localhost dhe të shtypni enter në vend që të shkruani emrin e hub-it. Në konsolë, vendoset një fjalëkalim administrator me komandën serverpasswordset, hiqet hub-i virtual DEFAULT (komanda hubdelete) dhe krijohet një i ri me emrin Suricata_VPN, si dhe vendoset fjalëkalimi i tij (komanda hubcreate). Pastaj, duhet të kaloni në konsolën e menaxhimit të hub-it të ri me komandën hub Suricata_VPN për të krijuar një grup dhe një përdorues me komandat groupcreate dhe usercreate. Fjalëkalimi i përdoruesit caktohet me komandën userpasswordset.
SoftEther mbështet dy mënyra të transmetimit të trafikut: SecureNAT dhe Local Bridge. E para është një teknologji e firmës për ndërtimin e një rrjeti privat virtual me NAT dhe DHCP të vetin. SecureNAT nuk kërkon TUN/TAP, as konfigurojmë Netfilter ose një firewall tjetër. Rrjetëzimi nuk prek bërthamën e sistemit, dhe të gjithë proceset janë virtualizuar dhe punojnë në çdo VPS/VDS, pavarësisht nga hipervizori i përdorur. Kjo çon në ngarkesë më të madhe në procesor dhe ulje të shpejtësisë në krahasim me modin Local Bridge, i cili lidh hub-in virtual të SoftEther me një adaptues fizik të rrjetit ose pajisjen TAP.
Konfigurimi në këtë rast komplikohet, sepse rrjetëzimi ndodh në nivelin e bërthamës me ndihmën e Netfilter. VDS-të tona janë të ndërtuara mbi Hyper-V, prandaj në hapin e fundit krijojmë një urë lokale dhe aktivizojmë pajisjen TAP me komandën bridgecreate Suricate_VPN -device:suricate_vpn -tap:yes. Pas daljes nga konsola e menaxhimit të hub-it do të shohim në sistem një ndërfaqe të re rrjeti, së cilës ende nuk i është caktuar një IP:
ifconfig 
Më pas do të duhet të aktivizoni rrjetëzimin e paketimeve midis ndërfaqeve (ip forward), nëse ajo nuk është aktive:
sudo nano /etc/sysctl.confÇaktivizoni linjën e mëposhtme:
net.ipv4.ip_forward = 1Ruani ndryshimet në skedarin, dilni nga redaktori dhe aplikoni ato me komandën e mëposhtme:
sudo sysctl -pMë pas, na nevojitet të caktojmë një subnet për rrjetin virtual me IP të rreme (p.sh., 10.0.10.0/24) dhe t'i caktojmë një adresë ndërfaqes:
sudo ifconfig tap_suricata_vp 10.0.10.1/24Më pas do t'ju duhet të shkruani rregulla Netfilter.
1. Në rast nevoje, lejoni paketat e ardhshme në portet e dëgjuara (protokolli i firmës SoftEther përdor HTTPS dhe portin 443)
sudo iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
sudo iptables -A INPUT -p tcp -m tcp --dport 992 -j ACCEPT
sudo iptables -A INPUT -p tcp -m tcp --dport 1194 -j ACCEPT
sudo iptables -A INPUT -p udp -m udp --dport 1194 -j ACCEPT
sudo iptables -A INPUT -p tcp -m tcp --dport 5555 -j ACCEPT2. Konfiguroni NAT nga subneti 10.0.10.0/24 në IP-në kryesore të serverit
sudo iptables -t nat -A POSTROUTING -s 10.0.10.0/24 -j SNAT --to-source 45.132.17.1403. Lejojmë kalimin e paketave nga nënrrjeti 10.0.10.0/24
sudo iptables -A FORWARD -s 10.0.10.0/24 -j ACCEPT4. Lejojmë kalimin e paketave për lidhjet e vendosura tashmë
sudo iptables -A FORWARD -p all -m state --state ESTABLISHED,RELATED -j ACCEPTAutomatizimin e procesit gjatë riçeljes së sistemit me skenarë inicializimi do ta lëmë për lexuesit si detyrë shtëpie.
Nëse dëshironi të japni automatikisht IP për klientët, gjithashtu duhet të instaloni ndonjë shërbim DHCP për urën lokale. Me këtë, konfigurimi i serverit është përfunduar dhe mund të kaloni te klientët. SoftEther mbështet protokolle të shumta, përdorimi i të cilave varet nga mundësitë e pajisjeve në rrjetin lokal.
netstat -ap |grep vpnserver 
Duke qenë se routeri ynë testues gjithashtu punon nën Ubuntu, do të instalojmë paketat softether-vpnclient dhe softether-vpncmd nga një depo të jashtme, në mënyrë që të përfitojmë nga protokolli i markës. Ne do të duhet të nisnim klientin:
sudo vpnclient startPër konfigurimin, përdorim mjetin vpncmd, duke zgjedhur localhost si makinën ku është nisur vpnclient. Të gjitha komandat kryhen në konsolë: do të duhet të krijoni një ndërfaqe virtuale (NicCreate) dhe një llogari (AccountCreate).
Në disa raste është e nevojshme të caktosh metodën e autentikimit me komanda si AccountAnonymousSet, AccountPasswordSet, AccountCertSet dhe AccountSecureCertSet. Duke qenë se nuk përdorim DHCP, adresa për adaptern virtual duhet të caktohet manualisht.
Përveç kësaj, do të na duhet të aktivizojmë ip forward (parametri net.ipv4.ip_forward=1 në skedarin /etc/sysctl.conf) dhe të konfiguroni rrugët statike. Nëse është e nevojshme, në VDS me Suricata mund të konfigurohet kalimi i porteve për përdorimin e shërbimeve të instaluara në rrjetin lokal. Me këtë, bashkimi i rrjeteve mund të quhet i përfunduar.
Konfigurimi që propozojmë do të duket kështu:

Konfigurojmë Suricata
Në kemi folur për dy modet e funksionimit të IDS: përmes radhës NFQUEUE (modi NFQ) dhe përmes zero copy (modi AF_PACKET). I dyti kërkon dy ndërfaqe, por ofron performancë më të lartë — ne do ta përdorim pikërisht këtë. Parametri është caktuar si i zakonshëm në /etc/default/suricata. Gjithashtu, do të na duhet të redaktojmë seksionin vars në /etc/suricata/suricata.yaml, duke e përcaktuar atje nënrrjetin virtual si shtëpinë.

Për të riçelur IDS përdorim komandën:
systemctl restart suricataZgjidhja është gati, tani mund të nevojitet të kontrolloni qëndrueshmërinë e saj ndaj veprimeve të sulmuesve.
Simulojmë sulmet
Ka disa skenarë për përdorimin e shërbimit të jashtëm IDS:
Mbrojtja nga sulmet DDoS (qëllimi kryesor)
Realizimi i një varianti të tillë brenda rrjetit korporativ është i vështirë, pasi paketat për analizë duhet të kalojnë në ndërfaqen e sistemit që shikon në internet. Edhe nëse IDS i blokon, trafik i padëshiruar mund ta bllokojë kanalin e transmetimit të të dhënave. Për ta shmangur këtë, nevojitet të porositni një VPS me një lidhje interneti mjaft të fuqishme, në gjendje të kalojë të gjithë trafikun e rrjetit lokal dhe gjithë trafikun e jashtëm. Kjo shpesh është më e thjeshtë dhe më e lirë se sa të zgjeroni kanalin e zyrës. Si një alternativë, përmendim shërbime të specializuara për mbrojtje nga DDoS. Kostoja e shërbimeve të tyre është e ngjashme me koston e një serveri virtual, por nuk kërkohet konfigurim i lodhshëm, megjithatë ka edhe disavantazhe — për paratë e saj, klienti merr vetëm mbrojtjen nga DDoS, ndërsa IDS e vet është e konfigurueshme si dëshiron.
Mbrojtja nga sulmet e jashtme të tipeve të tjera
Suricata është në gjendje të përballojë përpjekjet për shp exploitation të dobësive të ndryshme në shërbimet e aksesueshme nga interneti në rrjetin korporativ (serverët e postës elektronike, serverët web dhe aplikacionet web etj.). Zakonisht, për këtë IDS instalohet brenda rrjetit lokal pas pajisjeve kufizuese, por edhe dërgimi i saj jashtë është i ligjshëm.
Mbrojtja nga keqbërësit e brendshëm
Pavarësisht të gjitha përpjekjeve të administratorit të sistemit, kompjuterët në rrjetin korporativ mund të infektohen nga malware. Për më tepër, ndonjëherë shfaqen huliganë që përpiqen të kryejnë disa operacione të paligjshme. Suricata është në gjendje të ndihmojë për të bllokuar këto përpjekje, megjithatë për mbrojtjen e rrjetit të brendshëm është më mirë të instalohet brenda perimetrit dhe të përdoret në çift me një switch menaxher që mund të mbajë trafik në një port. Një IDS e jashtme në këtë rast gjithashtu nuk është aspak e padobishme — të paktën ajo mund të kapë përpjekjet e malware që jetojnë në LAN për t'u lidhur me një server të jashtëm.
Së pari do të krijojmë një VPS testues tjetër sulmues, dhe në routerin e rrjetit lokal do të ngremë Apache me konfigurimin e parazgjedhur, pas të cilit do ta kalojmë portin 80 nga serveri IDS. Më pas do të imitojmë një sulm DDoS nga nodi sulmues. Për këtë do të shkarkojmë nga GitHub, do ta kompilohet dhe do ta nisim në nodin sulmues një program të vogël xerxes (mund të nevojitet instalimi i paketës gcc):
git clone https://github.com/Soldie/xerxes-DDos-zanyarjamal-C.git
cd xerxes-DDos-zanyarjamal-C/
gcc xerxes.c -o xerxes
./xerxes 45.132.17.140 80Rezultati i punës së saj ishte si në vijim:

Suricata ndalon sulmuesin, ndërsa faqja e Apache-it në parazgjedhje hapet, pavarësisht nga sulmi ynë improvizues dhe një kanal mjaft të dobët "zyrtar" (në të vërtetë shtëpiak). Për detyra më serioze, është mirë të përdoret . Ai është i destinuar për të kryer teste penetrimi dhe lejon imitim të sulmeve të ndryshme. Udhëzimi për instalim është në faqen e projektit. Pas instalimit, do të nevojitet një përditësim:
sudo msfupdatePër testim, nisni msfconsole.

Fatkeqësisht, në versionet e fundit të këtij framework-u nuk ka mundësi për thyerjen automatike, kështu që eksploitët do të duhet të renditen manualisht dhe të nisen me komandën use. Së pari, është mirë të përcaktohen portet e hapura në makinën e sulmuar, për shembull, duke përdorur nmap (në rastin tonë, netstat në nodin e sulmuar është mjaft e përshtatshme), dhe më pas të zgjidhen dhe përdoren modulet e përshtatshme të .
Ekzistojnë dhe mjete të tjera për të kontrolluar qëndrueshmërinë e IDS ndaj sulmeve, duke përfshirë shërbime online. Për kuriozitet, mund të zhvilloni testimin e stresit përmes një versioni provë . Për të kontrolluar reagimin ndaj veprimeve të keqbërësve të brendshëm, është mirë të instaloni mjete speciale në një nga makinat e rrjetit lokal. Ka shumë mundësi dhe është mirë që herë pas here t’i aplikoni jo vetëm në poligonin eksperimental, por edhe në sistemet e punës, por kjo është një histori krejt tjetër.
Burimi: habr.com
