Kā ELK palÄ«dz droŔības inženieriem cÄ«nÄ«ties pret vietņu uzbrukumiem un mierÄ«gi gulēt

MÅ«su kiberaizsardzÄ«bas centrs ir atbildÄ«gs par klienta tÄ«mekļa infrastruktÅ«ras droŔību un atvaira uzbrukumus klientu vietnēm. Lai aizsargātu pret uzbrukumiem, mēs izmantojam FortiWeb tÄ«mekļa lietojumprogrammu ugunsmÅ«rus (WAF). Bet pat stilÄ«gākais WAF nav panaceja un nepasargā "no kastes" no mērÄ·tiecÄ«giem uzbrukumiem. 

Tāpēc papildus WAF izmantojam ELK. Tas palīdz apkopot visus notikumus vienuviet, uzkrāj statistiku, vizualizē to un ļauj laikus redzēt mērķtiecīgu uzbrukumu.

Å odien es jums pastāstÄ«Å”u sÄ«kāk, kā mēs Ŕķērsojām Ziemassvētku eglÄ«ti ar WAF un kas no tā sanāca.

Kā ELK palÄ«dz droŔības inženieriem cÄ«nÄ«ties pret vietņu uzbrukumiem un mierÄ«gi gulēt

Stāsts par vienu uzbrukumu: kā viss darbojās pirms pārejas uz ELK

MÅ«su mākonÄ« klients ir izvietojis lietojumprogrammu aiz mÅ«su WAF. No 10 000 lÄ«dz 100 000 lietotāju dienā pieslēdzās vietnei, pieslēgumu skaits sasniedza 20 miljonus dienā. No tiem 3-5 lietotāji bija iebrucēji un mēģināja uzlauzt vietni. 

FortiWeb diezgan viegli bloķēja parasto brutālo spēku no vienas IP adreses. Vietnes apmeklējumu skaits minÅ«tē bija lielāks nekā likumÄ«go lietotāju skaits. Mēs vienkārÅ”i iestatÄ«jām aktivitātes sliekŔņus no vienas adreses un atvairām uzbrukumu.

Daudz grÅ«tāk ir tikt galā ar "lēnajiem uzbrukumiem", kad uzbrucēji rÄ«kojas lēni un maskējas par parastiem klientiem. Viņi izmanto daudzas unikālas IP adreses. Šāda darbÄ«ba WAF neŔķita pēc milzÄ«ga brutāla spēka, to bija grÅ«tāk izsekot automātiski. Un pastāvēja arÄ« risks bloķēt parastos lietotājus. Mēs meklējām citas uzbrukuma pazÄ«mes un izveidojām politiku automātiskai IP adreÅ”u bloÄ·Ä“Å”anai, pamatojoties uz Å”o zÄ«mi. Piemēram, daudzām nelikumÄ«gām sesijām http pieprasÄ«juma galvenēs bija kopÄ«gi lauki. Šādi lauki bieži bija jāmeklē manuāli FortiWeb notikumu žurnālos. 

Tas kļuva garÅ” un neērti. FortiWeb standarta funkcionalitātē notikumi tiek ierakstÄ«ti tekstā 3 dažādos žurnālos: atklātie uzbrukumi, informācija par pieprasÄ«jumiem un sistēmas ziņojumi par WAF darbÄ«bu. Vienā minÅ«tē var notikt desmitiem vai pat simtiem uzbrukumu.

Ne tik daudz, bet jums ir manuāli jākāpj cauri vairākiem žurnāliem un jāatkārto daudzās rindās: 

Kā ELK palÄ«dz droŔības inženieriem cÄ«nÄ«ties pret vietņu uzbrukumiem un mierÄ«gi gulēt
Uzbrukuma žurnālā mēs redzam lietotāju adreses un darbÄ«bas veidu. 
 
Nepietiek vienkārÅ”i skenēt žurnāla tabulu. Lai atrastu visinteresantāko un noderÄ«gāko par uzbrukuma bÅ«tÄ«bu, jums jāielÅ«kojas konkrētā notikumā:

Kā ELK palÄ«dz droŔības inženieriem cÄ«nÄ«ties pret vietņu uzbrukumiem un mierÄ«gi gulēt
Izceltie lauki palīdz noteikt "lēnu uzbrukumu". Avots: ekrānuzņēmums no Fortinet vietne

Galvenā problēma ir tā, ka to var izdomāt tikai FortiWeb speciālists. Ja darba laikā vēl varētu izsekot aizdomÄ«gām darbÄ«bām reāllaikā, tad nakts incidentu izmeklÄ“Å”ana varētu aizkavēties. Kad FortiWeb politikas kaut kādu iemeslu dēļ nedarbojās, dežurējoÅ”ie nakts maiņas inženieri nevarēja novērtēt situāciju bez piekļuves WAF un pamodināja FortiWeb speciālistu. Vairākas stundas skatÄ«jāmies baļķus un atradām uzbrukuma brÄ«di. 

Ar Ŕādu informācijas apjomu ir grÅ«ti Ä«sumā saprast kopējo ainu un rÄ«koties proaktÄ«vi. Tad mēs nolēmām apkopot datus vienuviet, lai visu analizētu vizuālā veidā, atrastu uzbrukuma sākumu, noteiktu tā virzienu un bloÄ·Ä“Å”anas metodi. 

Kas tika izvēlēts

Pirmkārt, mēs apskatījām jau izmantotos risinājumus, lai nevajadzīgi nepavairotos entītijas.

Viens no pirmajiem variantiem bija Nagiosko izmantojam, lai uzraudzÄ«tu inženiertehniskā infrastruktÅ«ra, tÄ«kla infrastruktÅ«ra, ārkārtas brÄ«dinājumi. Apsargi to izmanto arÄ«, lai aizdomÄ«gas satiksmes gadÄ«jumā paziņotu dežurantiem, taču tas neprot savākt atŔķirÄ«gus baļķus un tāpēc pazÅ«d. 

Bija iespēja visu apvienot ar MySQL un PostgreSQL vai cita relāciju datu bāze. Bet, lai izvilktu datus, bija nepiecieÅ”ams noformēt savu pieteikumu. 

Kā baļķu savācējs mÅ«su uzņēmumā viņi arÄ« izmanto FortiAnalyzer no Fortinet. Bet Å”ajā gadÄ«jumā viņŔ arÄ« neiederējās. Pirmkārt, tas ir vairāk asināts darbam ar ugunsmÅ«ri FortiGate. Otrkārt, trÅ«ka daudzu iestatÄ«jumu, un mijiedarbÄ«bai ar to bija nepiecieÅ”amas lieliskas zināŔanas par SQL vaicājumiem. Un, treÅ”kārt, tā izmantoÅ”ana palielinātu pakalpojuma izmaksas klientam.   

Tā mēs nonācām pie atvērtā avota sejā ELK

Kāpēc izvēlēties ELK 

ELK ir atvērtā pirmkoda programmu kopums:

  • Elastikas meklÄ“Å”ana - laikrindu datu bāze, kas tikko izveidota darbam ar lielu teksta apjomu;
  • Logstash ā€“ datu vākÅ”anas mehānisms, kas var pārvērst žurnālus vēlamajā formātā; 
  • Kibana - labs vizualizētājs, kā arÄ« diezgan draudzÄ«gs interfeiss Elasticsearch pārvaldÄ«bai. Varat to izmantot, lai izveidotu grafikus, kurus dežurējoÅ”ie inženieri var uzraudzÄ«t naktÄ«. 

ELK uzņemÅ”anas slieksnis ir zems. Visas pamatfunkcijas ir bezmaksas. Kas vēl vajadzÄ«gs laimei.

Kā jūs to visu apvienojāt vienā sistēmā?

Izveidoja indeksus un atstāja tikai nepiecieÅ”amo informāciju. Mēs ielādējām visus trÄ«s FortiWEB žurnālus ELK - izvade bija indeksi. Tie ir faili ar visiem savāktajiem žurnāliem par periodu, piemēram, dienu. Ja mēs tos uzreiz vizualizētu, tad redzētu tikai uzbrukumu dinamiku. Lai iegÅ«tu sÄ«kāku informāciju, jums ir jāiekļaujas katrā uzbrukumā un jāaplÅ«ko konkrēti lauki.

Kā ELK palÄ«dz droŔības inženieriem cÄ«nÄ«ties pret vietņu uzbrukumiem un mierÄ«gi gulēt

Mēs sapratām, ka vispirms ir jāiestata nestrukturētas informācijas parsÄ“Å”ana. Mēs izmantojām garus laukus kā virknes, piemēram, ā€œZiņojumsā€ un ā€œURLā€, un analizējām tos, lai iegÅ«tu vairāk informācijas lēmumu pieņemÅ”anai. 

Piemēram, izmantojot parsÄ“Å”anu, mēs atseviŔķi izņēmām lietotāja atraÅ”anās vietu. Tas palÄ«dzēja nekavējoties izcelt uzbrukumus no ārvalstÄ«m Krievijas lietotāju vietnēm. Bloķējot visus savienojumus no citām valstÄ«m, mēs samazinājām uzbrukumu skaitu 2 reizes un varējām viegli tikt galā ar uzbrukumiem Krievijas iekÅ”ienē. 

Pēc parsÄ“Å”anas viņi sāka meklēt, kādu informāciju uzglabāt un vizualizēt. Visu atstāt žurnālā bija nepiemēroti: viena indeksa izmērs bija liels - 7 GB. ELK faila apstrāde prasÄ«ja ilgu laiku. Tomēr ne visa informācija bija noderÄ«ga. Kaut kas tika dublēts un aizņēma papildu vietu - bija nepiecieÅ”ams optimizēt. 

Sākumā mēs vienkārÅ”i izskatÄ«jām indeksu un noņēmām nevajadzÄ«gos notikumus. Tas izrādÄ«jās vēl neērtāks un ilgāks nekā darbs ar žurnāliem paŔā FortiWeb. VienÄ«gais pluss no "Ziemassvētku eglÄ«tes" Å”ajā posmā ir tas, ka uz viena ekrāna varējām vizualizēt lielu laika posmu. 

Nekritām izmisumā, turpinājām ēst kaktusu un pētÄ«t ELK un ticējām, ka izdosies iegÅ«t nepiecieÅ”amo informāciju. Pēc indeksu tÄ«rÄ«Å”anas mēs sākām vizualizēt, kas ir. Tātad mēs nonācām pie lieliem informācijas paneļiem. Iebāzām logrÄ«kus - vizuāli un eleganti, Ä«sta ŠLKa! 

Kā ELK palÄ«dz droŔības inženieriem cÄ«nÄ«ties pret vietņu uzbrukumiem un mierÄ«gi gulēt

NoÄ·erts uzbrukuma brÄ«dis. Tagad bija jāsaprot, kā diagrammā izskatās uzbrukuma sākums. Lai to noteiktu, mēs apskatÄ«jām servera atbildes lietotājam (atgrieÅ”anas kodus). MÅ«s interesēja servera atbildes ar Ŕādiem kodiem (rc): 

Kods (rc)

Nosaukums

Apraksts

0

DROP

Pieprasījums serverim ir bloķēts

200

Ok

Pieprasījums veiksmīgi apstrādāts

400

Slikts pieprasījums

Slikts pieprasījums

403

Aizliegts

Autorizācija liegta

500

IekŔējā servera kļūda

Pakalpojums nav pieejams

Ja kāds sāka uzbrukt vietnei, kodu attiecÄ«ba mainÄ«jās: 

  • Ja bija vairāk kļūdainu pieprasÄ«jumu ar kodu 400 un tikpat daudz parastu pieprasÄ«jumu ar kodu 200, tad kāds mēģināja uzlauzt vietni. 
  • Ja tajā paŔā laikā pieauga arÄ« pieprasÄ«jumi ar kodu 0, tad arÄ« FortiWeb politiÄ·i "redzēja" uzbrukumu un piemēroja tam blokus. 
  • Ja palielinājās ziņojumu skaits ar kodu 500, tad vietne Ŕīm IP adresēm nav pieejama - arÄ« sava veida bloÄ·Ä“Å”ana. 

TreÅ”ajā mēnesÄ« mēs bijām izveidojuÅ”i informācijas paneli Ŕīs darbÄ«bas izsekoÅ”anai.

Kā ELK palÄ«dz droŔības inženieriem cÄ«nÄ«ties pret vietņu uzbrukumiem un mierÄ«gi gulēt

Lai nepārraudzÄ«tu visu manuāli, mēs uzstādÄ«jām integrāciju ar Nagios, kas noteiktos intervālos aptaujāja ELK. Ja tas fiksēja sliekŔņa vērtÄ«bu sasniegÅ”anu pēc kodiem, tas nosÅ«tÄ«ja dežurantiem paziņojumu par aizdomÄ«gu darbÄ«bu. 

Apvienotās 4 diagrammas uzraudzÄ«bas sistēmā. Tagad bija svarÄ«gi grafikos redzēt brÄ«di, kad uzbrukums nav bloķēts un nepiecieÅ”ama inženiera iejaukÅ”anās. 4 dažādos grafikos mÅ«su acs bija aizmiglota. Tāpēc mēs apvienojām diagrammas un sākām visu novērot vienā ekrānā.

Uzraudzībā mēs vērojām, kā mainās dažādu krāsu diagrammas. Sarkanas krāsas uzliesmojums norādīja, ka uzbrukums ir sācies, savukārt oranžie un zilie grafiki rādīja FortiWeb reakciju:

Kā ELK palÄ«dz droŔības inženieriem cÄ«nÄ«ties pret vietņu uzbrukumiem un mierÄ«gi gulēt
Šeit viss ir kārtībā: bija "sarkano" aktivitāŔu uzliesmojums, taču FortiWeb tika galā un uzbrukuma grafiks kļuva tukŔs.

Mēs arÄ« izveidojām diagrammas piemēru, kurā nepiecieÅ”ama iejaukÅ”anās:

Kā ELK palÄ«dz droŔības inženieriem cÄ«nÄ«ties pret vietņu uzbrukumiem un mierÄ«gi gulēt
Šeit redzams, ka FortiWeb aktivitāte ir palielinājusies, bet sarkanais uzbrukuma grafiks nav samazinājies. Jums jāmaina WAF iestatījumi.

ArÄ« nakts incidentu izmeklÄ“Å”ana ir kļuvusi vienkārŔāka. Grafikā uzreiz redzams brÄ«dis, kad pienācis laiks Ä·erties pie vietnes aizstāvÄ«bas. 

Kā ELK palÄ«dz droŔības inženieriem cÄ«nÄ«ties pret vietņu uzbrukumiem un mierÄ«gi gulēt
Tā dažreiz notiek naktīs. Sarkanais grafiks - uzbrukums ir sācies. Zils - FortiWeb darbība. Uzbrukums nebija pilnībā bloķēts, nācās iejaukties.

Kur mēs ejam

Tagad mēs apmācām dežūras administratorus darbam ar ELK. Dežuranti mācās novērtēt situāciju informācijas panelÄ« un pieņemt lēmumu: ir pienācis laiks vērsties pie FortiWeb speciālista, vai arÄ« pietiks ar WAF politikām, lai automātiski atvairÄ«tu uzbrukumu. Tādā veidā mēs samazinām droŔības inženieru slodzi naktÄ« un sadalām atbalsta lomas sistēmas lÄ«menÄ«. Piekļuve FortiWeb paliek tikai kiberaizsardzÄ«bas centram, un tikai viņi veic izmaiņas WAF iestatÄ«jumos, kad tas ir steidzami nepiecieÅ”ams.

Mēs strādājam arÄ« pie klientu ziņoÅ”anas. Plānojam, ka dati par WAF darba dinamiku bÅ«s pieejami klienta personÄ«gajā kontā. ELK padarÄ«s situāciju skaidrāku bez nepiecieÅ”amÄ«bas atsaukties uz paÅ”u WAF.

Ja klients vēlas uzraudzÄ«t savu aizsardzÄ«bu reāllaikā, noderēs arÄ« ELK. Mēs nevaram atdot piekļuvi WAF, jo klienta iejaukÅ”anās darbā var ietekmēt pārējo. Bet jÅ«s varat paņemt atseviŔķu ELK un nodot to "paspēlēties". 

Tādi ir pēdējā laikā sakrājuÅ”ies Ziemassvētku eglÄ«tes izmantoÅ”anas scenāriji. Dalieties savās domās par to un neaizmirstiet iestatiet visu pareizilai izvairÄ«tos no datubāzes noplÅ«dēm. 

Avots: www.habr.com