Snort arba Suricata. 3 dalis: Biuro tinklo apsauga

В ankstesnis straipsnis aptarėme, kaip paleisti stabilią Suricata versiją Ubuntu 18.04 LTS. Nustatyti IDS viename mazge ir įjungti nemokamų taisyklių rinkinius yra gana paprasta. Šiandien išsiaiškinsime, kaip apsaugoti įmonės tinklą naudojant dažniausiai pasitaikančias atakų rūšis naudojant virtualiame serveryje įdiegtą Suricata. Norėdami tai padaryti, mums reikia VDS sistemoje „Linux“ su dviem skaičiavimo branduoliais. RAM kiekis priklauso nuo apkrovos: kažkam užtenka 2 GB, o rimtesnėms užduotims gali prireikti 4 ar net 6. Virtualios mašinos privalumas – galimybė eksperimentuoti: galima pradėti nuo minimalios konfigūracijos ir padidinti išteklių pagal poreikį.

Snort arba Suricata. 3 dalis: Biuro tinklo apsauganuotrauka: Reuters

Tinklų prijungimas

Norint atlikti bandymus, pirmiausia gali prireikti pašalinti IDS iš virtualios mašinos. Jei niekada nesusidūrėte su tokiais sprendimais, neturėtumėte skubėti užsisakyti fizinės įrangos ir keisti tinklo architektūros. Geriausia sistemą paleisti saugiai ir ekonomiškai efektyviai, kad būtų galima nustatyti skaičiavimo poreikius. Svarbu suprasti, kad visas įmonės srautas turės būti perduodamas per vieną išorinį mazgą: norėdami prijungti vietinį tinklą (ar kelis tinklus) prie VDS su įdiegta IDS Suricata, galite naudoti „SoftEther“ - Lengvai konfigūruojamas kelių platformų VPN serveris, užtikrinantis tvirtą šifravimą. Biuro interneto ryšys gali neturėti tikrojo IP, todėl geriau jį nustatyti VPS. Ubuntu saugykloje nėra paruoštų paketų, turėsite atsisiųsti programinę įrangą iš projekto vieta, arba iš išorinės paslaugos saugyklos Launchpad (jei juo pasitiki):

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

Galite peržiūrėti galimų paketų sąrašą naudodami šią komandą:

apt-cache search softether

Snort arba Suricata. 3 dalis: Biuro tinklo apsauga

Mums reikės softether-vpnserver (bandomosios konfigūracijos serveris veikia VDS), taip pat softether-vpncmd - komandinės eilutės paslaugų, skirtų jam konfigūruoti.

sudo apt-get install softether-vpnserver softether-vpncmd

Serveriui konfigūruoti naudojama speciali komandų eilutės programa:

sudo vpncmd

Snort arba Suricata. 3 dalis: Biuro tinklo apsauga

Mes nekalbėsime išsamiai apie nustatymą: procedūra yra gana paprasta, ji gerai aprašyta daugelyje leidinių ir nėra tiesiogiai susijusi su straipsnio tema. Trumpai tariant, paleidę vpncmd, norėdami pereiti į serverio valdymo pultą, turite pasirinkti 1 elementą. Norėdami tai padaryti, turite įvesti pavadinimą localhost ir paspausti enter, o ne įvesti šakotuvo pavadinimą. Administratoriaus slaptažodis nustatomas konsolėje serverpasswordset komanda, DEFAULT virtualus šakotuvas ištrinamas (komandą hubdelete) ir sukuriamas naujas pavadinimu Suricata_VPN, taip pat nustatomas jo slaptažodis (komandą hubcreate). Tada turite eiti į naujojo centro valdymo pultą naudodami Hub Suricata_VPN komandą, kad sukurtumėte grupę ir vartotoją naudodami groupcreate ir usercreate komandas. Vartotojo slaptažodis nustatomas naudojant userpasswordset.

SoftEther palaiko du srauto perdavimo režimus: SecureNAT ir Local Bridge. Pirmasis yra patentuota technologija, skirta sukurti virtualų privatų tinklą su savo NAT ir DHCP. „SecureNAT“ nereikalauja TUN/TAP ar „Netfilter“ ar kitų ugniasienės nustatymų. Maršrutas neturi įtakos sistemos branduoliui, o visi procesai yra virtualizuoti ir veikia bet kuriame VPS / VDS, neatsižvelgiant į naudojamą hipervizorių. Dėl to padidėja procesoriaus apkrova ir lėtesnis greitis, palyginti su vietinio tilto režimu, kuris jungia SoftEther virtualųjį šakotuvą su fiziniu tinklo adapteriu arba TAP įrenginiu.

Konfigūravimas šiuo atveju tampa sudėtingesnis, nes maršrutas vyksta branduolio lygiu naudojant Netfilter. Mūsų VDS yra sukurta Hyper-V, todėl paskutiniame žingsnyje sukuriame vietinį tiltą ir suaktyviname TAP įrenginį su komanda bridgecreate Suricate_VPN -device:suricate_vpn -tap:yes. Išėję iš šakotuvo valdymo konsolės, sistemoje pamatysime naują tinklo sąsają, kuriai dar nebuvo priskirtas IP:

ifconfig

Snort arba Suricata. 3 dalis: Biuro tinklo apsauga

Tada turėsite įjungti paketų nukreipimą tarp sąsajų (ip persiųsti), jei jis neaktyvus:

sudo nano /etc/sysctl.conf

Panaikinkite šios eilutės komentarą:

net.ipv4.ip_forward = 1

Išsaugokite failo pakeitimus, išeikite iš redaktoriaus ir pritaikykite juos naudodami šią komandą:

sudo sysctl -p

Toliau turime apibrėžti virtualiojo tinklo potinklį su fiktyviais IP (pavyzdžiui, 10.0.10.0/24) ir sąsajai priskirti adresą:

sudo ifconfig tap_suricata_vp 10.0.10.1/24

Tada reikia parašyti Netfilter taisykles.

1. Jei reikia, leiskite įeinančius paketus per klausymo prievadus („SoftEther“ patentuotas protokolas naudoja HTTPS ir 443 prievadą)

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. Nustatykite NAT nuo 10.0.10.0/24 potinklio iki pagrindinio serverio IP

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

3. Leisti perduoti paketus iš potinklio 10.0.10.0/24

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

4. Leisti perduoti paketus jau užmegztiems ryšiams

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

Proceso automatizavimą, kai sistema bus paleista iš naujo naudojant inicijavimo scenarijus, paliksime skaitytojams kaip namų darbus.

Jei norite automatiškai suteikti IP klientams, taip pat turėsite įdiegti tam tikrą DHCP paslaugą vietiniam tiltui. Tai užbaigia serverio sąranką ir galite pereiti prie klientų. SoftEther palaiko daugybę protokolų, kurių naudojimas priklauso nuo LAN įrangos galimybių.

netstat -ap |grep vpnserver

Snort arba Suricata. 3 dalis: Biuro tinklo apsauga

Kadangi mūsų bandomasis maršrutizatorius taip pat veikia naudojant Ubuntu, įdiekime paketus softether-vpnclient ir softether-vpncmd iš išorinės saugyklos, kad galėtume naudoti patentuotą protokolą. Turėsite paleisti klientą:

sudo vpnclient start

Norėdami sukonfigūruoti, naudokite vpncmd įrankį, pasirinkdami localhost kaip įrenginį, kuriame veikia vpnclient. Visos komandos atliekamos konsolėje: reikės susikurti virtualią sąsają (NicCreate) ir paskyrą (AccountCreate).

Kai kuriais atvejais turite nurodyti autentifikavimo metodą naudodami komandas AccountAnonymousSet, AccountPasswordSet, AccountCertSet ir AccountSecureCertSet. Kadangi nenaudojame DHCP, virtualaus adapterio adresas nustatomas rankiniu būdu.

Be to, turime įjungti ip peradresavimą (parinktis net.ipv4.ip_forward=1 faile /etc/sysctl.conf) ir sukonfigūruoti statinius maršrutus. Jei reikia, VDS su Suricata galite sukonfigūruoti prievado persiuntimą, kad galėtumėte naudoti vietiniame tinkle įdiegtas paslaugas. Atsižvelgiant į tai, tinklo sujungimas gali būti laikomas baigtu.

Mūsų siūloma konfigūracija atrodys maždaug taip:

Snort arba Suricata. 3 dalis: Biuro tinklo apsauga

Suricata nustatymas

В ankstesnis straipsnis kalbėjome apie du IDS veikimo režimus: per NFQUEUE eilę (NFQ režimas) ir per nulinę kopiją (AF_PACKET režimas). Antrasis reikalauja dviejų sąsajų, bet yra greitesnis – mes jį naudosime. Parametras pagal numatytuosius nustatymus nustatytas aplanke /etc/default/suricata. Taip pat turime redaguoti vars skyrių /etc/suricata/suricata.yaml, nustatydami virtualų potinklį kaip pagrindinį.

Snort arba Suricata. 3 dalis: Biuro tinklo apsauga

Norėdami iš naujo paleisti IDS, naudokite komandą:

systemctl restart suricata

Sprendimas paruoštas, dabar gali tekti patikrinti, ar jis atsparus kenkėjiškiems veiksmams.

Atakų modeliavimas

Koviniam išorinės IDS tarnybos naudojimui gali būti keli scenarijai:

Apsauga nuo DDoS atakų (pagrindinis tikslas)

Tokią parinktį sunku įgyvendinti įmonės tinkle, nes analizei skirti paketai turi patekti į sistemos sąsają, kuri žiūri į internetą. Net jei IDS juos blokuoja, klaidingas srautas gali sutrikdyti duomenų ryšį. Norėdami to išvengti, turite užsisakyti VPS su pakankamai produktyviu interneto ryšiu, kuris gali perduoti visą vietinio tinklo srautą ir visą išorinį srautą. Dažnai tai padaryti yra lengviau ir pigiau nei išplėsti biuro kanalą. Kaip alternatyvą verta paminėti specializuotas apsaugos nuo DDoS paslaugas. Jų paslaugų kaina yra panaši į virtualaus serverio kainą ir nereikalauja daug laiko reikalaujančios konfigūracijos, tačiau yra ir trūkumų - klientas už savo pinigus gauna tik DDoS apsaugą, o jo paties IDS gali būti sukonfigūruotas kaip jūs. Kaip.

Apsauga nuo kitų tipų išorinių atakų

Suricata gali susidoroti su bandymais išnaudoti įvairius įmonių tinklo paslaugų, pasiekiamų iš interneto (pašto serveris, žiniatinklio serveris ir žiniatinklio programos ir kt.), spragas. Paprastai tam IDS įdiegiamas LAN viduje po pasienio įrenginių, tačiau išnešimas į lauką turi teisę egzistuoti.

Apsauga nuo pašalinių asmenų

Nepaisant didžiausių sistemos administratoriaus pastangų, įmonės tinkle esantys kompiuteriai gali būti užkrėsti kenkėjiška programa. Be to, vietinėje teritorijoje kartais pasirodo chuliganų, kurie bando atlikti kokias nors nelegalias operacijas. Suricata gali padėti blokuoti tokius bandymus, nors norint apsaugoti vidinį tinklą, geriau jį įdiegti perimetro viduje ir naudoti kartu su valdomu jungikliu, kuris gali atspindėti srautą į vieną prievadą. Išorinis IDS šiuo atveju taip pat nėra nenaudingas – jis bent jau galės sugauti LAN tinkle gyvenančių kenkėjiškų programų bandymus susisiekti su išoriniu serveriu.

Pirmiausia sukursime dar vieną testą, atakuojantį VPS, o vietinio tinklo maršrutizatoriuje pakelsime „Apache“ su numatytąją konfigūraciją, po kurios persiųsime į jį 80-ąjį prievadą iš IDS serverio. Toliau imituosime DDoS ataką iš atakuojančio pagrindinio kompiuterio. Norėdami tai padaryti, atsisiųskite iš „GitHub“, sukompiliuokite ir paleiskite nedidelę „xerxes“ programą atakuojančiame mazge (gali tekti įdiegti 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

Jos darbo rezultatas buvo toks:

Snort arba Suricata. 3 dalis: Biuro tinklo apsauga

Suricata nutraukia piktadarį, o Apache puslapis atsidaro pagal nutylėjimą, nepaisant mūsų ekspromto atakos ir gana apmirusio „biuro“ (iš tikrųjų namų) tinklo kanalo. Rimtesnėms užduotims naudokite Metasploit sistema. Jis skirtas skverbties testavimui ir leidžia imituoti įvairias atakas. Montavimo instrukcijos yra prieinama projekto svetainėje. Po įdiegimo reikia atnaujinti:

sudo msfupdate

Norėdami išbandyti, paleiskite msfconsole.

Snort arba Suricata. 3 dalis: Biuro tinklo apsauga

Deja, naujausiose sistemos versijose nėra galimybės automatiškai nulaužti, todėl eksploatacijas teks rūšiuoti rankiniu būdu ir paleisti naudojant komandą use. Pirmiausia verta nustatyti prievadus, atidarytus užpultame kompiuteryje, pavyzdžiui, naudojant nmap (mūsų atveju jis bus visiškai pakeistas netstat užpultame pagrindiniame kompiuteryje), tada pasirinkite ir naudokite atitinkamą Metasploit moduliai

Yra ir kitų būdų, kaip patikrinti IDS atsparumą atakoms, įskaitant internetines paslaugas. Smalsumo sumetimais galite atlikti testavimą nepalankiausiomis sąlygomis naudodami bandomąją versiją IP stresas. Norint patikrinti reakciją į vidinių įsibrovėlių veiksmus, vienoje iš vietinio tinklo mašinų verta įdiegti specialius įrankius. Variantų yra labai daug ir karts nuo karto juos reikėtų pritaikyti ne tik eksperimentinei vietai, bet ir veikiančioms sistemoms, tik čia visai kita istorija.

Snort arba Suricata. 3 dalis: Biuro tinklo apsauga

Snort arba Suricata. 3 dalis: Biuro tinklo apsauga

Šaltinis: www.habr.com

Добавить комментарий