Kiel ELK helpas sekurecajn inĝenierojn batali retejajn atakojn kaj dormi trankvile

Nia ciberdefenda centro respondecas pri la sekureco de la interreta infrastrukturo de klientoj kaj forpuŝas atakojn sur klientejoj. Ni uzas FortiWeb TTT-aplikajn fajroŝirmilojn (WAF) por protekti kontraŭ atakoj. Sed eĉ la plej bonega WAF ne estas panaceo kaj ne protektas ekster la skatolo kontraŭ celitaj atakoj. 

Tial, krom WAF ni uzas ELK. Ĝi helpas kolekti ĉiujn eventojn en unu loko, amasigas statistikojn, bildigas ilin kaj permesas al ni vidi celitan atakon ĝustatempe.

Hodiaŭ mi rakontos al vi pli detale, kiel ni transiris la "Kristnaskan arbon" kun WAF kaj kio el ĝi eliris.

Kiel ELK helpas sekurecajn inĝenierojn batali retejajn atakojn kaj dormi trankvile

La historio de unu atako: kiel ĉio funkciis antaŭ la transiro al ELK

La kliento havas aplikaĵon deplojitan en nia nubo, kiu estas malantaŭ nia WAF. De 10 000 ĝis 100 000 uzantoj konektitaj al la retejo ĉiutage, la nombro da konektoj atingis 20 milionojn tage. El tiuj, 3-5 uzantoj estis atakantoj kaj provis haki la retejon. 

FortiWeb sufiĉe facile blokis la kutiman brutfortan formon de unu IP-adreso. La nombro da trafoj por minuto al la retejo estis pli alta ol tiu de legitimaj uzantoj. Ni simple starigis agadsojlojn de unu adreso kaj forpuŝis la atakon.

Estas multe pli malfacile batali "malrapidajn atakojn", kiam atakantoj agas malrapide kaj maskas sin kiel ordinaraj klientoj. Ili uzas multajn unikajn IP-adresojn. Tia agado ne aspektis kiel masiva krudforto al WAF; estis pli malfacile spuri ĝin aŭtomate. Ankaŭ estis risko bloki normalajn uzantojn. Ni serĉis aliajn signojn de atako kaj agordis politikon por aŭtomate bloki IP-adresojn bazitajn sur ĉi tiu signo. Ekzemple, multaj ekstergeedzaj sesioj havis komunajn kampojn en la HTTP-petokapoj. Ĉi tiuj kampoj ofte devis esti serĉataj permane en FortiWeb-okazaĵoj. 

Ĝi rezultis longa kaj malkomforta. En norma FortiWeb-funkcio, eventoj estas registritaj en teksto en 3 malsamaj protokoloj: detektitaj atakoj, petaj informoj kaj sistemaj mesaĝoj pri WAF-operacio. Dekoj aŭ eĉ centoj da atakaj eventoj povas alveni en minuto.

Ne tiom, sed vi devas mane grimpi tra pluraj protokoloj kaj ripeti multajn liniojn: 

Kiel ELK helpas sekurecajn inĝenierojn batali retejajn atakojn kaj dormi trankvile
En la atakprotokolo ni vidas uzantajn adresojn kaj la naturon de agado. 
 
Ne sufiĉas simple skani la protokoltabelon. Por trovi la plej interesajn kaj utilajn informojn pri la naturo de la atako, vi devas rigardi enen specifa evento:

Kiel ELK helpas sekurecajn inĝenierojn batali retejajn atakojn kaj dormi trankvile
La emfazitaj kampoj helpas detekti "malrapidan atakon". Fonto: ekrankopio de Fortinet retejo

Nu, la plej grava problemo estas, ke nur specialisto de FortiWeb povas eltrovi tion. Dum laborhoroj ni ankoraŭ povis monitori suspektindan agadon en reala tempo, la esploro pri noktaj okazaĵoj povus daŭri pli longe. Kiam la politikoj de FortiWeb ial ne funkciis, la deĵorantaj noktaj inĝenieroj ne povis taksi la situacion sen aliro al la WAF kaj vekis la specialiston de FortiWeb. Ni trarigardis plurajn horojn da ŝtipoj kaj trovis la momenton de la atako. 

Kun tiaj volumoj de informoj, estas malfacile kompreni la grandan bildon unuavide kaj agi proaktive. Tiam ni decidis kolekti datumojn en unu loko por analizi ĉion en vida formo, trovi la komencon de la atako, identigi ĝian direkton kaj metodon de blokado. 

El kio vi elektis?

Antaŭ ĉio, ni rigardis la jam uzatajn solvojn por ne multobligi entojn senbezone.

Unu el la unuaj ebloj estis Nagioskiun ni uzas por monitorado inĝenieristiko infrastrukturo, reto infrastrukturo, atentigoj pri krizaj situacioj. Sekurecgardistoj ankaŭ uzas ĝin por sciigi deĵorajn oficistojn en kazo de suspektinda trafiko, sed ĝi ne scias kiel kolekti disajn ŝtipojn kaj tial ne plu bezonas. 

Estis eblo aldoni ĉion uzante MySQL kaj PostgreSQL aŭ alia rilata datumbazo. Sed por eltiri datumojn, vi devis krei vian propran aplikaĵon. 

Nia kompanio ankaŭ uzas FortiAnalyzer el Fortineto. Sed ĝi ankaŭ ne konvenis en ĉi tiu kazo. Unue, ĝi estas pli adaptita por labori kun fajroŝirmilo FortiGate. Due, multaj agordoj mankis, kaj interago kun ĝi postulis bonegan scion pri SQL-demandoj. Kaj trie, ĝia uzo pliigus la koston de la servo por la kliento.   

Jen kiel ni venis al malferma fonto en formo de ELK

Kial elekti ELK 

ELK estas aro de malfermkodaj programoj:

  • Elasta esploro – datumbazo de temposerio, kiu estis specife kreita por labori kun grandaj volumoj da teksto;
  • Logstash - datumkolekta mekanismo kiu povas konverti ŝtipojn al la dezirata formato; 
  • Kibana - bona vidigilo, same kiel sufiĉe amika interfaco por administri Elasticsearch. Vi povas uzi ĝin por konstrui grafikaĵojn, kiujn inĝenieroj deĵorantaj povas kontroli nokte. 

La enira sojlo al ELK estas malalta. Ĉiuj bazaj funkcioj estas senpagaj. Kion alian necesas por feliĉo?

Kiel ni kunmetis ĉion en ununuran sistemon?

Ni kreis indeksojn kaj lasis nur la necesajn informojn. Ni ŝargis ĉiujn tri FortiWEB-protokolojn en ELK kaj la eligo estis indeksoj. Ĉi tiuj estas dosieroj kun ĉiuj kolektitaj protokoloj dum periodo, ekzemple, tage. Se ni tuj bildigus ilin, ni nur vidus la dinamikon de la atakoj. Por detaloj, vi devas "fali en" ĉiun atakon kaj rigardi specifajn kampojn.

Kiel ELK helpas sekurecajn inĝenierojn batali retejajn atakojn kaj dormi trankvile

Ni konstatis, ke unue ni devas starigi la analizon de nestrukturitaj informoj. Ni prenis longajn kampojn en formo de ŝnuroj, kiel "Mesaĝo" kaj "URL", kaj analizis ilin por akiri pli da informoj por decidado. 

Ekzemple, uzante analizon, ni aparte identigis la lokon de la uzanto. Ĉi tio helpis tuj reliefigi atakojn el eksterlando sur retejoj por rusaj uzantoj. Blokante ĉiujn ligojn de aliaj landoj, ni reduktis la nombron da atakoj je duono kaj povis trankvile trakti atakojn ene de Rusio. 

Post analizo, ni komencis serĉi kiajn informojn stoki kaj bildigi. Estis nepraktike lasi ĉion en la revuo: la grandeco de unu indekso estis granda - 7 GB. ELK prenis longan tempon por prilabori la dosieron. Tamen ne ĉiuj informoj estis utilaj. Io estis duobligita kaj okupis kroman spacon - ĝi devis esti optimumigita. 

Komence ni simple skanis la indekson kaj forigis nenecesajn eventojn. Ĉi tio rezultis eĉ pli maloportuna kaj pli longa ol labori kun protokoloj sur FortiWeb mem. La sola avantaĝo de la "Kristnaska arbo" en ĉi tiu etapo estas, ke ni povis bildigi grandan tempon sur unu ekrano. 

Ni ne malesperis, daŭre manĝis kakton, studis ELK kaj kredis, ke ni povos ĉerpi la necesajn informojn. Post purigado de la indeksoj, ni komencis bildigi tion, kion ni havis. Jen kiel ni venis al grandaj paneloj. Ni provis kelkajn fenestraĵojn - videble kaj elegante, vera kristnaska arbo! 

Kiel ELK helpas sekurecajn inĝenierojn batali retejajn atakojn kaj dormi trankvile

La momento de la atako estis registrita. Nun ni bezonis kompreni kiel aspektas la komenco de atako sur la grafikaĵo. Por detekti ĝin, ni rigardis la respondojn de la servilo al la uzanto (revenkodoj). Ni interesiĝis pri servilaj respondoj kun la sekvaj kodoj (rc): 

Kodo (rc)

nomo

Priskribo

0

GUTI

La peto al la servilo estas blokita

200

Ok

Peto procesita sukcese

400

Malbona Peto

Nevalida Peto

403

malpermesita

Rajtigo rifuzita

500

Interna Servilo Eraro

Servo ne disponeblas

Se iu komencis ataki la retejon, la proporcio de kodoj ŝanĝiĝis: 

  • Se estis pli da eraraj petoj kun kodo 400, sed la sama nombro da normalaj petoj kun kodo 200 restis, tio signifas, ke iu provis haki la retejon. 
  • Se samtempe ankaŭ pliiĝis petoj kun kodo 0, tiam ankaŭ politikistoj de FortiWeb "vidis" la atakon kaj aplikis blokojn al ĝi. 
  • Se la nombro da mesaĝoj kun kodo 500 pliiĝis, tio signifas, ke la retejo ne estas disponebla por ĉi tiuj IP-adresoj - ankaŭ speco de blokado. 

Ĝis la tria monato, ni starigis panelon por spuri tian agadon.

Kiel ELK helpas sekurecajn inĝenierojn batali retejajn atakojn kaj dormi trankvile

Por ne kontroli ĉion permane, ni starigis integriĝon kun Nagios, kiu sondis ELK je certaj intervaloj. Se mi detektis sojmajn valorojn atingitajn de kodoj, mi sendis sciigon al la oficistoj pri suspektinda agado. 

Kombinitaj 4 grafikaĵoj en la monitora sistemo. Nun estis grave vidi sur la grafikaĵoj la momenton, kiam la atako ne estis blokita kaj necesis interveno de inĝeniero. Sur 4 malsamaj diagramoj niaj okuloj malklariĝis. Tial ni kombinis la leterojn kaj komencis monitori ĉion sur unu ekrano.

Dum monitorado, ni rigardis kiel grafikaĵoj de malsamaj koloroj ŝanĝiĝis. Ŝpruceto de ruĝa montris, ke la atako komenciĝis, dum oranĝaj kaj bluaj grafikaĵoj montris la respondon de FortiWeb:

Kiel ELK helpas sekurecajn inĝenierojn batali retejajn atakojn kaj dormi trankvile
Ĉio estas bone ĉi tie: estis pliiĝo de "ruĝa" agado, sed FortiWeb traktis ĝin kaj la ataka horaro estis nuligita.

Ni ankaŭ desegnis por ni ekzemplon de grafeo, kiu postulas intervenon:

Kiel ELK helpas sekurecajn inĝenierojn batali retejajn atakojn kaj dormi trankvile
Ĉi tie ni vidas, ke FortiWeb pliigis agadon, sed la ruĝa ataka grafiko ne malpliiĝis. Vi devas ŝanĝi viajn WAF-agordojn.

Esplorado de noktaj okazaĵoj ankaŭ fariĝis pli facila. La grafikaĵo tuj montras la momenton, kiam estas tempo por protekti la retejon. 

Kiel ELK helpas sekurecajn inĝenierojn batali retejajn atakojn kaj dormi trankvile
Ĉi tio okazas foje nokte. Ruĝa grafikaĵo - la atako komenciĝis. Blua - FortiWeb-agado. La atako ne estis tute blokita, do mi devis interveni.

Kien ni iras?

Nuntempe ni trejnas deĵorajn administrantojn por labori kun ELK. Tiuj deĵorantoj lernas taksi la situacion sur la panelo kaj fari decidon: estas tempo eskaladi al specialisto de FortiWeb, aŭ la politikoj pri la WAF sufiĉas por aŭtomate forpuŝi la atakon. Tiel ni reduktas la ŝarĝon de informasekurecaj inĝenieroj nokte kaj dividas subtenajn rolojn ĉe la sistemnivelo. Aliro al FortiWeb restas nur ĉe la ciberdefenda centro, kaj nur ili faras ŝanĝojn al WAF-agordoj kiam absolute necese.

Ni ankaŭ laboras pri raportado por klientoj. Ni planas, ke datumoj pri la dinamiko de WAF-operacio estos disponeblaj en la persona konto de la kliento. ELK faros la situacion pli travidebla sen devi kontakti la WAF mem.

Se la kliento volas kontroli ilian protekton en reala tempo, ELK ankaŭ utilos. Ni ne povas fordoni aliron al WAF, ĉar klienta enmiksiĝo en la laboro povas influi aliajn. Sed vi povas preni apartan ELK kaj doni ĝin por "ludi". 

Ĉi tiuj estas la scenaroj por uzi la "Kristnaskan arbon", kiun ni amasigis lastatempe. Kunhavigu viajn ideojn pri ĉi tiu afero kaj ne forgesu agordi ĉion ĝustepor eviti datumbazajn likojn. 

fonto: www.habr.com