Hoe't ELK befeiligingsingenieurs helpt te bestriden fan webside-oanfallen en rêstich sliepe

Us sintrum foar cyberdefinsje is ferantwurdlik foar de feiligens fan 'e webynfrastruktuer fan kliïnten en stribbet oanfallen op kliïntsites ôf. Wy brûke FortiWeb webapplikaasje-firewalls (WAF) om te beskermjen tsjin oanfallen. Mar sels de coolste WAF is gjin panacea en beskermet net út 'e doaze fan doelgerichte oanfallen. 

Dêrom, neist WAF wy brûke ELK. It helpt om alle eveneminten op ien plak te sammeljen, statistiken sammelje, se visualisearje en lit ús op 'e tiid in rjochte oanfal sjen.

Hjoed sil ik jo yn mear detail fertelle hoe't wy de "krystbeam" oerstutsen hawwe mei WAF en wat der út kaam.

Hoe't ELK befeiligingsingenieurs helpt te bestriden fan webside-oanfallen en rêstich sliepe

It ferhaal fan ien oanfal: hoe't alles wurke foar de oergong nei ELK

De klant hat in applikaasje ynset yn ús wolk dy't efter ús WAF is. Fan 10 oant 000 brûkers per dei ferbûn mei de side, berikte it oantal ferbiningen 100 miljoen per dei. Dêrfan wiene 000-20 brûkers oanfallers en besochten de side te hacken. 

FortiWeb blokkearre de gewoane brute krêftfoarm fan ien IP-adres frij maklik. It oantal hits per minuut nei de side wie heger dan dat fan legitime brûkers. Wy sette gewoan aktiviteitsdrompels fan ien adres ôf en kearden de oanfal ôf.

It is folle dreger om "stadige oanfallen" te bestriden, as oanfallers stadichoan hannelje en har ferklaaie as gewoane kliïnten. Se brûke in protte unike IP-adressen. Sokke aktiviteit like foar WAF net op in massive brute krêft; it wie dreger om it automatysk te folgjen. D'r wie ek in risiko om normale brûkers te blokkearjen. Wy sochten nei oare tekens fan in oanfal en konfigureare in belied om IP-adressen automatysk te blokkearjen op basis fan dit teken. Bygelyks, in protte illegitime sesjes hiene mienskiplike fjilden yn 'e HTTP-fersykkoppen. Dizze fjilden moasten faaks mei de hân socht wurde yn FortiWeb-evenemintlogs. 

It draaide lang en ûngemaklik. Yn standert FortiWeb-funksjonaliteit wurde eveneminten yn tekst opnommen yn 3 ferskillende logs: ûntdutsen oanfallen, fersykynformaasje en systeemberjochten oer WAF-operaasje. Tsientallen of sels hûnderten oanfalseveneminten kinne yn in minút oankomme.

Net sa folle, mar jo moatte mei de hân troch ferskate logs klimme en troch in protte rigels iterearje: 

Hoe't ELK befeiligingsingenieurs helpt te bestriden fan webside-oanfallen en rêstich sliepe
Yn it oanfallogboek sjogge wy brûkersadressen en de aard fan aktiviteit. 
 
It is net genôch om gewoan de logtabel te scannen. Om de meast nijsgjirrige en brûkbere ynformaasje te finen oer de aard fan 'e oanfal, moatte jo yn in spesifyk barren sjen:

Hoe't ELK befeiligingsingenieurs helpt te bestriden fan webside-oanfallen en rêstich sliepe
De markearre fjilden helpe om in "stadige oanfal" te detektearjen. Boarne: skermprint fan Fortinet webside

No, it wichtichste probleem is dat allinich in FortiWeb-spesjalist dit kin útfine. Wylst wy yn wurktiden noch fertochte aktiviteit yn realtime kontrolearje koene, koe it ûndersyk nei nachtlike ynsidinten langer duorje. Doe't FortiWeb-belied om ien of oare reden net wurke, wiene de yngenieurs fan 'e nachtploegen yn tsjinst net yn steat om de situaasje te beoardieljen sûnder tagong ta de WAF en makken de FortiWeb-spesjalist wekker. Wy seagen troch ferskate oeren logs en fûnen it momint fan 'e oanfal. 

Mei sokke folumes ynformaasje is it lestich om it grutte byld op it earste each te begripen en proaktyf te hanneljen. Doe besleaten wy gegevens op ien plak te sammeljen om alles yn in fisuele foarm te analysearjen, it begjin fan 'e oanfal te finen, de rjochting en metoade fan blokkearjen te identifisearjen. 

Wat hasto keazen út?

As earste hawwe wy sjoen nei de oplossings dy't al yn gebrûk binne om entiteiten net ûnnedich te fermannichfâldigjen.

Ien fan de earste opsjes wie Nagiosdy't wy brûke foar tafersjoch engineering ynfrastruktuer, netwurk ynfrastruktuer, warskôgingen oer needsituaasjes. Befeiligers brûke it ek om tsjinstoffisieren te melden yn gefal fan fertocht ferkear, mar it wit net hoe't se ferspraat logs sammelje en is dêrom net mear nedich. 

D'r wie in opsje om alles mei help te aggregearjen MySQL en PostgreSQL of oare relaasje databank. Mar om gegevens út te lûken, moasten jo jo eigen applikaasje oanmeitsje. 

Us bedriuw brûkt ek FortiAnalyzer út Fortinet. Mar it paste yn dit gefal ek net. As earste is it mear oanpast om te wurkjen mei in firewall FortiGate. Twads misten in protte ynstellings, en ynteraksje dêrmei easke poerbêste kennis fan SQL-fragen. En as tredde soe it gebrûk de kosten fan 'e tsjinst foar de klant ferheegje.   

Dit is hoe't wy kamen ta iepen boarne yn 'e foarm fan ELK

Wêrom kieze ELK 

ELK is in set fan iepen boarne programma's:

  • Elastyskesearch - in tiidreeksdatabank, dy't spesifyk makke is om te wurkjen mei grutte folumes tekst;
  • logstash - in meganisme foar gegevenssammeling dat logboeken kin konvertearje yn it winske formaat; 
  • kibana - in goede visualizer, lykas ek in frij freonlike interface foar it behearen fan Elasticsearch. Jo kinne it brûke om grafiken te bouwen dy't yngenieurs op plicht nachts kinne kontrolearje. 

De yntreedrompel foar ELK is leech. Alle basisfunksjes binne fergees. Wat is oars nedich foar lok?

Hoe hawwe wy it allegear byinoar set yn ien systeem?

Wy makken yndeksen en lieten allinich de nedige ynformaasje oer. Wy laden alle trije FortiWEB-logs yn ELK en de útfier wie yndeksen. Dit binne triemmen mei alle sammele logs foar in perioade, bygelyks in dei. As wy se fuortendaliks visualisearre, soene wy ​​allinich de dynamyk fan 'e oanfallen sjen. Foar details moatte jo elke oanfal "falje" en nei spesifike fjilden sjen.

Hoe't ELK befeiligingsingenieurs helpt te bestriden fan webside-oanfallen en rêstich sliepe

Wy realisearre dat wy earst de analyze fan unstrukturearre ynformaasje moatte ynstelle. Wy namen lange fjilden yn 'e foarm fan snaren, lykas "Berjocht" en "URL", en analysearren se om mear ynformaasje te krijen foar beslútfoarming. 

Bygelyks, mei it brûken fan parsing, identifisearren wy de lokaasje fan de brûker apart. Dit holp om oanfallen út it bûtenlân op siden foar Russyske brûkers fuortendaliks te markearjen. Troch alle ferbiningen út oare lannen te blokkearjen, fermindere wy it oantal oanfallen mei de helte en koenen wy rêstich omgean mei oanfallen binnen Ruslân. 

Nei it parsearjen begûnen wy te sykjen nei hokker ynformaasje te bewarjen en te visualisearjen. It wie ûnpraktysk om alles yn it tydskrift te litten: de grutte fan ien yndeks wie grut - 7 GB. ELK hat lang duorre om it bestân te ferwurkjen. Lykwols, net alle ynformaasje wie nuttich. Iets waard duplikearre en naam ekstra romte yn - it moast optimalisearre wurde. 

Earst hawwe wy de yndeks gewoan skansearre en ûnnedige eveneminten fuortsmiten. Dit blykte noch ûnhandiger en langer te wêzen as it wurkjen mei logs op FortiWeb sels. It ienige foardiel fan 'e "krystbeam" op dit poadium is dat wy in grutte perioade op ien skerm kinne visualisearje. 

Wy wanhope net, bleauwen kaktus ite, studearje ELK en leauden dat wy de nedige ynformaasje útpakke soene. Nei it skjinmeitsjen fan de yndeksen begûnen wy te visualisearjen wat wy hiene. Dit is hoe't wy by grutte dashboards kamen. Wy hawwe wat widgets besocht - visueel en elegant, in echte krystbeam! 

Hoe't ELK befeiligingsingenieurs helpt te bestriden fan webside-oanfallen en rêstich sliepe

It momint fan de oanfal waard opnommen. No moasten wy begripe hoe't it begjin fan in oanfal derút sjocht op 'e grafyk. Om it te detektearjen, seagen wy nei de antwurden fan 'e tsjinner op' e brûker (weromkoades). Wy wiene ynteressearre yn serverantwurden mei de folgjende koades (rc): 

Koade (rc)

Titel

beskriuwing

0

FALLE

It fersyk oan de tsjinner is blokkearre

200

Ok

Fersyk mei súkses ferwurke

400

Minne fersyk

Ûnjildich fersyk

403

Ferbean

Autorisaasje wegere

500

Ynterne server flater

Tsjinst is net beskikber

As immen begon de side oan te fallen, feroare de ferhâlding fan koades: 

  • As d'r mear ferkearde oanfragen wiene mei koade 400, mar itselde oantal normale oanfragen mei koade 200 bleaunen, betsjut dit dat ien besocht de side te hacken. 
  • As tagelyk fersiken mei koade 0 ek tanommen, dan hawwe FortiWeb politisy ek "seagen" de oanfal en tapast blokken oan it. 
  • As it oantal berjochten mei koade 500 tanommen is, betsjut dit dat de side net beskikber is foar dizze IP-adressen - ek in soarte fan blokkearjen. 

Tsjin 'e tredde moanne hienen wy in dashboard ynsteld om sokke aktiviteit te folgjen.

Hoe't ELK befeiligingsingenieurs helpt te bestriden fan webside-oanfallen en rêstich sliepe

Om net alles mei de hân te kontrolearjen, sette wy yntegraasje op mei Nagios, dy't ELK op bepaalde yntervallen ûnderfrege. As ik drompelwearden ûntdutsen berikt troch koades, stjoerde ik in notifikaasje nei de tsjinstoffisieren oer fertochte aktiviteit. 

Kombinearre 4 grafiken yn it tafersjochsysteem. No wie it wichtich om op 'e grafiken it momint te sjen dat de oanfal net blokkearre waard en in yntervinsje fan in yngenieur nedich wie. Op 4 ferskillende charts wiene ús eagen wazig. Dêrom kombineare wy de charts en begon alles op ien skerm te kontrolearjen.

Tidens tafersjoch seagen wy hoe't grafiken fan ferskate kleuren feroaren. In plons fan read liet sjen dat de oanfal begon wie, wylst oranje en blauwe grafiken it antwurd fan FortiWeb sjen litte:

Hoe't ELK befeiligingsingenieurs helpt te bestriden fan webside-oanfallen en rêstich sliepe
Alles is hjir goed: d'r wie in tanimming fan "reade" aktiviteit, mar FortiWeb koe dermei om en it oanfalskema kaam op neat.

Wy hawwe ek foar ússels in foarbyld tekene fan in grafyk dy't yntervinsje fereasket:

Hoe't ELK befeiligingsingenieurs helpt te bestriden fan webside-oanfallen en rêstich sliepe
Hjir sjogge wy dat FortiWeb aktiviteit hat ferhege, mar de reade oanfalgraf is net fermindere. Jo moatte jo WAF-ynstellingen feroarje.

It ûndersykjen fan nachtlike ynsidinten is ek makliker wurden. De grafyk toant fuortendaliks it momint dat it tiid is om te kommen om de side te beskermjen. 

Hoe't ELK befeiligingsingenieurs helpt te bestriden fan webside-oanfallen en rêstich sliepe
Dit is wat soms nachts bart. Reade grafyk - de oanfal is begûn. Blau - FortiWeb-aktiviteit. De oanfal wie net hielendal blokkearre, dus ik moast yngripe.

Wêr binne wy ​​hinne?

Wy traine op it stuit plichtbehearders om mei ELK te wurkjen. Dejingen dy't tsjinst leare om de situaasje op it dashboard te beoardieljen en in beslút te nimmen: it is tiid om te eskalearjen nei in FortiWeb-spesjalist, of it belied op 'e WAF is genôch om in oanfal automatysk ôf te kearen. Op dizze manier ferminderje wy nachts de lêst op yngenieurs foar ynformaasjebefeiliging en ferdiele wy stiperollen op systeemnivo. Tagong ta FortiWeb bliuwt allinich by it cyberdefinsjesintrum, en allinich meitsje se wizigingen oan WAF-ynstellingen as absolút nedich.

Wy wurkje ek oan rapportaazje foar klanten. Wy planne dat gegevens oer de dynamyk fan WAF-operaasje beskikber binne yn it persoanlike akkount fan 'e kliïnt. ELK sil de situaasje transparanter meitsje sûnder dat se sels kontakt opnimme moatte mei de WAF.

As de klant har beskerming yn realtime kontrolearje wol, komt ELK ek goed fan pas. Wy kinne net jaan fuort tagong ta WAF, sûnt klant ynterferinsje yn it wurk kin beynfloedzje oaren. Mar jo kinne ophelje in aparte ELK en jou it oan "boartsje" mei. 

Dit binne de senario's foar it brûken fan 'e "krystbeam" dy't wy koartlyn hawwe sammele. Diel jo ideeën oer dizze saak en ferjit net konfigurearje alles goedom databaselekken te foarkommen. 

Boarne: www.habr.com