Smrkanje ali Suricata. 3. del: Zaščita pisarniškega omrežja

В prejšnji članek obravnavali smo, kako zagnati stabilno različico Suricata na Ubuntu 18.04 LTS. Nastavitev IDS na enem samem vozlišču in omogočanje brezplačnih nizov pravil je precej preprosto. Danes bomo ugotovili, kako zaščititi poslovno omrežje z najpogostejšimi vrstami napadov z uporabo Suricate, nameščene na virtualnem strežniku. Za to potrebujemo VDS na Linuxu z dvema računalniškima jedroma. Količi sredstva po potrebi.

Smrkanje ali Suricata. 3. del: Zaščita pisarniškega omrežjafoto: Reuters

Povezovanje omrežij

Prenos IDS na virtualni stroj bo morda najprej potreben za teste. Če se s tovrstnimi rešitvami še niste ukvarjali, ne hitite z naročanjem fizične strojne opreme in spreminjanjem omrežne arhitekture. Najbolje je, da sistem izvajate varno in stroškovno učinkovito, da določite svoje računalniške potrebe. Pomembno je razumeti, da bo moral ves promet podjetja potekati skozi eno samo zunanje vozlišče: za povezavo lokalnega omrežja (ali več omrežij) z VDS z nameščenim IDS Suricata lahko uporabite SoftEter - Strežnik VPN za več platform, ki ga je enostavno konfigurirati in zagotavlja močno šifriranje. Internetna povezava v pisarni morda nima pravega IP-ja, zato je bolje, da jo nastavite na VPS. V repozitoriju Ubuntu ni že pripravljenih paketov, programsko opremo boste morali prenesti od koder stran projektaali iz zunanjega repozitorija v storitvi Launchpad (če mu zaupaš):

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

Seznam razpoložljivih paketov si lahko ogledate z naslednjim ukazom:

apt-cache search softether

Smrkanje ali Suricata. 3. del: Zaščita pisarniškega omrežja

Potrebovali bomo softether-vpnserver (strežnik v testni konfiguraciji teče na VDS), kot tudi softether-vpncmd - pripomočke ukazne vrstice za njegovo konfiguracijo.

sudo apt-get install softether-vpnserver softether-vpncmd

Za konfiguracijo strežnika se uporablja poseben pripomoček ukazne vrstice:

sudo vpncmd

Smrkanje ali Suricata. 3. del: Zaščita pisarniškega omrežja

O nastavitvi ne bomo podrobno govorili: postopek je precej preprost, dobro opisan v številnih publikacijah in ni neposredno povezan s temo članka. Skratka, po zagonu vpncmd morate izbrati element 1, da odprete konzolo za upravljanje strežnika. Če želite to narediti, morate namesto imena vozlišča vnesti ime localhost in pritisniti enter. Skrbniško geslo nastavimo v konzoli z ukazom serverpasswordset, DEFAULT virtualno vozlišče izbrišemo (ukaz hubdelete) in ustvarimo novo z imenom Suricata_VPN, nastavimo pa tudi njegovo geslo (ukaz hubcreate). Nato morate z ukazom hub Suricata_VPN odpreti upravljalno konzolo novega vozlišča, da ustvarite skupino in uporabnika z ukazoma groupcreate in usercreate. Uporabniško geslo se nastavi z uporabo userpasswordset.

SoftEther podpira dva načina prenosa prometa: SecureNAT in Local Bridge. Prva je lastniška tehnologija za izgradnjo virtualnega zasebnega omrežja z lastnim NAT in DHCP. SecureNAT ne zahteva TUN/TAP ali Netfilter ali drugih nastavitev požarnega zidu. Usmerjanje ne vpliva na jedro sistema, vsi procesi pa so virtualizirani in delujejo na katerem koli VPS / VDS, ne glede na uporabljeni hipervizor. Posledica tega je povečana obremenitev procesorja in počasnejša hitrost v primerjavi z načinom lokalnega mostu, ki povezuje virtualno vozlišče SoftEther s fizičnim omrežnim adapterjem ali napravo TAP.

Konfiguracija v tem primeru postane bolj zapletena, saj se usmerjanje izvaja na ravni jedra z uporabo Netfilterja. Naši VDS so zgrajeni na Hyper-V, zato v zadnjem koraku ustvarimo lokalni most in aktiviramo napravo TAP z ukazom bridgecreate Suricate_VPN -device:suricate_vpn -tap:yes. Po izhodu iz konzole za upravljanje vozlišča bomo v sistemu videli nov omrežni vmesnik, ki mu še ni bil dodeljen IP:

ifconfig

Smrkanje ali Suricata. 3. del: Zaščita pisarniškega omrežja

Nato boste morali omogočiti paketno usmerjanje med vmesniki (ip forward), če je neaktivno:

sudo nano /etc/sysctl.conf

Odkomentirajte naslednjo vrstico:

net.ipv4.ip_forward = 1

Shranite spremembe v datoteko, zapustite urejevalnik in jih uporabite z naslednjim ukazom:

sudo sysctl -p

Nato moramo definirati podomrežje za navidezno omrežje z izmišljenimi IP-ji (na primer 10.0.10.0/24) in vmesniku dodeliti naslov:

sudo ifconfig tap_suricata_vp 10.0.10.1/24

Nato morate napisati pravila Netfilter.

1. Po potrebi dovolite dohodne pakete na poslušajočih vratih (lasniški protokol SoftEther uporablja HTTPS in vrata 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. Nastavite NAT iz podomrežja 10.0.10.0/24 na IP glavnega strežnika

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

3. Dovolite prehajanje paketov iz podomrežja 10.0.10.0/24

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

4. Dovoli prehajanje paketov za že vzpostavljene povezave

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

Avtomatizacijo procesa ob ponovnem zagonu sistema z uporabo inicializacijskih skriptov bomo prepustili bralcem kot domačo nalogo.

Če želite samodejno dodeliti IP odjemalcem, boste morali namestiti tudi neko storitev DHCP za lokalni most. S tem je nastavitev strežnika končana in lahko greste do odjemalcev. SoftEther podpira številne protokole, katerih uporaba je odvisna od zmogljivosti opreme LAN.

netstat -ap |grep vpnserver

Smrkanje ali Suricata. 3. del: Zaščita pisarniškega omrežja

Ker naš testni usmerjevalnik deluje tudi pod Ubuntujem, namestimo paketa softether-vpnclient in softether-vpncmd iz zunanjega repozitorija nanj, da bomo uporabljali lastniški protokol. Odjemalca boste morali zagnati:

sudo vpnclient start

Za konfiguracijo uporabite pripomoček vpncmd in izberite localhost kot stroj, na katerem se izvaja vpnclient. Vsi ukazi so narejeni v konzoli: ustvariti boste morali virtualni vmesnik (NicCreate) in račun (AccountCreate).

V nekaterih primerih morate določiti metodo preverjanja pristnosti z ukazi AccountAnonymousSet, AccountPasswordSet, AccountCertSet in AccountSecureCertSet. Ker ne uporabljamo DHCP, se naslov za virtualni adapter nastavi ročno.

Poleg tega moramo omogočiti ip forward (parameter net.ipv4.ip_forward=1 v datoteki /etc/sysctl.conf) in konfigurirati statične poti. Po potrebi lahko na VDS s Suricata konfigurirate posredovanje vrat za uporabo storitev, nameščenih v lokalnem omrežju. Na tem se lahko šteje, da je združitev omrežja končana.

Naša predlagana konfiguracija bo videti nekako takole:

Smrkanje ali Suricata. 3. del: Zaščita pisarniškega omrežja

Nastavitev Suricata

В prejšnji članek govorili smo o dveh načinih delovanja IDS: prek čakalne vrste NFQUEUE (način NFQ) in prek ničelne kopije (način AF_PACKET). Drugi zahteva dva vmesnika, vendar je hitrejši - uporabili ga bomo. Parameter je privzeto nastavljen v /etc/default/suricata. Prav tako moramo urediti razdelek vars v /etc/suricata/suricata.yaml in tam nastaviti navidezno podomrežje kot domače.

Smrkanje ali Suricata. 3. del: Zaščita pisarniškega omrežja

Za ponovni zagon IDS uporabite ukaz:

systemctl restart suricata

Rešitev je pripravljena, zdaj jo boste morda morali preizkusiti glede odpornosti proti zlonamernim dejanjem.

Simulacija napadov

Za bojno uporabo zunanje storitve IDS je lahko več scenarijev:

Zaščita pred DDoS napadi (primarni namen)

Takšno možnost je težko implementirati znotraj korporativnega omrežja, saj morajo paketi za analizo priti do sistemskega vmesnika, ki gleda na internet. Tudi če jih IDS blokira, lahko lažni promet prekine podatkovno povezavo. Da bi se temu izognili, morate naročiti VPS z dovolj produktivno internetno povezavo, ki lahko prenese ves lokalni omrežni promet in ves zunanji promet. Pogosto je to lažje in ceneje narediti kot razširiti pisarniški kanal. Kot alternativo velja omeniti specializirane storitve za zaščito pred DDoS. Stroški njihovih storitev so primerljivi s stroški virtualnega strežnika in ne zahtevajo zamudne konfiguracije, vendar obstajajo tudi slabosti - odjemalec za svoj denar prejme samo zaščito DDoS, medtem ko lahko svoj IDS konfigurira kot vi kot.

Zaščita pred zunanjimi napadi drugih vrst

Suricata je kos poskusom izkoriščanja različnih ranljivosti v korporativnih omrežnih storitvah, dostopnih z interneta (poštni strežnik, spletni strežnik in spletne aplikacije itd.). Običajno je za to IDS nameščen znotraj LAN-a po mejnih napravah, vendar ima zunaj njega pravico do obstoja.

Zaščita pred notranjimi osebami

Kljub vsem naporom sistemskega skrbnika so lahko računalniki v omrežju podjetja okuženi z zlonamerno programsko opremo. Poleg tega se v lokalnem okolju včasih pojavijo huligani, ki poskušajo izvajati nekatere nezakonite operacije. Suricata lahko pomaga pri blokiranju takšnih poskusov, čeprav je za zaščito notranjega omrežja bolje, da jo namestite znotraj perimetra in jo uporabljate v tandemu z upravljanim stikalom, ki lahko zrcali promet na ena vrata. Zunanji IDS tudi v tem primeru ni neuporaben - vsaj bo lahko ujel poskuse zlonamerne programske opreme, ki živi v LAN, da vzpostavi stik z zunanjim strežnikom.

Za začetek bomo ustvarili še en testni napadalni VPS in na lokalnem omrežnem usmerjevalniku dvignili Apache s privzeto konfiguracijo, nato pa mu bomo posredovali 80. vrata s strežnika IDS. Nato bomo simulirali napad DDoS iz gostitelja, ki napada. Če želite to narediti, prenesite iz GitHub, prevedite in zaženite majhen program xerxes na napadalnem vozlišču (morda boste morali namestiti paket 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 80

Rezultat njenega dela je bil naslednji:

Smrkanje ali Suricata. 3. del: Zaščita pisarniškega omrežja

Suricata odreže negativca in stran Apache se privzeto odpre, kljub našemu impromptivnemu napadu in precej mrtvemu kanalu "pisarniškega" (pravzaprav domačega) omrežja. Za resnejša opravila raje uporabite Metasploit Framework. Zasnovan je za testiranje penetracije in omogoča simulacijo različnih napadov. Navodila za namestitev dostopna na spletni strani projekta. Po namestitvi je potrebna posodobitev:

sudo msfupdate

Za testiranje zaženite msfconsole.

Smrkanje ali Suricata. 3. del: Zaščita pisarniškega omrežja

Na žalost najnovejše različice ogrodja nimajo možnosti samodejnega vdora, zato bo treba izkoriščanja razvrstiti ročno in jih zagnati z ukazom use. Za začetek je vredno določiti odprta vrata na napadenem računalniku, na primer z uporabo nmap (v našem primeru ga bo na napadenem gostitelju v celoti nadomestil netstat), nato pa izberite in uporabite ustrezno Metasploit moduli

Obstajajo tudi drugi načini za testiranje odpornosti IDS proti napadom, vključno s spletnimi storitvami. Zaradi zanimivosti lahko organizirate stresno testiranje s preskusno različico IP stresor. Če želite preveriti reakcijo na dejanja notranjih vsiljivcev, je vredno namestiti posebna orodja na enega od strojev v lokalnem omrežju. Možnosti je veliko in občasno jih je treba uporabiti ne le na poskusnem mestu, ampak tudi na delujočih sistemih, le to je povsem druga zgodba.

Smrkanje ali Suricata. 3. del: Zaščita pisarniškega omrežja

Smrkanje ali Suricata. 3. del: Zaščita pisarniškega omrežja

Vir: www.habr.com

Dodaj komentar