Snort või Suricata. Osa 3: kaitseme kontorinetti

V eelnevas artiklis oleme rääkinud, kuidas käivitada stabiilne versioon Suricat Ubuntu 18.04 LTS. IDS-i seadistamine ühel sõlmel ja tasuta reeglikomplektide ühendamine ei ole sageli keeruline. Täna uurime, kuidas kasutada virtuaalses serveris installitud Suricat, et kaitsta ettevõtte võrku kõige levinumate rünnakute eest. Selleks vajame Linuxi VDS-i koos kahe protsessorituumaga. RAM-i maht sõltub koormusest: mõnele piisab ka 2 GB-st, samas kui tõsisemate ülesannete jaoks võib vajada 4 või isegi 6. Virtuaalmasina pluss on katsetamise võimalused: alustada saab minimaalsete konfiguratsioonidega ja ressursse saab vajadusel suurendada.

Snort või Suricata. Osa 3: kaitseme kontorinettifoto: Reuters

Ühendame võrgud

IDS-i viimistlemine virtuaalmasinale võib alguses olla vajalik katsesituatsioonide jaoks. Kui teil ei ole selliste lahendustega varasemalt kokkupuudet, siis ei tasu esimese asjana tellida füüsilist riistvara ega muuta võrgu arhitektuuri. On parem katsetada süsteemi ohutult ja kulutuste vältimiseks, et määrata arvutusressursside vajadused. Oluline on mõista, et kogu ettevõtte liiklus tuleb suunata läbi ühe välise sõlme: kohaliku võrgu (või mitme võrgu) ühendamiseks VDS-iga, kus on installitud IDS Suricata, saab kasutada SoftEther — kergesti seadistatav, mitmeplatvormiline VPN-server, mis tagab usaldusväärse krüpteerimise. Kontori internetiühendus ei pruugi omada reaalselt IP-aadressi, seega on mõistlik see üles seadistada VPS-is. Ubuntu pakettide hoidlas pole valmis pakette, tarkvara tuleb laadida kas projekti veebilehelt, või välisest hoidlast teenusest Launchpad (kui usaldate seda):

sudo add-apt-repository ppa:paskal-07/softethervpn
sudo apt-get update

Saate vaadata saadavalolevate pakettide nimekirja järgmise käsu abil:

apt-cache search softether

Snort või Suricata. Osa 3: kaitseme kontorinetti

Me vajag softether-vpnserver (serveris ar testēšanas konfigurāciju darbojas VDS), kā arī softether-vpncmd — komandrindas rīks tā konfigurēšanai.

sudo apt-get install softether-vpnserver softether-vpncmd

Servera konfigurēšanai tiek izmantots īpašs komandrindas rīks:

sudo vpncmd

Snort või Suricata. Osa 3: kaitseme kontorinetti

Detalizēti par konfigurēšanu mēs nerunāsim: procedūra ir diezgan vienkārša, un tās apraksts ir plaši pieejams daudzās publikācijās, un tā tieši nesaistās ar šā raksta tēmu. Īsumā, pēc vpncmd palaišanas jums jāizvēlas punkts 1, lai pārietu uz servera pārvaldības konsoli. Tam ir nepieciešams ievadīt localhost vārdu un nospiest enter, nevis ievadīt hub vārdu. Konsolē jāiestata administratora parole ar komandu serverpasswordset, jādzēš virtuālais huba DEFAULT (komanda hubdelete) un jāizveido jauns ar nosaukumu Suricata_VPN, kā arī jānosaka tā parole (komanda hubcreate). Pēc tam jums jāiet uz jaunā huba pārvaldības konsoli, izmantojot komandu hub Suricata_VPN, lai izveidotu grupu un lietotāju ar komandu groupcreate un usercreate. Lietotāja parole tiek noteikta ar userpasswordset.

SoftEther toetab kahte liiklusrežiimi: SecureNAT ja Local Bridge. Esimene on patendiomaniku tehnoloogia, mis loob virtuaalse privaatvõrgu koos oma NAT-i ja DHCP-ga. SecureNAT ei vaja TUN/TAP-i ega Netfilter'i või muude tulemüüride seadistamist. Suunamine ei mõjuta süsteemi kernelit, kõik protsessid on virtualiseeritud ja töötavad igas VPS/VDS-is, sõltumata kasutatavast hüperviisorist. See toob endaga kaasa suurema protsessorikoormuse ja madalamad kiirusnäitajad võrreldes Local Bridge'iga, mis ühendab SoftEtheri virtuaalset keskuses füüsilise võrguadapteri või TAP-seadmest.

Seadistus muutub selles osas keerukamaks, kuna suunamine toimub kernelitasandil Netfilter'i abil. Meie VDS-id on rajatud Hyper-V-le, seetõttu loome viimases etapis kohalikku silda ja aktiveerime TAP-seadme käsu bridgecreate Suricate_VPN -device:suricate_vpn -tap:yes abil. Kui lahkume keskuse haldamise konsoolist, näeme süsteemis uut võrgu liidest, millele pole veel IP-d määratud:

ifconfig

Snort või Suricata. Osa 3: kaitseme kontorinetti

Edasi tuleb lubada paketisuunamine liideste vahel (ip forward), kui see ei ole aktiivne:

sudo nano /etc/sysctl.conf

Tühjendage järgmine rida:

net.ipv4.ip_forward = 1

Salvestame failis tehtud muudatused, väljumiseks redaktorist ja rakendame need järgmise käsuga:

sudo sysctl -p

Edasi peame määrama virtuaalvõrgule alavõrgu vale IP-ga (näiteks 10.0.10.0/24) ja määrama aadressi liidesesse:

sudo ifconfig tap_suricata_vp 10.0.10.1/24

Seejärel on vaja seadistada Netfilteri reeglid.

1. Vajadusel lubage sissetulevad paketid kuulamisel olevatel portidel (SoftEtheri protokoll kasutab HTTPS-i ja porti 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 ACCEPT

2. Seadistame NAT-i alamvõrgust 10.0.10.0/24 serveri põhiasisendile

sudo iptables -t nat -A POSTROUTING -s 10.0.10.0/24 -j SNAT --to-source 45.132.17.140

3. Lubage sissetulevad paketid alamvõrgust 10.0.10.0/24

sudo iptables -A FORWARD -s 10.0.10.0/24 -j ACCEPT

4. Lubage sissetulevad paketid juba loodud ühendustele

sudo iptables -A FORWARD -p all -m state --state ESTABLISHED,RELATED -j ACCEPT

Automatiseerimise protsessi süsteemi taaskäivitamisel initsialiseerimisskriptide abil jätame lugejate kodutööks.

Kui soovite klientidele IP-aadresse automaatselt jagada, tuleb ka seadistada mõni DHCP teenus kohalikuks sillaks. Sellega on serveri seadistus lõpetatud ja saab liikuda klientide juurde. SoftEther toetab mitmeid protokolle, mille kasutamine sõltub kohaliku võrgu riistvara võimekusest.

netstat -ap |grep vpnserver

Snort või Suricata. Osa 3: kaitseme kontorinetti

Kuna meie testruuter töötab ka Ubuntu all, paigaldame sellele välisest hoidlast paketid softether-vpnclient ja softether-vpncmd, et kasutada patenteeritud protokolli. Peame klienti käivitama:

sudo vpnclient start

Seadistamiseks kasutame utiliiti vpncmd, valides localhost masina, kuhu vpnclient on installitud. Kõik käsud sisestatakse konsooli: tuleb luua virtuaalne liides (NicCreate) ja konto (AccountCreate).

Mõnel juhul on vajalik määrata autentimismeetod käsudega AccountAnonymousSet, AccountPasswordSet, AccountCertSet ja AccountSecureCertSet. Kuna me ei kasuta DHCP-d, määratakse virtuaalse adapteri aadress käsitsi.

Samuti peame võimaldama IP edastamise (parameeter net.ipv4.ip_forward=1 failis /etc/sysctl.conf) ja seadistama staatilised marsruudid. Vajadusel saab VDS-is, millel on Suricata, seadistada portide edastamise, et kasutada kohaliku võrgu teenuseid. Selle võrguühenduse loomiseks on nüüd töö lõpetatud.

Pakutav konfiguratsioon näeb välja umbes selline:

Snort või Suricata. Osa 3: kaitseme kontorinetti

Seadistame Suricata

V eelnevas artiklis Oleme rääkinud kahest IDS-i töörežiimist: NFQUEUE järjekorra (NFQ režiim) ja zero copy (AF_PACKET režiim). Viimane nõuab kahte liidest, kuid pakub suuremat jõudlust — me kasutame just seda. Parameeter on määratud vaikimisi failis /etc/default/suricata. Samuti peame redigeerima vars jaotust failis /etc/suricata/suricata.yaml, sisestades sinna virtuaalsubvõrgu koduseks.

Snort või Suricata. Osa 3: kaitseme kontorinetti

IDS-i taaskäivitamiseks kasutame käsku:

systemctl restart suricata

Lahendus on valmis, nüüd võib teil olla vajalik kontrollida selle vastupidavust pahatahtlike tegevuste suhtes.

Simuleerime rünnakuid

IDS-i väliste teenuste kasutamise lahinguskeeme võib olla mitu:

DDoS rünnakute kaitse (peamine eesmärk)

Selliste lahenduste rakendamine ettevõtte võrgus on keeruline, kuna analüüsimiseks mõeldud paketid peavad jõudma süsteemi Interneti-poolsele liidesele. Isegi kui IDS need blokeerib, võib parasiitne liiklus üle koormata andmeedastuskanali. Selle vältimiseks on soovitatav tellida VPS, millel on piisavalt võimas Interneti-ühendus, et mahutada kogu kohaliku võrgu ja välise liikluse maht. Sageli on see lihtsam ja odavam kui kontoriühenduse laiendamine. Alternatiivina tasub mainida spetsialiseeritud teenuseid DDoS-i rünnakute kaitseks. Nende teenuste maksumus on sarnane virtuaalserveri hindadega, kuid ei ole vajalik keeruline seadistamine; siiski on puuduseks see, et klient saab oma raha eest ainult DDoS-i kaitse, samas kui oma IDS-i saab konfigureerida vastavalt vajadustele.

Kaitse teiste tüüpide välistest rünnakutest

Suricata suudab tegeleda erinevate haavatavuste ärakasutamise katsetega ettevõtte võrgu avalikult kättesaadavates teenustes (posti server, veebiserver ja veebi rakendused jne). Tüüpiliselt paigaldatakse IDS sisevõrku, kuid võib olla ka õigustatud selle välisseadmetesse paigutamine.

Kaitse sisemiste kurjategijate eest

Vaatamata kõikidele süsteemiadministraatori pingutustele võivad ettevõtte võrgu arvutid saada pahavara rünnaku objektiks. Lisaks võivad sisevõrgus esineda mõnikord häirijad, kes püüavad teostada ebaseaduslikke toiminguid. Suricata suudab aidata selliseid katsed blokeerida, kuigi sisevõrgu kaitsmiseks on parem paigaldada see perimeetri sisse ja kasutada koos haldatava vahetuskeskusega, mis suudab liiklust ühe porti peegeldada. Välise IDS-i kasutamine ei ole ka täiesti mõttetu — vähemalt suudab see tuvastada katsed, millega sisevõrgu pahavara tahab ühendust luua välise serveriga.

Alustame veel ühe testimise ründava VPS-i loomisega ning paigaldame lokaalsesse võrku Apache vaikekonfiguratsiooniga, millele suuname 80. portaali IDS-serverilt. Edasi simuleerime teenustõrke DDoS rünnakut ründavast sõlme. Selleks laadime GitHubist alla, kompileerime ja käivitame ründavas sõlmes väikese programmi xerxes (võib olla vajalik gcc paketi paigaldamine):

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 80

Tema töö tulemuseks oli järgmine:

Snort või Suricata. Osa 3: kaitseme kontorinetti

Suricata peatab ründaja, samas kui Apache vaikeleht avaneb vaatamata meie improvisatsioonilisele rünnakule ja üsna aeglasele «kontori» (tõepoolest kodu) võrguühendusele. Tõsisemate ülesannete jaoks tasub kasutada Metasploit Framework. See on mõeldud penetratsioonitestide läbiviimiseks ja võimaldab simuleerida mitmesuguseid rünnakuid. Paigaldusjuhend saadaval on projekti veebilehelt. Pärast paigaldamist on vajalik uuendus:

sudo msfupdate

Testimiseks käivitame msfconsole.

Snort või Suricata. Osa 3: kaitseme kontorinetti

Kahjuks ei toeta raamistik viimases versioonis automaatset ärakasutamist, seega tuleb eksploidid käsitsi läbi töötada ja käivitada käsuga use. Alustada tasub rünnatud süsteemi avatud portide määramisest, näiteks nmapi abil (meie puhul asendab seda täiesti netstat rünnataval sõlmel), seejärel valida ja kasutada sobivaid Metasploit'i mooduleid

On olemas ka teisi IDS-ide rünnakute kestvuse kontrollimise vahendeid, sealhulgas veebiteenuseid. Uudishimu pärast võib proovida stressitestimist prooviversiooni abil IP Stresser. Et kontrollida reaktsiooni sisemiste ründajate tegevusele, tasub paigaldada spetsiaalsed tööriistad ühe kohaliku võrgu masinasse. Variante on seinast seina ja neid tuleks aeg-ajalt rakendada mitte ainult katseplatsil, vaid ka tootmissüsteemides, kuid see on juba hoopis teine lugu.

Snort või Suricata. Osa 3: kaitseme kontorinetti

Snort või Suricata. Osa 3: kaitseme kontorinetti

Allikas: habr.com

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster