Kako ELK pomaže sigurnosnim inženjerima u borbi protiv napada na web stranice i mirnom snu

Naš centar za kibernetičku obranu odgovoran je za sigurnost klijentove web infrastrukture i odbija napade na klijentske stranice. Za zaštitu od napada koristimo FortiWeb Web Application Firewall (WAF). Ali ni najcool WAF nije lijek za sve i ne štiti "izvan kutije" od ciljanih napada. 

Stoga, uz WAF, koristimo LOS. Pomaže prikupiti sve događaje na jednom mjestu, prikuplja statistiku, vizualizira je i omogućuje nam da na vrijeme vidimo ciljani napad.

Danas ću vam detaljnije ispričati kako smo križali božićno drvce s WAF-om i što je iz toga proizašlo.

Kako ELK pomaže sigurnosnim inženjerima u borbi protiv napada na web stranice i mirnom snu

Priča o jednom napadu: kako je sve funkcioniralo prije prelaska na ELK

U našem oblaku korisnik je implementirao aplikaciju iza našeg WAF-a. Od 10 do 000 korisnika koji su se dnevno spajali na stranicu, broj konekcija dosegao je 100 milijuna dnevno. Od toga je 000-20 korisnika bilo uljeza i pokušalo je hakirati stranicu. 

FortiWeb je prilično lako blokirao uobičajeni brute force s jedne IP adrese. Broj posjeta stranici po minuti bio je veći od broja legitimnih korisnika. Jednostavno smo s jedne adrese postavili pragove aktivnosti i odbili napad.

Mnogo je teže nositi se sa "sporim napadima", kada napadači djeluju sporo i maskiraju se u obične klijente. Koriste mnoge jedinstvene IP adrese. WAF-u takva aktivnost nije izgledala kao golema gruba sila, bilo ju je teže pratiti automatski. A postojao je i rizik od blokiranja običnih korisnika. Tražili smo druge znakove napada i postavili politiku za automatsko blokiranje IP adresa na temelju tog znaka. Na primjer, mnoge nelegitimne sesije imale su zajednička polja u zaglavljima http zahtjeva. Često ste morali ručno tražiti takva polja u FortiWeb zapisnicima događaja. 

Postalo je dugo i neugodno. U standardnoj funkcionalnosti FortiWeba događaji se bilježe tekstualno u 3 različita zapisa: otkriveni napadi, informacije o zahtjevima i sistemske poruke o radu WAF-a. Deseci ili čak stotine napada mogu se dogoditi u minuti.

Ne toliko, ali morate se ručno penjati kroz nekoliko dnevnika i iterirati kroz mnogo redaka: 

Kako ELK pomaže sigurnosnim inženjerima u borbi protiv napada na web stranice i mirnom snu
U zapisniku napada vidimo korisničke adrese i prirodu aktivnosti. 
 
Nije dovoljno samo skenirati log tablicu. Da biste pronašli najzanimljivije i najkorisnije o prirodi napada, morate pogledati unutar određenog događaja:

Kako ELK pomaže sigurnosnim inženjerima u borbi protiv napada na web stranice i mirnom snu
Istaknuta polja pomažu u otkrivanju "sporog napada". Izvor: snimak zaslona iz Fortinet stranica

Pa, glavni problem je što samo stručnjak za FortiWeb to može shvatiti. Ako bismo tijekom radnog vremena i dalje mogli pratiti sumnjive aktivnosti u stvarnom vremenu, onda bi se istraga noćnih incidenata mogla odgoditi. Kada pravila FortiWeba iz nekog razloga nisu radila, dežurni inženjeri noćne smjene nisu mogli procijeniti situaciju bez pristupa WAF-u i probudili su stručnjaka za FortiWeb. Nekoliko sati smo pregledavali dnevnike i pronašli trenutak napada. 

Uz toliku količinu informacija, teško je na prvi pogled razumjeti širu sliku i djelovati proaktivno. Tada smo odlučili prikupiti podatke na jednom mjestu kako bismo u vizualnom obliku sve analizirali, pronašli početak napada, identificirali njegov smjer i način blokiranja. 

Što ste odabrali

Prije svega, pogledali smo rješenja koja su već u upotrebi, kako ne bismo nepotrebno množili entitete.

Jedna od prvih opcija bila je Nagioskoje koristimo za praćenje inženjerska infrastruktura, mrežna infrastruktura, hitna upozorenja. Zaštitari ga koriste i za dojavu službenicima u slučaju sumnjivog prometa, ali on ne zna skupljati različite zapise i stoga nestaje. 

Postojala je opcija da se sve sakupi MySQL i PostgreSQL ili drugu relacijsku bazu podataka. Ali da biste izvukli podatke, bilo je potrebno isklesati vašu aplikaciju. 

Kao sakupljač trupaca u našoj tvrtki također koriste FortiAnalyzer iz Fortineta. Ali u ovom slučaju, on također nije odgovarao. Prvo, više je izoštren za rad s vatrozidom FortiGate. Drugo, nedostajale su mnoge postavke, a interakcija s njim zahtijevala je izvrsno poznavanje SQL upita. I treće, njegova bi uporaba povećala cijenu usluge za kupca.   

Tako smo došli do otvorenog koda u lice LOS

Zašto odabrati ELK 

ELK je skup programa otvorenog koda:

  • Elasticsearch - baza podataka vremenskih serija, koja je upravo stvorena za rad s velikim količinama teksta;
  • logstash – mehanizam za prikupljanje podataka koji može pretvoriti zapisnike u željeni format; 
  • kibana - dobar vizualizator, kao i prilično prijateljsko sučelje za upravljanje Elasticsearchom. Možete ga koristiti za izradu rasporeda koje noću mogu nadzirati dežurni inženjeri. 

Ulazni prag za ELK je nizak. Sve osnovne značajke su besplatne. Što je još potrebno za sreću.

Kako ste sve to spojili u jedan sustav?

Napravio indekse i ostavio samo potrebne informacije. Učitali smo sva tri FortiWEB zapisnika u ELK - rezultat su bili indeksi. To su datoteke sa svim prikupljenim zapisima za razdoblje, na primjer, dan. Kad bismo ih odmah vizualizirali, vidjeli bismo samo dinamiku napada. Za detalje morate "upasti" u svaki napad i pogledati određena polja.

Kako ELK pomaže sigurnosnim inženjerima u borbi protiv napada na web stranice i mirnom snu

Shvatili smo da prvo moramo postaviti analizu nestrukturiranih informacija. Uzeli smo duga polja kao nizove, kao što su "Message" i "URL", i raščlanili ih kako bismo dobili više informacija za donošenje odluka. 

Na primjer, koristeći analizu, zasebno smo izvadili lokaciju korisnika. To je pomoglo da se odmah istaknu napadi iz inozemstva na stranice za ruske korisnike. Blokiranjem svih veza iz drugih zemalja smanjili smo broj napada za 2 puta i mogli smo se lako nositi s napadima unutar Rusije. 

Nakon analize, počeli su tražiti koje informacije pohraniti i vizualizirati. Ostavljanje svega u zapisniku bilo je neprikladno: veličina jednog indeksa bila je velika - 7 GB. ELK-u je trebalo dugo da obradi datoteku. Međutim, nisu sve informacije bile korisne. Nešto se dupliciralo i zauzimalo dodatni prostor - bilo je potrebno optimizirati. 

U početku smo samo pregledavali indeks i uklanjali nepotrebne događaje. To se pokazalo još nezgodnijim i duljim od rada s zapisnicima na samom FortiWebu. Jedini plus "božićnog drvca" u ovoj fazi je što smo mogli vizualizirati veliki vremenski period na jednom ekranu. 

Nismo očajavali, nastavili smo jesti kaktus i proučavati ELK i vjerovali da ćemo uspjeti izvući potrebne informacije. Nakon čišćenja indeksa, počeli smo vizualizirati što jest. Tako smo došli do velikih nadzornih ploča. Bockali smo widgete - vizualno i elegantno, prava ËLKa! 

Kako ELK pomaže sigurnosnim inženjerima u borbi protiv napada na web stranice i mirnom snu

Uhvaćen trenutak napada. Sada je trebalo razumjeti kako početak napada izgleda na karti. Kako bismo ga otkrili, pogledali smo odgovore poslužitelja korisniku (povratni kodovi). Zanimali su nas odgovori poslužitelja s takvim kodovima (rc): 

Šifra (rc)

ime

Opis

0

KAP

Zahtjev poslužitelju je blokiran

200

Ok

Zahtjev je uspješno obrađen

400

Loš zahtjev

Loš zahtjev

403

zabranjen

Autorizacija odbijena

500

Interna pogreška poslužitelja

Usluga je nedostupna

Ako je netko počeo napadati stranicu, promijenio se omjer kodova: 

  • Ako je bilo više pogrešnih zahtjeva s kodom 400, a isto toliko normalnih zahtjeva s kodom 200, onda je netko pokušavao hakirati stranicu. 
  • Ako su u isto vrijeme rasli i zahtjevi s kodom 0, onda su FortiWeb političari također "vidjeli" napad i primijenili ga blokade. 
  • Ako se broj poruka s kodom 500 povećao, tada stranica nije dostupna za te IP adrese - također neka vrsta blokiranja. 

Do trećeg mjeseca postavili smo nadzornu ploču za praćenje ove aktivnosti.

Kako ELK pomaže sigurnosnim inženjerima u borbi protiv napada na web stranice i mirnom snu

Kako ne bismo sve pratili ručno, postavili smo integraciju s Nagiosom koji je anketirao ELK u određenim intervalima. Ukoliko je evidentirao postizanje graničnih vrijednosti po šiframa, slao je obavijest dežurnim službenicima o sumnjivim aktivnostima. 

Kombinirane 4 karte u sustavu praćenja. Sada je bilo važno vidjeti na grafovima trenutak kada napad nije blokiran i potrebna je intervencija inženjera. Na 4 različita grafikona oko nam je bilo zamagljeno. Stoga smo kombinirali grafikone i počeli sve promatrati na jednom ekranu.

Pri praćenju smo promatrali kako se mijenjaju grafikoni različitih boja. Bljesak crvene boje označavao je da je napad započeo, dok su narančasti i plavi grafikoni pokazivali reakciju FortiWeba:

Kako ELK pomaže sigurnosnim inženjerima u borbi protiv napada na web stranice i mirnom snu
Ovdje je sve u redu: došlo je do porasta "crvene" aktivnosti, ali FortiWeb se nosio i raspored napada je pao na nulu.

Također smo za sebe nacrtali primjer grafikona koji zahtijeva intervenciju:

Kako ELK pomaže sigurnosnim inženjerima u borbi protiv napada na web stranice i mirnom snu
Ovdje možemo vidjeti da je FortiWeb povećao aktivnost, ali se crveni grafikon napada nije smanjio. Morate promijeniti WAF postavke.

Istraga noćnih incidenata također je postala lakša. Graf odmah pokazuje trenutak kada je vrijeme da se pristupi obrani stranice. 

Kako ELK pomaže sigurnosnim inženjerima u borbi protiv napada na web stranice i mirnom snu
To je ono što se ponekad događa noću. Crveni grafikon - napad je počeo. Plava - FortiWeb aktivnost. Napad nije bio potpuno blokiran, morali smo intervenirati.

Gdje idemo

Sada obučavamo dežurne administratore za rad s ELK-om. Poslužitelji uče procijeniti situaciju na nadzornoj ploči i donijeti odluku: vrijeme je da eskalirate stručnjaku za FortiWeb ili će pravila na WAF-u biti dovoljna za automatsko odbijanje napada. Tako noću smanjujemo opterećenje inženjera informacijske sigurnosti i dijelimo uloge u podršci na razini sustava. Pristup FortiWebu ostaje samo s cyber obrambenim centrom i samo oni mijenjaju WAF postavke kada je to hitno potrebno.

Također radimo na izvještavanju za kupce. Planiramo da podaci o dinamici rada WAF-a budu dostupni na osobnom računu klijenta. ELK će razjasniti situaciju bez potrebe da se poziva na sam WAF.

Ukoliko kupac želi pratiti vlastitu zaštitu u realnom vremenu, ELK će mu također dobro doći. Ne možemo dati pristup WAF-u, budući da korisnikova intervencija u radu može utjecati na ostalo. Ali možete pokupiti zaseban ELK i dati ga da se "igra". 

Ovo su scenariji korištenja božićnog drvca koje smo nakupili u posljednje vrijeme. Podijelite svoje mišljenje o ovome i ne zaboravite sve ispravno postavitikako biste izbjegli curenje baze podataka. 

Izvor: www.habr.com