Kuinka ELK auttaa tietoturvainsinöörejä torjumaan verkkosivustojen hyökkäyksiä ja nukkumaan rauhallisesti

Kyberpuolustuskeskuksemme vastaa asiakkaiden verkkoinfrastruktuurin turvallisuudesta ja torjuu asiakassivustoihin kohdistuvia hyökkäyksiä. Käytämme FortiWeb-verkkosovelluspalomuuria (WAF) suojaamaan hyökkäyksiltä. Mutta hienoinkaan WAF ei ole ihmelääke eikä suojaa heti laatikosta kohdistetuilta hyökkäyksiltä. 

Siksi käytämme WAF:n lisäksi HIRVI. Se auttaa keräämään kaikki tapahtumat yhteen paikkaan, keräämään tilastoja, visualisoi ne ja antaa meille mahdollisuuden nähdä kohdistettu hyökkäys ajoissa.

Tänään kerron teille tarkemmin, kuinka ylitimme "joulukuusen" WAFilla ja mitä siitä tuli.

Kuinka ELK auttaa tietoturvainsinöörejä torjumaan verkkosivustojen hyökkäyksiä ja nukkumaan rauhallisesti

Yhden hyökkäyksen tarina: kuinka kaikki toimi ennen siirtymistä ELK:hen

Asiakkaalla on pilvessämme käyttöön sovellus, joka on WAF:n takana. Sivustolle liittyi 10 000 - 100 000 käyttäjää päivässä, yhteyksien määrä nousi 20 miljoonaan päivässä. Näistä 3-5 käyttäjää oli hyökkääjiä ja yritti hakkeroida sivuston. 

FortiWeb esti tavallisen brute force -muodon yhdestä IP-osoitteesta melko helposti. Sivuston osumien määrä minuutissa oli suurempi kuin laillisten käyttäjien. Asetimme yksinkertaisesti aktiivisuusrajat yhdestä osoitteesta ja torjuimme hyökkäyksen.

On paljon vaikeampaa torjua "hitaita hyökkäyksiä", kun hyökkääjät toimivat hitaasti ja naamioituvat tavallisiksi asiakkaiksi. He käyttävät monia ainutlaatuisia IP-osoitteita. Tällainen toiminta ei näyttänyt WAF:lle massiivisesta raakavoimasta, vaan sitä oli vaikeampi seurata automaattisesti. On myös olemassa vaara, että normaalit käyttäjät estetään. Etsimme muita merkkejä hyökkäyksestä ja määritimme käytännön estää IP-osoitteet automaattisesti tämän merkin perusteella. Esimerkiksi monien laittomien istuntojen HTTP-pyyntöotsikoissa oli yhteiset kentät. Näitä kenttiä piti usein etsiä manuaalisesti FortiWebin tapahtumalokeista. 

Se osoittautui pitkäksi ja epämukavaksi. FortiWebin vakiotoiminnassa tapahtumat tallennetaan tekstinä kolmeen eri lokiin: havaitut hyökkäykset, pyyntötiedot ja järjestelmäviestit WAF:n toiminnasta. Kymmeniä tai jopa satoja hyökkäystapahtumia voi saapua minuutissa.

Ei niin paljon, mutta sinun on kiivettävä manuaalisesti useiden lokien läpi ja iteroitava useiden rivien läpi: 

Kuinka ELK auttaa tietoturvainsinöörejä torjumaan verkkosivustojen hyökkäyksiä ja nukkumaan rauhallisesti
Hyökkäyslokissa näemme käyttäjien osoitteet ja toiminnan luonteen. 
 
Pelkkä lokitaulukon skannaus ei riitä. Löytääksesi mielenkiintoisimman ja hyödyllisimmän tiedon hyökkäyksen luonteesta, sinun on tutkittava tiettyä tapahtumaa:

Kuinka ELK auttaa tietoturvainsinöörejä torjumaan verkkosivustojen hyökkäyksiä ja nukkumaan rauhallisesti
Korostetut kentät auttavat havaitsemaan "hitaan hyökkäyksen". Lähde: kuvakaappaus kohteesta Fortinet verkkosivuilla

No, tärkein ongelma on, että vain FortiWeb-asiantuntija voi selvittää tämän. Vaikka työaikana pystyimme edelleen seuraamaan epäilyttävää toimintaa reaaliajassa, yöaikaisten tapausten tutkinta voi kestää kauemmin. Kun FortiWeb-käytännöt eivät jostain syystä toimineet, päivystävät yövuoroinsinöörit eivät pystyneet arvioimaan tilannetta ilman pääsyä WAF:iin ja herättivät FortiWeb-asiantuntijan. Selasimme useiden tuntien lokeja ja löysimme hyökkäyksen hetken. 

Tällaisilla tietomäärillä on vaikea ensisilmäyksellä ymmärtää kokonaisuutta ja toimia ennakoivasti. Sitten päätimme kerätä tiedot yhteen paikkaan analysoidaksemme kaiken visuaalisessa muodossa, löytääksemme hyökkäyksen alun, tunnistaaksemme sen suunnan ja estomenetelmän. 

Mistä valitsit?

Ensin tarkasteltiin jo käytössä olevia ratkaisuja, jotta kokonaisuudet ei moninkertaistuisi tarpeettomasti.

Yksi ensimmäisistä vaihtoehdoista oli Nagiosjoita käytämme seurantaan tekninen infrastruktuuri, verkkoinfrastruktuuria, hälytyksiä hätätilanteista. Vartijat käyttävät sitä myös ilmoittamaan päivystäjälle epäilyttävästä liikenteestä, mutta se ei osaa kerätä hajallaan olevia tukkeja, joten sitä ei enää tarvita. 

Siellä oli mahdollisuus yhdistää kaikki käyttämällä MySQL ja PostgreSQL tai muu relaatiotietokanta. Mutta tietojen poistamiseksi sinun oli luotava oma sovellus. 

Yrityksemme käyttää myös FortiAnalyzer Fortinetista. Mutta se ei sopinut tähänkään tapaukseen. Ensinnäkin se on räätälöity toimimaan palomuurin kanssa FortiGate. Toiseksi, monet asetukset puuttuivat, ja vuorovaikutus sen kanssa vaati erinomaista SQL-kyselyiden tuntemusta. Ja kolmanneksi sen käyttö lisäisi palvelun hintaa asiakkaalle.   

Näin pääsimme avoimeen lähdekoodiin muodossa HIRVI

Miksi valita ELK 

ELK on joukko avoimen lähdekoodin ohjelmia:

  • Elasticsearch – aikasarjatietokanta, joka on erityisesti luotu käsittelemään suuria tekstimääriä;
  • Logstash – tiedonkeruumekanismi, joka voi muuntaa lokit haluttuun muotoon; 
  • Kibana – hyvä visualisoija sekä melko ystävällinen käyttöliittymä Elasticsearchin hallintaan. Voit käyttää sitä kaavioiden rakentamiseen, joita päivystävät insinöörit voivat tarkkailla yöllä. 

ELK:n pääsykynnys on matala. Kaikki perusominaisuudet ovat ilmaisia. Mitä muuta tarvitaan onneen?

Kuinka kokosimme kaiken yhdeksi järjestelmäksi?

Loimme indeksit ja jätimme vain tarpeelliset tiedot. Latasimme kaikki kolme FortiWEB-lokia ELK:hen ja tulos oli indeksit. Nämä ovat tiedostoja, joissa on kaikki kerätyt lokit tietyltä ajanjaksolta, esimerkiksi päivältä. Jos visualisoimme ne välittömästi, näkisimme vain hyökkäysten dynamiikan. Yksityiskohtia varten sinun täytyy "pudota" jokaiseen hyökkäykseen ja tarkastella tiettyjä kenttiä.

Kuinka ELK auttaa tietoturvainsinöörejä torjumaan verkkosivustojen hyökkäyksiä ja nukkumaan rauhallisesti

Ymmärsimme, että meidän on ensin määritettävä jäsentämättömän tiedon analyysi. Otimme pitkiä kenttiä merkkijonojen muodossa, kuten "Message" ja "URL", ja jäsensimme ne saadaksemme lisätietoja päätöksentekoa varten. 

Esimerkiksi jäsentämisen avulla tunnistimme erikseen käyttäjän sijainnin. Tämä auttoi välittömästi korostamaan ulkomailta tulleita hyökkäyksiä venäläisten käyttäjien sivustoille. Estämällä kaikki yhteydet muista maista pienensimme hyökkäysten määrää puoleen ja pystyimme käsittelemään Venäjän sisäisiä hyökkäyksiä rauhallisesti. 

Jäsentämisen jälkeen aloimme etsiä, mitä tietoja tallentaa ja visualisoida. Oli epäkäytännöllistä jättää kaikkea päiväkirjaan: yhden indeksin koko oli suuri - 7 Gt. ELK:lla kesti kauan käsitellä tiedostoa. Kaikista tiedoista ei kuitenkaan ollut hyötyä. Jotain kopioitiin ja se vei ylimääräistä tilaa - se piti optimoida. 

Aluksi vain skannatimme hakemiston ja poistimme tarpeettomat tapahtumat. Tämä osoittautui vieläkin hankalammaksi ja pidempään kuin itse FortiWebissä työskenteleminen lokien kanssa. "Joulupuun" ainoa etu tässä vaiheessa on, että pystyimme visualisoimaan suuren ajanjakson yhdelle näytölle. 

Emme vaipuneet epätoivoon, jatkoimme kaktuksen syömistä, ELK:n opiskelua ja uskoimme saavamme tarvittavan tiedon. Indeksien puhdistamisen jälkeen aloimme visualisoida, mitä meillä oli. Näin pääsimme suuriin kojetauluihin. Kokeilimme joitain widgetejä - visuaalisesti ja tyylikkäästi, todellinen joulukuusi! 

Kuinka ELK auttaa tietoturvainsinöörejä torjumaan verkkosivustojen hyökkäyksiä ja nukkumaan rauhallisesti

Hyökkäyksen hetki tallennettiin. Nyt meidän piti ymmärtää, miltä hyökkäyksen alku näyttää kaaviossa. Sen havaitsemiseksi tarkastelimme palvelimen vastauksia käyttäjälle (palautuskoodit). Olimme kiinnostuneita palvelinvastauksista seuraavilla koodeilla (rc): 

Koodi (rc)

Nimi

Kuvaus

0

DROP

Pyyntö palvelimelle on estetty

200

Ok

Pyyntö käsitelty onnistuneesti

400

Huono pyyntö

Virheellinen pyyntö

403

kielletty

Valtuutus evätty

500

Internal Server Error

Palvelu ei ole käytettävissä

Jos joku alkoi hyökätä sivustoa vastaan, koodien suhde muuttui: 

  • Jos virheellisiä pyyntöjä koodilla 400 oli enemmän, mutta normaaleja pyyntöjä koodilla 200 oli jäljellä sama määrä, se tarkoittaa, että joku yritti hakkeroida sivustoa. 
  • Jos samaan aikaan myös pyynnöt koodilla 0 lisääntyivät, niin myös FortiWeb-poliitikot "näkivät" hyökkäyksen ja asettivat siihen estoja. 
  • Jos koodilla 500 olevien viestien määrä lisääntyi, se tarkoittaa, että sivusto ei ole käytettävissä näille IP-osoitteille - myös eräänlainen esto. 

Kolmannella kuukaudella olimme perustaneet kojelaudan seurataksemme tällaista toimintaa.

Kuinka ELK auttaa tietoturvainsinöörejä torjumaan verkkosivustojen hyökkäyksiä ja nukkumaan rauhallisesti

Jotta kaikkea ei valvottaisi manuaalisesti, loimme integraation Nagiosin kanssa, joka kysyi ELK:ta tietyin väliajoin. Jos havaitsin koodeilla saavutettuja kynnysarvoja, lähetin päivystäjälle ilmoituksen epäilyttävästä toiminnasta. 

Yhdistetty 4 grafiikkaa valvontajärjestelmässä. Nyt oli tärkeää nähdä kaavioista hetki, jolloin hyökkäystä ei estetty ja tarvittiin insinöörin väliintuloa. 4 eri kartalla silmämme hämärtyivät. Siksi yhdistimme kaaviot ja aloimme seurata kaikkea yhdeltä näytöltä.

Seurannan aikana katselimme, kuinka eri väriset kaaviot muuttuivat. Punainen roiske osoitti, että hyökkäys oli alkanut, kun taas oranssit ja siniset kaaviot osoittivat FortiWebin vastauksen:

Kuinka ELK auttaa tietoturvainsinöörejä torjumaan verkkosivustojen hyökkäyksiä ja nukkumaan rauhallisesti
Täällä on kaikki hyvin: "punaista" aktiivisuutta oli aalto, mutta FortiWeb selvisi siitä ja hyökkäysaikataulu meni tyhjäksi.

Piirimme myös itsellemme esimerkin kaaviosta, joka vaatii puuttumista:

Kuinka ELK auttaa tietoturvainsinöörejä torjumaan verkkosivustojen hyökkäyksiä ja nukkumaan rauhallisesti
Tässä näemme, että FortiWeb on lisännyt aktiivisuutta, mutta punainen hyökkäyskaavio ei ole laskenut. Sinun on muutettava WAF-asetuksiasi.

Myös yötapahtumien tutkiminen on helpottunut. Kaaviossa näkyy heti hetki, jolloin on aika tulla suojaamaan sivustoa. 

Kuinka ELK auttaa tietoturvainsinöörejä torjumaan verkkosivustojen hyökkäyksiä ja nukkumaan rauhallisesti
Näin käy joskus yöllä. Punainen kaavio – hyökkäys on alkanut. Sininen – FortiWeb-toiminta. Hyökkäys ei ollut täysin estetty, joten minun piti puuttua asiaan.

Minne olemme menossa?

Koulutamme parhaillaan päivystysjohtajia työskentelemään ELK:n kanssa. Päivystävät oppivat arvioimaan tilannetta kojelaudalla ja tekemään päätöksen: on aika eskaloida FortiWeb-asiantuntijalle tai WAF:n käytännöt riittävät torjumaan hyökkäyksen automaattisesti. Näin vähennämme tietoturvainsinöörien yötyötä ja jaamme tukirooleja järjestelmätasolla. Pääsy FortiWebiin jää vain kyberpuolustuskeskukselle, ja vain he tekevät muutoksia WAF-asetuksiin, kun se on ehdottoman välttämätöntä.

Pyrimme myös raportoimaan asiakkaillemme. Suunnittelemme, että tiedot WAF-toiminnan dynamiikasta ovat saatavilla asiakkaan henkilökohtaisella tilillä. ELK tekee tilanteesta läpinäkyvämmän ilman, että tarvitsee itse ottaa yhteyttä WAFiin.

Jos asiakas haluaa valvoa suojautumistaan ​​reaaliajassa, ELK on myös hyödyllinen. Emme voi luovuttaa pääsyä WAF:iin, koska asiakkaan puuttuminen työhön voi vaikuttaa muihin. Mutta voit poimia erillisen ELK:n ja antaa sen "leikkiä". 

Nämä ovat äskettäin keräämiämme "joulukuusen" käyttöskenaarioita. Jaa ajatuksesi tästä asiasta äläkä unohda määritä kaikki oikeintietokannan vuotojen välttämiseksi. 

Lähde: will.com