Snort ili Suricata. Dio 3: Zaštita kancelarijske mreže

В prethodni članak pokrili smo kako pokrenuti stabilnu verziju Suricate na Ubuntu 18.04 LTS. Postavljanje IDS-a na jednom čvoru i omogućavanje besplatnih skupova pravila je prilično jednostavno. Danas ćemo shvatiti kako zaštititi korporativnu mrežu koristeći najčešće tipove napada koristeći Suricata instaliranu na virtuelnom serveru. Da bismo to učinili, potreban nam je VDS na Linuxu s dvije računske jezgre. Količina RAM-a ovisi o opterećenju: nekome je dovoljno 2 GB, a za ozbiljnije zadatke može biti potrebno 4 ili čak 6. Prednost virtualne mašine je mogućnost eksperimentiranja: možete započeti s minimalnom konfiguracijom i povećati resurse po potrebi.

Snort ili Suricata. Dio 3: Zaštita kancelarijske mrežefoto: Reuters

Povezivanje mreža

Uklanjanje IDS-a na virtuelnu mašinu na prvom mestu može biti potrebno za testove. Ako se nikada niste bavili ovakvim rješenjima, ne biste trebali žuriti s naručivanjem fizičkog hardvera i mijenjanjem mrežne arhitekture. Najbolje je pokrenuti sistem bezbedno i isplativo kako biste utvrdili vaše potrebe za računarom. Važno je shvatiti da će sav korporativni promet morati biti propušten kroz jedan eksterni čvor: da biste povezali lokalnu mrežu (ili nekoliko mreža) na VDS sa instaliranim IDS Suricata, možete koristiti SoftEther - VPN server na više platformi koji se lako konfiguriše i koji pruža snažnu enkripciju. Kancelarijska internetska veza možda nema pravi IP, pa je bolje da je postavite na VPS. Nema gotovih paketa u Ubuntu repozitorijumu, moraćete da preuzmete softver ili sa projektno mjesto, ili iz vanjskog spremišta na servisu Launchpad (ako mu vjerujete):

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

Listu dostupnih paketa možete pogledati sljedećom komandom:

apt-cache search softether

Snort ili Suricata. Dio 3: Zaštita kancelarijske mreže

Trebat će nam softether-vpnserver (server u testnoj konfiguraciji radi na VDS-u), kao i softether-vpncmd - uslužni programi komandne linije za njegovo konfigurisanje.

sudo apt-get install softether-vpnserver softether-vpncmd

Za konfiguraciju servera koristi se poseban uslužni program komandne linije:

sudo vpncmd

Snort ili Suricata. Dio 3: Zaštita kancelarijske mreže

Nećemo detaljno govoriti o postavci: postupak je prilično jednostavan, dobro je opisan u brojnim publikacijama i ne odnosi se direktno na temu članka. Ukratko, nakon pokretanja vpncmd-a, potrebno je da odaberete stavku 1 da biste otišli na konzolu za upravljanje serverom. Da biste to učinili, trebate unijeti naziv localhost i pritisnuti enter umjesto da unesete naziv čvorišta. Administratorska lozinka se postavlja u konzoli naredbom serverpasswordset, DEFAULT virtuelno čvorište se briše (komanda hubdelete) i kreira se novo sa imenom Suricata_VPN, a postavlja se i njegova lozinka (komanda hubcreate). Zatim morate otići na upravljačku konzolu novog čvorišta koristeći naredbu hub Suricata_VPN da kreirate grupu i korisnika pomoću naredbi groupcreate i usercreate. Korisnička lozinka se postavlja pomoću userpasswordset.

SoftEther podržava dva načina prijenosa prometa: SecureNAT i Local Bridge. Prva je vlasnička tehnologija za izgradnju virtuelne privatne mreže sa sopstvenim NAT i DHCP. SecureNAT ne zahtijeva TUN/TAP ili Netfilter ili druge postavke zaštitnog zida. Rutiranje ne utiče na jezgro sistema, a svi procesi su virtuelizovani i rade na bilo kom VPS/VDS-u, bez obzira na hipervizor koji se koristi. Ovo rezultira povećanim opterećenjem CPU-a i sporijom brzinom u poređenju sa režimom lokalnog mosta, koji povezuje SoftEther virtuelno čvorište sa fizičkim mrežnim adapterom ili TAP uređajem.

Konfiguracija u ovom slučaju postaje komplikovanija, jer se rutiranje dešava na nivou kernela pomoću Netfiltera. Naš VDS je izgrađen na Hyper-V, tako da u posljednjem koraku kreiramo lokalni most i aktiviramo TAP uređaj naredbom bridgecreate Suricate_VPN -device:suricate_vpn -tap:yes. Nakon izlaska iz konzole za upravljanje čvorištem, vidjet ćemo novo mrežno sučelje u sistemu kojem još nije dodijeljen IP:

ifconfig

Snort ili Suricata. Dio 3: Zaštita kancelarijske mreže

Zatim ćete morati omogućiti usmjeravanje paketa između sučelja (ip naprijed), ako je neaktivno:

sudo nano /etc/sysctl.conf

Dekomentirajte sljedeći red:

net.ipv4.ip_forward = 1

Sačuvajte promjene u datoteci, izađite iz editora i primijenite ih sljedećom naredbom:

sudo sysctl -p

Zatim moramo definirati podmrežu za virtuelnu mrežu sa fiktivnim IP-ovima (na primjer, 10.0.10.0/24) i dodijeliti adresu sučelju:

sudo ifconfig tap_suricata_vp 10.0.10.1/24

Zatim morate napisati Netfilter pravila.

1. Ako je potrebno, dozvolite dolazne pakete na portovima za slušanje (SoftEther vlasnički protokol koristi HTTPS i port 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. Postavite NAT sa podmreže 10.0.10.0/24 na IP adresu glavnog servera

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

3. Dozvolite prenošenje paketa iz podmreže 10.0.10.0/24

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

4. Dozvolite prenošenje paketa za već uspostavljene veze

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

Čitaocima ćemo prepustiti automatizaciju procesa kada se sistem ponovo pokrene koristeći inicijalizacijske skripte kao domaći zadatak.

Ako želite automatski dati IP klijentima, također ćete morati instalirati neku vrstu DHCP usluge za lokalni most. Ovo završava podešavanje servera i možete ići na klijente. SoftEther podržava mnoge protokole, čija upotreba ovisi o mogućnostima LAN opreme.

netstat -ap |grep vpnserver

Snort ili Suricata. Dio 3: Zaštita kancelarijske mreže

Pošto naš testni ruter takođe radi pod Ubuntuom, hajde da instaliramo pakete softether-vpnclient i softether-vpncmd iz eksternog spremišta na njega da koristimo vlasnički protokol. Morat ćete pokrenuti klijenta:

sudo vpnclient start

Za konfiguraciju koristite uslužni program vpncmd, birajući localhost kao mašinu na kojoj se vpnclient izvodi. Sve komande se prave u konzoli: moraćete da kreirate virtuelni interfejs (NicCreate) i nalog (AccountCreate).

U nekim slučajevima morate navesti metodu provjere autentičnosti koristeći naredbe AccountAnonymousSet, AccountPasswordSet, AccountCertSet i AccountSecureCertSet. Pošto ne koristimo DHCP, adresa za virtuelni adapter se postavlja ručno.

Osim toga, moramo omogućiti ip naprijed (opcija net.ipv4.ip_forward=1 u /etc/sysctl.conf datoteci) i konfigurirati statičke rute. Ako je potrebno, na VDS-u sa Suricata, možete konfigurirati prosljeđivanje portova za korištenje usluga instaliranih na lokalnoj mreži. Na ovome se spajanje mreže može smatrati završenim.

Naša predložena konfiguracija će izgledati otprilike ovako:

Snort ili Suricata. Dio 3: Zaštita kancelarijske mreže

Postavljanje Suricate

В prethodni članak govorili smo o dva načina rada IDS-a: kroz NFQUEUE red (NFQ mod) i kroz nultu kopiju (režim AF_PACKET). Drugi zahteva dva interfejsa, ali je brži - mi ćemo ga koristiti. Parametar je podrazumevano postavljen u /etc/default/suricata. Takođe moramo da uredimo odeljak vars u /etc/suricata/suricata.yaml, postavljajući virtuelnu podmrežu tamo kao dom.

Snort ili Suricata. Dio 3: Zaštita kancelarijske mreže

Da ponovo pokrenete IDS, koristite naredbu:

systemctl restart suricata

Rješenje je spremno, sada ćete ga možda morati testirati na otpornost na zlonamjerne radnje.

Simulacija napada

Može postojati nekoliko scenarija za borbenu upotrebu eksterne IDS usluge:

Zaštita od DDoS napada (primarna svrha)

Ovakvu opciju je teško implementirati unutar korporativne mreže, jer paketi za analizu moraju doći do sistemskog interfejsa koji gleda na Internet. Čak i ako ih IDS blokira, lažni promet može srušiti podatkovnu vezu. Da biste to izbjegli, morate naručiti VPS s dovoljno produktivnom internetskom vezom koja može proći sav promet lokalne mreže i sav vanjski promet. Često je lakše i jeftinije to učiniti nego proširiti uredski kanal. Kao alternativu, vrijedi spomenuti specijalizirane servise za zaštitu od DDoS-a. Cijena njihovih usluga je uporediva sa cijenom virtuelnog servera i ne zahtijeva dugotrajnu konfiguraciju, ali postoje i nedostaci - klijent za svoj novac dobija samo DDoS zaštitu, dok se njegov vlastiti IDS može konfigurirati kako vi like.

Zaštita od vanjskih napada drugih vrsta

Suricata je u stanju da se nosi sa pokušajima eksploatacije različitih ranjivosti u korporativnim mrežnim servisima dostupnim sa Interneta (mail server, web server i web aplikacije, itd.). Obično se za to IDS instalira unutar LAN-a nakon graničnih uređaja, ali iznošenje van ima pravo na postojanje.

Zaštita od insajdera

Uprkos svim naporima administratora sistema, računari na korporativnoj mreži mogu biti zaraženi malverom. Osim toga, u okolini se ponekad pojavljuju i huligani, koji pokušavaju izvršiti neke nedozvoljene radnje. Suricata može pomoći u blokiranju takvih pokušaja, iako je za zaštitu interne mreže bolje instalirati je unutar perimetra i koristiti je u tandemu s upravljanim prekidačem koji može preslikati promet na jedan port. Eksterni IDS također nije beskoristan u ovom slučaju – barem će moći uhvatiti pokušaje zlonamjernog softvera koji živi na LAN-u da kontaktira vanjski server.

Za početak ćemo napraviti još jedan test napadački VPS, a na lokalnom mrežnom ruteru ćemo podići Apache sa zadanom konfiguracijom, nakon čega ćemo mu proslijediti 80. port sa IDS servera. Zatim ćemo simulirati DDoS napad od napadačkog domaćina. Da biste to uradili, preuzmite sa GitHub-a, kompajlirajte i pokrenite mali xerxes program na napadačkom čvoru (možda ćete morati da instalirate gcc paket):

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 njenog rada bio je sljedeći:

Snort ili Suricata. Dio 3: Zaštita kancelarijske mreže

Suricata prekida zlikovca, a stranica Apache se otvara po defaultu, uprkos našem improviziranom napadu i prilično mrtvom kanalu "kancelarijske" (zapravo kućne) mreže. Za ozbiljnije zadatke trebalo bi da koristite Metasploit Framework. Dizajniran je za testiranje penetracije i omogućava vam da simulirate razne napade. Upute za instalaciju dostupna na web stranici projekta. Nakon instalacije potrebno je ažuriranje:

sudo msfupdate

Za testiranje, pokrenite msfconsole.

Snort ili Suricata. Dio 3: Zaštita kancelarijske mreže

Nažalost, najnovije verzije okvira nemaju mogućnost automatskog razbijanja, tako da će eksploatacije morati da se sortiraju ručno i pokrenu pomoću naredbe use. Za početak, vrijedi odrediti otvorene portove na napadnutom stroju, na primjer, pomoću nmap-a (u našem slučaju će ga u potpunosti zamijeniti netstat na napadnutom hostu), a zatim odabrati i koristiti odgovarajući Metasploit moduli

Postoje i drugi načini testiranja otpornosti IDS-a na napade, uključujući online usluge. Radi znatiželje, možete dogovoriti testiranje na stres koristeći probnu verziju IP stresser. Da biste provjerili reakciju na radnje unutarnjih uljeza, vrijedi instalirati posebne alate na jedan od strojeva na lokalnoj mreži. Postoji mnogo opcija i s vremena na vrijeme ih treba primijeniti ne samo na eksperimentalno mjesto, već i na radne sisteme, samo što je ovo sasvim druga priča.

Snort ili Suricata. Dio 3: Zaštita kancelarijske mreže

Snort ili Suricata. Dio 3: Zaštita kancelarijske mreže

izvor: www.habr.com

Dodajte komentar