Kako ELK pomaže sigurnosnim inženjerima da se bore protiv napada na web stranice i mirno spavaju

Naš centar za cyber odbranu odgovoran je za sigurnost klijentove web infrastrukture i odbija napade na web stranice klijenata. Da bismo se zaštitili od napada, koristimo zaštitne zidove FortiWeb Web aplikacije (WAF). Ali čak ni najhladniji WAF nije lijek i ne štiti "iz kutije" od ciljanih napada. 

Stoga, pored WAF-a, koristimo ELK. Pomaže u prikupljanju svih događaja na jednom mjestu, akumulira statistiku, vizualizira je i omogućava nam da na vrijeme vidimo ciljani napad.

Danas ću vam detaljnije reći kako smo ukrstili jelku sa WAF-om i šta je od toga proizašlo.

Kako ELK pomaže sigurnosnim inženjerima da se bore protiv napada na web stranice i mirno spavaju

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

U našem oblaku, korisnik je postavio aplikaciju iza našeg WAF-a. Od 10 do 000 korisnika dnevno se povezivalo na stranicu, broj konekcija je dostigao 100 miliona dnevno. Od toga, 000-20 korisnika su bili uljezi i pokušali su da hakuju sajt. 

FortiWeb je prilično lako blokirao uobičajenu grubu silu sa jedne IP adrese. Broj posjeta stranice u minuti bio je veći od broja legitimnih korisnika. Jednostavno smo postavili pragove aktivnosti sa jedne adrese i odbili napad.

Mnogo je teže izaći na kraj sa "sporim napadima", kada napadači djeluju sporo i maskiraju se u obične klijente. Koriste mnoge jedinstvene IP adrese. Takva aktivnost WAF-u nije izgledala kao ogromna gruba sila, bilo je teže pratiti je automatski. Postojao je i rizik od blokiranja normalnih korisnika. Potražili smo druge znakove napada i postavili politiku za automatsko blokiranje IP adresa na osnovu ovog 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 neprijatno. U standardnoj funkcionalnosti FortiWeb-a, događaji se bilježe u tekstu u 3 različita dnevnika: otkriveni napadi, informacije o zahtjevima i sistemske poruke o radu WAF-a. Desetine ili čak stotine napada mogu doći u minuti.

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

Kako ELK pomaže sigurnosnim inženjerima da se bore protiv napada na web stranice i mirno spavaju
U dnevniku napada vidimo adrese korisnika i prirodu aktivnosti. 
 
Nije dovoljno samo skenirati tabelu dnevnika. Da biste pronašli najzanimljivije i najkorisnije o prirodi napada, morate pogledati unutar određenog događaja:

Kako ELK pomaže sigurnosnim inženjerima da se bore protiv napada na web stranice i mirno spavaju
Označena polja pomažu u otkrivanju "sporog napada". Izvor: screenshot from Fortinet web stranica

Pa, glavni problem je što samo FortiWeb stručnjak može to shvatiti. Ako bismo tokom radnog vremena i dalje mogli pratiti sumnjive aktivnosti u realnom vremenu, onda bi istraga noćnih incidenata mogla biti odgođena. Kada FortiWeb politike iz nekog razloga nisu radile, dežurni inženjeri u noćnoj smjeni nisu mogli procijeniti situaciju bez pristupa WAF-u i probudili su stručnjaka za FortiWeb. Pregledali smo dnevnike nekoliko sati i pronašli trenutak napada. 

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

Šta je izabrano

Prije svega, pogledali smo rješenja koja se već koriste, kako ne bismo nepotrebno umnožavali entitete.

Jedna od prvih opcija je bila Nagioskoje koristimo za praćenje inženjerske infrastrukture, mrežna infrastruktura, hitna upozorenja. Zaštitari ga koriste i da obaveste dežurne u slučaju sumnjivog saobraćaja, ali ne zna kako da sakupi razbacane trupce i zato nestaje. 

Postojala je opcija da se sve agregira MySQL i PostgreSQL ili drugu relacionu bazu podataka. Ali da bi se izvukli podaci, bilo je potrebno oblikovati vašu aplikaciju. 

Kao sakupljač trupaca u našoj firmi se također koriste FortiAnalyzer od Fortinet. Ali u ovom slučaju, on se također nije uklapao. Prvo, više je izoštren za rad sa firewall-om FortiGate. Drugo, nedostajale su mnoge postavke, a interakcija s njima zahtijevala je odlično poznavanje SQL upita. I treće, njegova upotreba bi povećala cijenu usluge za korisnika.   

Ovako smo došli do otvorenog koda u licu ELK

Zašto odabrati ELK 

ELK je skup programa otvorenog koda:

  • Elasticsearch - baza podataka vremenskih serija, koja je upravo kreirana za rad sa velikim količinama teksta;
  • Logstash – mehanizam za prikupljanje podataka koji može pretvoriti dnevnike u željeni format; 
  • Kibana - dobar vizualizator, kao i prilično prijateljski interfejs za upravljanje Elasticsearch-om. Možete ga koristiti za izradu rasporeda koje dežurni inženjeri mogu pratiti noću. 

Ulazni prag za ELK je nizak. Sve osnovne funkcije su besplatne. Šta je još potrebno za sreću.

Kako ste sve to spojili u jedan sistem?

Kreirali indekse i ostavili samo potrebne informacije. Učitali smo sva tri FortiWEB dnevnika u ELK - izlaz su bili indeksi. To su datoteke sa svim prikupljenim evidencijama za određeni period, na primjer, jedan dan. Kada bismo ih odmah vizualizirali, vidjeli bismo samo dinamiku napada. Za detalje, morate "propasti" u svaki napad i pogledati određena polja.

Kako ELK pomaže sigurnosnim inženjerima da se bore protiv napada na web stranice i mirno spavaju

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

Na primjer, koristeći raščlanjivanje, zasebno smo izdvojili lokaciju korisnika. To je pomoglo da se odmah istaknu napadi iz inostranstva na web stranice za ruske korisnike. Blokiranjem svih veza iz drugih zemalja smanjili smo broj napada za 2 puta i lako se nosili sa napadima unutar Rusije. 

Nakon raščlanjivanja, počeli su tražiti koje informacije da pohrane i vizualiziraju. Ostavljanje svega u dnevniku bilo je neprikladno: veličina jednog indeksa bila je velika - 7 GB. ELK-u je trebalo dosta vremena da obradi fajl. Međutim, nisu sve informacije bile korisne. Nešto je duplicirano i zauzimalo dodatni prostor - bilo je potrebno optimizirati. 

U početku smo jednostavno pregledali indeks i uklonili nepotrebne događaje. Ispostavilo se da je ovo još nezgodnije i duže od rada sa zapisnicima na samom FortiWeb-u. Jedini plus od "božićne jelke" u ovoj fazi je što smo bili u mogućnosti da vizualiziramo 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 šta je. Tako smo došli do velikih kontrolnih tabli. Ubacili smo widgete - vizuelno i elegantno, pravi ËLKa! 

Kako ELK pomaže sigurnosnim inženjerima da se bore protiv napada na web stranice i mirno spavaju

Uhvaćen trenutak napada. Sada je bilo potrebno razumjeti kako početak napada izgleda na grafikonu. Da bismo ga otkrili, pogledali smo odgovore servera korisniku (povratni kodovi). Zanimali su nas odgovori servera sa ovakvim kodovima (rc): 

kod (rc)

Naslov

Opis

0

DROP

Zahtjev prema serveru je blokiran

200

Ok

Zahtjev je uspješno obrađen

400

Loš zahtjev

Loš zahtjev

403

zabranjen

Autorizacija odbijena

500

Unutrašnja greška servera

Usluga je nedostupna

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

  • Ako je bilo više pogrešnih zahteva sa šifrom 400, a isto toliko normalnih zahteva sa šifrom 200, onda je neko pokušavao da hakuje sajt. 
  • Ako su istovremeno rasli i zahtjevi sa šifrom 0, onda su i političari FortiWeb-a "vidjeli" napad i na njega primijenili blokade. 
  • Ako se povećao broj poruka sa kodom 500, tada stranica nije dostupna za ove IP adrese - također vrsta blokiranja. 

Do trećeg mjeseca smo postavili kontrolnu tablu za praćenje ove aktivnosti.

Kako ELK pomaže sigurnosnim inženjerima da se bore protiv napada na web stranice i mirno spavaju

Kako ne bismo sve pratili ručno, postavili smo integraciju sa Nagiosom, koji je u određenim intervalima anketirao ELK. Ukoliko je evidentirao dostizanje graničnih vrijednosti po šiframa, slao je obavijest dežurnim o sumnjivoj aktivnosti. 

Kombinovana 4 grafikona u sistemu praćenja. Sada je bilo važno na grafikonima vidjeti trenutak kada napad nije blokiran i potrebna je intervencija inženjera. Na 4 različita grafikona, naše oko je bilo zamagljeno. Stoga smo kombinovali grafikone i počeli sve da posmatramo na jednom ekranu.

Na monitoringu smo gledali kako se mijenjaju grafikoni različitih boja. Crveni prasak je ukazivao da je napad počeo, dok su narandžasti i plavi grafikoni pokazali reakciju FortiWeba:

Kako ELK pomaže sigurnosnim inženjerima da se bore protiv napada na web stranice i mirno spavaju
Ovdje je sve u redu: došlo je do naleta "crvenih" aktivnosti, ali FortiWeb se snašao i raspored napada je propao.

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

Kako ELK pomaže sigurnosnim inženjerima da se bore protiv napada na web stranice i mirno spavaju
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. Na grafikonu se odmah vidi trenutak kada je vrijeme da se dođe u odbranu stranice. 

Kako ELK pomaže sigurnosnim inženjerima da se bore protiv napada na web stranice i mirno spavaju
To se ponekad dešava noću. Crveni grafikon - napad je počeo. Plava - FortiWeb aktivnost. Napad nije bio potpuno blokiran, morali smo intervenisati.

Gdje idemo

Sada obučavamo dežurne administratore za rad sa ELK-om. Polaznici uče da procene situaciju na kontrolnoj tabli i donesu odluku: vreme je da se obrati FortiWeb stručnjaku, ili će politike na WAF-u biti dovoljne da automatski odbiju napad. Tako smanjujemo opterećenje inženjera informacione sigurnosti noću i dijelimo uloge u podršci na nivou sistema. Pristup FortiWeb-u ostaje samo Centru za sajber odbranu, a samo oni mijenjaju WAF postavke kada je to hitno potrebno.

Radimo i na izvještavanju za kupce. Planiramo da podaci o dinamici rada WAF-a budu dostupni na ličnom računu klijenta. ELK će razjasniti situaciju bez potrebe da se poziva na sam WAF.

Ukoliko kupac želi da prati sopstvenu zaštitu u realnom vremenu, dobro će doći i ELK. Ne možemo dati pristup WAF-u, jer intervencija kupca u radu može uticati na ostalo. Ali možete uzeti zaseban ELK i dati ga da se "igra". 

Ovo su scenariji za korištenje božićnog drvca koje smo nakupili u posljednje vrijeme. Podijelite svoje mišljenje o ovome i ne zaboravite podesiti sve kako trebakako bi se izbjeglo curenje baze podataka. 

izvor: www.habr.com