Snort vai Suricata. 3. daļa: Biroja tīkla aizsardzība
Š iepriekÅ”Äjais raksts mÄs esam apskatÄ«juÅ”i, kÄ palaist stabilo Suricata versiju Ubuntu 18.04 LTS. IDS iestatÄ«Å”ana vienÄ mezglÄ un bezmaksas noteikumu kopu iespÄjoÅ”ana ir diezgan vienkÄrÅ”a. Å odien mÄs izdomÄsim, kÄ aizsargÄt korporatÄ«vo tÄ«klu, izmantojot visizplatÄ«tÄkos uzbrukumu veidus, izmantojot virtuÄlajÄ serverÄ« instalÄto Suricata. Lai to izdarÄ«tu, mums ir nepiecieÅ”ams VDS operÄtÄjsistÄmÄ Linux ar diviem skaitļoÅ”anas kodoliem. RAM apjoms ir atkarÄ«gs no slodzes: kÄdam pietiek ar 2 GB, nopietnÄkiem darbiem var bÅ«t nepiecieÅ”ami 4 vai pat 6. VirtuÄlÄs maŔīnas priekÅ”rocÄ«ba ir iespÄja eksperimentÄt: var sÄkt ar minimÄlu konfigurÄciju un palielinÄt resursus pÄc vajadzÄ«bas.
IDS pÄrvietoÅ”ana uz virtuÄlo maŔīnu vispirms var bÅ«t nepiecieÅ”ama testu veikÅ”anai. Ja jÅ«s nekad neesat nodarbojies ar Å”Ädiem risinÄjumiem, jums nevajadzÄtu steigties pasÅ«tÄ«t fizisko aparatÅ«ru un mainÄ«t tÄ«kla arhitektÅ«ru. VislabÄk ir palaist sistÄmu droÅ”i un rentabli, lai noteiktu skaitļoÅ”anas vajadzÄ«bas. Ir svarÄ«gi saprast, ka visa korporatÄ«vÄ trafika bÅ«s jÄnodod caur vienu ÄrÄju mezglu: lai savienotu vietÄjo tÄ«klu (vai vairÄkus tÄ«klus) ar VDS ar instalÄtu IDS Suricata, varat izmantot SoftEther - Viegli konfigurÄjams, vairÄku platformu VPN serveris, kas nodroÅ”ina spÄcÄ«gu Å”ifrÄÅ”anu. Biroja interneta savienojumam var nebÅ«t Ä«sta IP, tÄpÄc labÄk to iestatÄ«t VPS. Ubuntu repozitorijÄ nav gatavu pakotÅu, programmatÅ«ra bÅ«s jÄlejupielÄdÄ vai nu no projekta vietnevai no pakalpojuma ÄrÄjÄ repozitorija Launchpad (ja tu viÅam uzticies):
Servera konfigurÄÅ”anai tiek izmantota Ä«paÅ”a komandrindas utilÄ«ta:
sudo vpncmd
MÄs nerunÄsim sÄ«kÄk par iestatÄ«jumu: procedÅ«ra ir diezgan vienkÄrÅ”a, tÄ ir labi aprakstÄ«ta daudzÄs publikÄcijÄs un nav tieÅ”i saistÄ«ta ar raksta tÄmu. ÄŖsÄk sakot, pÄc vpncmd palaiÅ”anas jums ir jÄatlasa 1. vienums, lai pÄrietu uz servera pÄrvaldÄ«bas konsoli. Lai to izdarÄ«tu, jums jÄievada nosaukums localhost un jÄnospiež enter, nevis jÄievada centrmezgla nosaukums. KonsolÄ ar komandu serverpasswordset tiek iestatÄ«ta administratora parole, tiek dzÄsts DEFAULT virtuÄlais centrmezgls (komanda hubdelete) un tiek izveidots jauns ar nosaukumu Suricata_VPN, kÄ arÄ« tiek iestatÄ«ta tÄ parole (komanda hubcreate). PÄc tam jums ir jÄdodas uz jaunÄ centrmezgla pÄrvaldÄ«bas konsoli, izmantojot komandu Hub Suricata_VPN, lai izveidotu grupu un lietotÄju, izmantojot komandas groupcreate un usercreate. LietotÄja parole tiek iestatÄ«ta, izmantojot userpasswordset.
SoftEther atbalsta divus satiksmes pÄrsÅ«tÄ«Å”anas režīmus: SecureNAT un Local Bridge. PirmÄ ir patentÄta tehnoloÄ£ija virtuÄla privÄtÄ tÄ«kla izveidei ar savu NAT un DHCP. SecureNAT neprasa TUN/TAP vai Netfilter vai citus ugunsmÅ«ra iestatÄ«jumus. MarÅ”rutÄÅ”ana neietekmÄ sistÄmas kodolu, un visi procesi tiek virtualizÄti un darbojas jebkurÄ VPS/VDS neatkarÄ«gi no izmantotÄ hipervizora. TÄ rezultÄtÄ palielinÄs CPU noslodze un lÄnÄks Ätrums salÄ«dzinÄjumÄ ar vietÄjÄ tilta režīmu, kas savieno SoftEther virtuÄlo centrmezglu ar fizisko tÄ«kla adapteri vai TAP ierÄ«ci.
KonfigurÄcija Å”ajÄ gadÄ«jumÄ kļūst sarežģītÄka, jo marÅ”rutÄÅ”ana notiek kodola lÄ«menÄ«, izmantojot Netfilter. MÅ«su VDS ir veidota uz Hyper-V, tÄpÄc pÄdÄjÄ darbÄ«bÄ mÄs izveidojam lokÄlo tiltu un aktivizÄjam TAP ierÄ«ci ar komandu bridgecreate Suricate_VPN -device:suricate_vpn -tap:yes. PÄc izieÅ”anas no centrmezgla pÄrvaldÄ«bas konsoles sistÄmÄ redzÄsim jaunu tÄ«kla saskarni, kurai vÄl nav pieŔķirts IP:
ifconfig
PÄc tam jums bÅ«s jÄiespÄjo pakeÅ”u marÅ”rutÄÅ”ana starp saskarnÄm (ip uz priekÅ”u), ja tÄ ir neaktÄ«va:
sudo nano /etc/sysctl.conf
Atceliet Å”Ädas rindas komentÄrus:
net.ipv4.ip_forward = 1
SaglabÄjiet izmaiÅas failÄ, izejiet no redaktora un lietojiet tÄs ar Å”Ädu komandu:
sudo sysctl -p
TÄlÄk mums ir jÄdefinÄ apakÅ”tÄ«kls virtuÄlajam tÄ«klam ar fiktÄ«viem IP (piemÄram, 10.0.10.0/24) un interfeisam jÄpieŔķir adrese:
sudo ifconfig tap_suricata_vp 10.0.10.1/24
Tad jums ir jÄraksta Netfilter noteikumi.
1. Ja nepiecieÅ”ams, atļaujiet ienÄkoÅ”Äs paketes noklausÄ«Å”anÄs portos (SoftEther patentÄtais protokols izmanto HTTPS un 443. portu)
3. Atļaut pÄrsÅ«tÄ«t pakeÅ”u no apakÅ”tÄ«kla 10.0.10.0/24
sudo iptables -A FORWARD -s 10.0.10.0/24 -j ACCEPT
4. Atļaujiet nodot paketes jau izveidotiem savienojumiem
sudo iptables -A FORWARD -p all -m state --state ESTABLISHED,RELATED -j ACCEPT
Procesa automatizÄciju, kad sistÄma tiks restartÄta, izmantojot inicializÄcijas skriptus, kÄ mÄjasdarbu atstÄsim lasÄ«tÄju ziÅÄ.
Ja vÄlaties automÄtiski pieŔķirt IP klientiem, jums bÅ«s jÄinstalÄ arÄ« kÄds DHCP pakalpojums vietÄjam tiltam. Tas pabeidz servera iestatÄ«Å”anu, un jÅ«s varat doties uz klientiem. SoftEther atbalsta daudzus protokolus, kuru izmantoÅ”ana ir atkarÄ«ga no LAN aprÄ«kojuma iespÄjÄm.
netstat -ap |grep vpnserver
TÄ kÄ mÅ«su testa marÅ”rutÄtÄjs darbojas arÄ« ar Ubuntu, instalÄsim softether-vpnclient un softether-vpncmd pakotnes no ÄrÄjÄs krÄtuves, lai izmantotu patentÄto protokolu. Jums bÅ«s jÄpalaiž klients:
sudo vpnclient start
Lai konfigurÄtu, izmantojiet utilÄ«tu vpncmd, atlasot localhost kÄ maŔīnu, kurÄ darbojas vpnclient. Visas komandas tiek veiktas konsolÄ: jums bÅ«s jÄizveido virtuÄlais interfeiss (NicCreate) un konts (AccountCreate).
Dažos gadÄ«jumos ir jÄnorÄda autentifikÄcijas metode, izmantojot komandas AccountAnonymousSet, AccountPasswordSet, AccountCertSet un AccountSecureCertSet. TÄ kÄ mÄs neizmantojam DHCP, virtuÄlÄ adaptera adrese tiek iestatÄ«ta manuÄli.
TurklÄt mums ir jÄiespÄjo ip forward (parametrs net.ipv4.ip_forward=1 failÄ /etc/sysctl.conf) un jÄkonfigurÄ statiskie marÅ”ruti. Ja nepiecieÅ”ams, VDS ar Suricata varat konfigurÄt portu pÄradresÄciju, lai izmantotu vietÄjÄ tÄ«klÄ instalÄtos pakalpojumus. Å ajÄ sakarÄ tÄ«kla apvienoÅ”anu var uzskatÄ«t par pabeigtu.
Š iepriekÅ”Äjais raksts mÄs runÄjÄm par diviem IDS darbÄ«bas režīmiem: caur NFQUEUE rindu (NFQ režīms) un caur nulles kopiju (AF_PACKET režīms). Otrajam ir nepiecieÅ”amas divas saskarnes, bet tas ir ÄtrÄks - mÄs to izmantosim. Parametrs pÄc noklusÄjuma ir iestatÄ«ts mapÄ /etc/default/suricata. Mums ir arÄ« jÄrediÄ£Ä sadaļa vars mapÄ /etc/suricata/suricata.yaml, iestatot virtuÄlo apakÅ”tÄ«klu kÄ mÄjas lapu.
Lai restartÄtu IDS, izmantojiet komandu:
systemctl restart suricata
RisinÄjums ir gatavs, tagad jums, iespÄjams, bÅ«s jÄpÄrbauda tÄ izturÄ«ba pret ļaunprÄtÄ«gÄm darbÄ«bÄm.
Uzbrukumu simulÄÅ”ana
ÄrÄja IDS pakalpojuma kaujas izmantoÅ”anai var bÅ«t vairÄki scenÄriji:
AizsardzÄ«ba pret DDoS uzbrukumiem (galvenais mÄrÄ·is)
Å Ädu iespÄju ir grÅ«ti ieviest korporatÄ«vajÄ tÄ«klÄ, jo analÄ«zei paredzÄtajÄm paketÄm ir jÄnokļūst sistÄmas saskarnÄ, kas skatÄs uz internetu. Pat ja IDS tos bloÄ·Ä, neÄ«stÄ trafika var pÄrtraukt datu savienojumu. Lai no tÄ izvairÄ«tos, jums ir jÄpasÅ«ta VPS ar pietiekami produktÄ«vu interneta pieslÄgumu, kas var nodot visu lokÄlÄ tÄ«kla trafiku un visu ÄrÄjo trafiku. Bieži vien to ir vieglÄk un lÄtÄk izdarÄ«t nekÄ paplaÅ”inÄt biroja kanÄlu. KÄ alternatÄ«vu ir vÄrts pieminÄt specializÄtos pakalpojumus aizsardzÄ«bai pret DDoS. ViÅu pakalpojumu izmaksas ir salÄ«dzinÄmas ar virtuÄlÄ servera izmaksÄm, un tam nav nepiecieÅ”ama laikietilpÄ«ga konfigurÄÅ”ana, taÄu ir arÄ« trÅ«kumi - klients par savu naudu saÅem tikai DDoS aizsardzÄ«bu, savukÄrt savu IDS var konfigurÄt kÄ jÅ«s patÄ«k.
AizsardzÄ«ba pret cita veida ÄrÄjiem uzbrukumiem
Suricata spÄj tikt galÄ ar mÄÄ£inÄjumiem izmantot dažÄdas ievainojamÄ«bas korporatÄ«vajos tÄ«kla pakalpojumos, kas pieejami no interneta (pasta serveris, tÄ«mekļa serveris un tÄ«mekļa lietojumprogrammas utt.). Parasti Å”im nolÅ«kam IDS tiek uzstÄdÄ«ts LAN iekÅ”pusÄ pÄc robežierÄ«cÄm, bet izÅemÅ”anai ÄrpusÄ ir tiesÄ«bas pastÄvÄt.
Aizsardzība no iekŔienes
Neskatoties uz sistÄmas administratora pÅ«lÄm, korporatÄ«vajÄ tÄ«klÄ esoÅ”ie datori var tikt inficÄti ar ļaunprÄtÄ«gu programmatÅ«ru. TurklÄt vietÄjÄ teritorijÄ dažkÄrt parÄdÄs huligÄni, kuri cenÅ”as veikt kÄdas nelikumÄ«gas darbÄ«bas. Suricata var palÄ«dzÄt bloÄ·Ät Å”Ädus mÄÄ£inÄjumus, lai gan, lai aizsargÄtu iekÅ”Äjo tÄ«klu, labÄk to uzstÄdÄ«t perimetrÄ un izmantot kopÄ ar pÄrvaldÄ«tu slÄdzi, kas var atspoguļot trafiku uz vienu portu. ArÄ« ÄrÄjais IDS Å”ajÄ gadÄ«jumÄ nav bezjÄdzÄ«gs ā vismaz tas spÄs notvert LAN mÄ«toÅ”Äs ļaunprogrammatÅ«ras mÄÄ£inÄjumus sazinÄties ar ÄrÄju serveri.
SÄkumÄ mÄs izveidosim vÄl vienu testu, kas uzbrÅ«k VPS, un vietÄjÄ tÄ«kla marÅ”rutÄtÄjÄ mÄs paaugstinÄsim Apache ar noklusÄjuma konfigurÄciju, pÄc tam no IDS servera uz to pÄrsÅ«tÄ«sim 80. portu. TÄlÄk mÄs simulÄsim DDoS uzbrukumu no uzbrÅ«koÅ”a saimniekdatora. Lai to izdarÄ«tu, lejupielÄdÄjiet no GitHub, kompilÄjiet un palaidiet nelielu xerxes programmu uzbrukuma mezglÄ (iespÄjams, jums bÅ«s jÄinstalÄ gcc pakotne):
Suricata nogriež ļaundari, un Apache lapa tiek atvÄrta pÄc noklusÄjuma, neskatoties uz mÅ«su improvizÄto uzbrukumu un diezgan miruÅ”o "biroja" (faktiski mÄjas) tÄ«kla kanÄlu. NopietnÄkiem uzdevumiem jums vajadzÄtu izmantot Metasploit sistÄma. Tas ir paredzÄts iespieÅ”anÄs pÄrbaudei un ļauj simulÄt dažÄdus uzbrukumus. UzstÄdÄ«Å”anas instrukcijas pieejama projekta mÄjaslapÄ. PÄc instalÄÅ”anas ir nepiecieÅ”ams atjauninÄjums:
sudo msfupdate
Lai pÄrbaudÄ«tu, palaidiet msfconsole.
DiemžÄl jaunÄkajÄm ietvara versijÄm nav iespÄjas automÄtiski uzlauzt, tÄpÄc exploiti bÅ«s jÄkÄrto manuÄli un jÄpalaiž, izmantojot komandu use. Vispirms ir vÄrts noteikt portus, kas ir atvÄrti uzbrukuÅ”ajÄ datorÄ, piemÄram, izmantojot nmap (mÅ«su gadÄ«jumÄ tas tiks pilnÄ«bÄ aizstÄts ar netstat uzbruktajÄ resursdatorÄ), un pÄc tam atlasiet un izmantojiet atbilstoÅ”o Metasploit moduļi.
Ir arÄ« citi veidi, kÄ pÄrbaudÄ«t IDS noturÄ«bu pret uzbrukumiem, tostarp tieÅ”saistes pakalpojumi. ZinÄtkÄres labad varat organizÄt stresa testÄÅ”anu, izmantojot izmÄÄ£inÄjuma versiju IP stresa izraisÄ«tÄjs. Lai pÄrbaudÄ«tu reakciju uz iekÅ”Äjo iebrucÄju darbÄ«bÄm, ir vÄrts instalÄt Ä«paÅ”us rÄ«kus vienÄ no vietÄjÄ tÄ«kla maŔīnÄm. Variantu ir ļoti daudz un ik pa laikam tÄs jÄpiemÄro ne tikai eksperimentÄlajai vietai, bet arÄ« darba sistÄmÄm, tikai tas ir pavisam cits stÄsts.