ELK қауіпсіздік инженерлеріне веб-сайт шабуылдарымен күресуге және тыныш ұйықтауға қалай көмектеседі

Біздің киберқорғаныс орталығы клиенттердің веб-инфрақұрылымының қауіпсіздігіне жауап береді және клиенттік сайттарға жасалған шабуылдарды тойтарады. Біз шабуылдардан қорғау үшін FortiWeb веб-қосымшасының брандмауэрін (WAF) қолданамыз. Бірақ тіпті ең керемет WAF панацея емес және мақсатты шабуылдардан қорғамайды. 

Сондықтан, біз WAF қосымша пайдаланамыз ELK. Ол барлық оқиғаларды бір жерде жинауға көмектеседі, статистиканы жинақтайды, оларды визуализациялайды және бізге мақсатты шабуылды уақытында көруге мүмкіндік береді.

Бүгін мен сізге WAF көмегімен «Шыршаны» қалай кесіп өткенімізді және одан не шыққанын толығырақ айтып беремін.

ELK қауіпсіздік инженерлеріне веб-сайт шабуылдарымен күресуге және тыныш ұйықтауға қалай көмектеседі

Бір шабуылдың тарихы: ELK-ге көшкенге дейін бәрі қалай жұмыс істеді

Тұтынушыда біздің WAF артындағы бұлтта орналастырылған қолданбасы бар. Сайтқа күніне 10 000-нан 100 000-ға дейін қосылған пайдаланушылар саны күніне 20 миллионға жетті. Оның ішінде 3-5 қолданушы шабуылдаушы болып, сайтты бұзуға әрекеттенген. 

FortiWeb бір IP мекенжайынан әдеттегі дөрекі күш формасын оңай бұғаттады. Сайттың минутына кіру саны заңды қолданушылардан жоғары болды. Біз жай ғана бір мекенжайдан белсенділік шегін орнаттық және шабуылды тойтардық.

Шабуылдаушылар баяу әрекет етіп, өздерін қарапайым клиент ретінде жасырған кезде «баяу шабуылдармен» күресу әлдеқайда қиын. Олар көптеген бірегей IP мекенжайларын пайдаланады. Мұндай әрекет WAF үшін жаппай дөрекі күш сияқты көрінбеді; оны автоматты түрде қадағалау қиынырақ болды. Қалыпты пайдаланушыларды бұғаттау қаупі де болды. Біз шабуылдың басқа белгілерін іздедік және осы белгі негізінде IP мекенжайларын автоматты түрде блоктау саясатын конфигурацияладық. Мысалы, көптеген заңсыз сеанстар HTTP сұрау тақырыптарында ортақ өрістерге ие болды. Бұл өрістерді көбінесе FortiWeb оқиғалар журналында қолмен іздеу керек болды. 

Бұл ұзақ және ыңғайсыз болып шықты. Стандартты FortiWeb функционалдығында оқиғалар 3 түрлі журналда мәтін түрінде жазылады: анықталған шабуылдар, сұрау туралы ақпарат және WAF жұмысы туралы жүйелік хабарламалар. Бір минутта ондаған, тіпті жүздеген шабуыл оқиғалары келуі мүмкін.

Көп емес, бірақ сіз бірнеше журналдар арқылы қолмен көтеріліп, көптеген жолдарды қайталауыңыз керек: 

ELK қауіпсіздік инженерлеріне веб-сайт шабуылдарымен күресуге және тыныш ұйықтауға қалай көмектеседі
Шабуыл журналында пайдаланушы мекенжайлары мен әрекет сипатын көреміз. 
 
Журнал кестесін жай ғана сканерлеу жеткіліксіз. Шабуылдың табиғаты туралы ең қызықты және пайдалы ақпаратты табу үшін белгілі бір оқиғаның ішіне қарау керек:

ELK қауіпсіздік инженерлеріне веб-сайт шабуылдарымен күресуге және тыныш ұйықтауға қалай көмектеседі
Бөлектелген өрістер «баяу шабуылды» анықтауға көмектеседі. Дереккөз: скриншот Fortinet сайты

Ең маңызды мәселе - мұны тек FortiWeb маманы анықтай алады. Жұмыс уақытында біз күдікті әрекетті нақты уақытта бақылай алатын болсақ та, түнгі оқиғаларды тергеу ұзағырақ уақыт алуы мүмкін. FortiWeb саясаты қандай да бір себептермен жұмыс істемегенде, түнгі ауысымдағы кезекші инженерлер WAF-қа қол жеткізе алмай, жағдайды бағалай алмады және FortiWeb маманын оятты. Біз бірнеше сағаттық журналдарды қарап шығып, шабуыл сәтін таптық. 

Мұндай көлемдегі ақпаратпен үлкен суретті бір қарағанда түсіну және белсенді әрекет ету қиын. Содан кейін біз бәрін визуалды түрде талдап, шабуылдың басын табу, оның бағыты мен бұғаттау әдісін анықтау үшін деректерді бір жерде жинауды шештік. 

Сіз нені таңдадыңыз?

Біріншіден, біз нысандарды қажетсіз көбейтпеу үшін қазірдің өзінде қолданылып жүрген шешімдерді қарастырдық.

Алғашқы нұсқалардың бірі болды Nagiosбақылау үшін қолданамыз инженерлік инфрақұрылым, желілік инфрақұрылым, төтенше жағдайлар туралы ескертулер. Күзетшілер оны күдікті көлік қозғалысы кезінде кезекшілерге хабарлау үшін де пайдаланады, бірақ ол шашыраңқы бөренелерді қалай жинау керектігін білмейді, сондықтан енді қажет емес. 

Қолдану арқылы барлығын біріктіру мүмкіндігі болды MySQL және PostgreSQL немесе басқа реляциялық деректер базасы. Бірақ деректерді шығарып алу үшін сіз өзіңіздің қосымшаңызды жасауыңыз керек болды. 

Біздің компания да пайдаланады FortiAnalyzer Fortinet сайтынан. Бірақ бұл жағдайда да сәйкес келмеді. Біріншіден, ол желіаралық қалқанмен жұмыс істеуге бейімделген FortiGate. Екіншіден, көптеген параметрлер жетіспеді және онымен өзара әрекеттесу SQL сұрауларын тамаша білуді талап етті. Үшіншіден, оны пайдалану тұтынушы үшін қызмет құнын арттырады.   

Осылайша біз ашық дереккөз түрінде келдік ELK

Неліктен ELK таңдау керек? 

ELK - бұл ашық бастапқы бағдарламалар жиынтығы:

  • Elasticearch – үлкен көлемдегі мәтінмен жұмыс істеу үшін арнайы құрылған уақыттық қатарлар деректер базасы;
  • Logstash – журналдарды қажетті пішімге түрлендіруге болатын деректерді жинау механизмі; 
  • Кибана – жақсы визуализатор, сондай-ақ Elasticsearch басқару үшін өте ыңғайлы интерфейс. Сіз оны кезекші инженерлер түнде бақылай алатын графиктер құру үшін пайдалана аласыз. 

ELK кіру шегі төмен. Барлық негізгі мүмкіндіктер тегін. Бақыт үшін тағы не қажет?

Мұның бәрін бір жүйеге қалай қостық?

Біз индекстерді жасап, тек қажетті ақпаратты қалдырдық. Біз барлық үш FortiWEB журналын ELK жүйесіне жүктедік және нәтиже индекстер болды. Бұл белгілі бір кезеңдегі барлық жиналған журналдары бар файлдар, мысалы, бір күн. Егер біз оларды бірден визуализациялайтын болсақ, біз тек шабуылдардың динамикасын көретін едік. Толық ақпарат алу үшін әрбір шабуылға «құлап» алу және белгілі бір өрістерді қарау керек.

ELK қауіпсіздік инженерлеріне веб-сайт шабуылдарымен күресуге және тыныш ұйықтауға қалай көмектеседі

Біз алдымен құрылымдалмаған ақпаратты талдауды жолға қою керектігін түсіндік. Біз «Хабар» және «URL» сияқты жолдар түріндегі ұзын өрістерді алып, шешім қабылдау үшін қосымша ақпарат алу үшін оларды талдадық. 

Мысалы, талдауды қолдану арқылы біз пайдаланушының орнын бөлек анықтадық. Бұл ресейлік қолданушыларға арналған сайттарға шетелден жасалған шабуылдарды бірден анықтауға көмектесті. Басқа елдердің барлық байланыстарына тосқауыл қою арқылы біз шабуылдар санын екі есе қысқарттық және Ресейдің ішіндегі шабуылдарды сабырмен жеңе алдық. 

Талдау жүргізгеннен кейін біз қандай ақпаратты сақтауға және бейнелеуге болатынын іздей бастадық. Журналда барлығын қалдыру мүмкін емес еді: бір индекстің өлшемі үлкен болды - 7 ГБ. ELK файлды өңдеуге ұзақ уақыт алды. Дегенмен, барлық ақпарат пайдалы болмады. Бір нәрсе қайталанып, қосымша орын алды - оны оңтайландыру қажет болды. 

Алдымен біз индексті сканерлеп, қажет емес оқиғаларды алып тастадық. Бұл FortiWeb-тің өзінде журналдармен жұмыс істегеннен гөрі ыңғайсыз және ұзағырақ болып шықты. Бұл кезеңдегі «Шыршаның» бірден-бір артықшылығы - біз бір экранда үлкен уақыт кезеңін елестете алдық. 

Біз үмітімізді үзбедік, кактус жеуді жалғастырдық, ELK зерттедік және қажетті ақпаратты аламыз деп сендік. Көрсеткіштерді тазалағаннан кейін бізде не бар екенін елестете бастадық. Осылайша біз үлкен бақылау тақталарына келдік. Біз кейбір виджеттерді қолданып көрдік - көрнекі және талғампаз, нағыз шырша! 

ELK қауіпсіздік инженерлеріне веб-сайт шабуылдарымен күресуге және тыныш ұйықтауға қалай көмектеседі

Шабуыл сәті жазылып қалды. Енді бізге шабуылдың басы графикте қалай көрінетінін түсіну керек болды. Оны анықтау үшін біз сервердің пайдаланушыға жауаптарын қарастырдық (қайтару кодтары). Бізді келесі кодтары бар сервер жауаптары қызықтырды (rc): 

Код (rc)

сипаттамасы

0

DROP

Серверге сұрау блокталған

200

Ok

Сұрау сәтті өңделді

400

Сұраныс қате

Жарамсыз сұрау

403

тыйым салынған

Рұқсат беруден бас тартылды

500

Ішкі сервер қатесі

Қызмет қолжетімсіз

Егер біреу сайтқа шабуыл жасай бастаса, кодтардың арақатынасы өзгерді: 

  • Егер 400 коды бар қатерек сұраулар болса, бірақ 200 коды бар қалыпты сұраулардың бірдей саны қалса, бұл біреу сайтты бұзуға әрекеттенгенін білдіреді. 
  • Егер бір уақытта 0 коды бар сұраулар да көбейсе, FortiWeb саясаткерлері де шабуылды «көріп» және оған блоктар қолданды. 
  • Егер 500 коды бар хабарламалар саны көбейсе, бұл сайт осы IP мекенжайлары үшін қолжетімсіз дегенді білдіреді - сонымен қатар блоктау түрі. 

Үшінші айда біз мұндай белсенділікті бақылау үшін бақылау тақтасын орнаттық.

ELK қауіпсіздік инженерлеріне веб-сайт шабуылдарымен күресуге және тыныш ұйықтауға қалай көмектеседі

Барлығын қолмен бақыламау үшін біз Nagios-пен интеграцияны орнаттық, ол белгілі бір аралықтарда ELK сауалнамасын жүргізді. Егер мен кодтармен жеткен шекті мәндерді анықтасам, мен кезекшілерге күдікті әрекет туралы хабарлама жібердім. 

Мониторинг жүйесінде біріктірілген 4 графика. Енді графиктерден шабуылға тосқауыл қойылмаған және инженердің араласуы қажет болған сәтті көру маңызды болды. 4 түрлі диаграммада көзіміз бұлдырап қалды. Сондықтан біз диаграммаларды біріктіріп, барлығын бір экранда бақылай бастадық.

Мониторинг барысында біз әртүрлі түстердің графиктерінің қалай өзгергенін бақылап отырдық. Қызыл шашырау шабуылдың басталғанын көрсетті, ал қызғылт сары және көк графиктер FortiWeb жауабын көрсетті:

ELK қауіпсіздік инженерлеріне веб-сайт шабуылдарымен күресуге және тыныш ұйықтауға қалай көмектеседі
Мұнда бәрі жақсы: «қызыл» белсенділіктің жоғарылауы болды, бірақ FortiWeb оны жеңді және шабуыл кестесі жойылды.

Біз сондай-ақ өзімізге араласуды қажет ететін графиктің мысалын салдық:

ELK қауіпсіздік инженерлеріне веб-сайт шабуылдарымен күресуге және тыныш ұйықтауға қалай көмектеседі
Мұнда біз FortiWeb белсенділігін арттырғанын көреміз, бірақ қызыл шабуыл графигі төмендемеген. WAF параметрлерін өзгерту керек.

Түнгі оқиғаларды тергеу де жеңілдеді. График сайтты қорғауға келетін уақытты бірден көрсетеді. 

ELK қауіпсіздік инженерлеріне веб-сайт шабуылдарымен күресуге және тыныш ұйықтауға қалай көмектеседі
Бұл кейде түнде болады. Қызыл график – шабуыл басталды. Көк – FortiWeb қызметі. Шабуыл толығымен жабылмағандықтан, мен араласуға тура келді.

Біз қайда бара жатырмыз?

Қазіргі уақытта біз кезекші әкімшілерді ELK-пен жұмыс істеуге үйретеміз. Кезекшілер бақылау тақтасындағы жағдайды бағалауды және шешім қабылдауды үйренеді: FortiWeb маманына жүгінетін уақыт келді немесе WAF саясаты шабуылды автоматты түрде тойтару үшін жеткілікті. Осылайша біз түнде ақпараттық қауіпсіздік инженерлеріне жүктемені азайтамыз және жүйе деңгейінде қолдау рөлдерін бөлеміз. FortiWeb-ке кіру тек киберқорғаныс орталығында қалады және олар ғана қажет болғанда WAF параметрлеріне өзгерістер енгізеді.

Біз сондай-ақ тұтынушыларға есеп берумен айналысамыз. WAF жұмысының динамикасы туралы деректер клиенттің жеке кабинетінде қолжетімді болады деп жоспарлап отырмыз. ELK WAF-тың өзіне хабарласпай-ақ жағдайды ашық етеді.

Егер тұтынушы өз қорғанысын нақты уақыт режимінде қадағалағысы келсе, ELK де пайдалы болады. Тұтынушының жұмысқа араласуы басқаларға әсер етуі мүмкін болғандықтан, біз WAF рұқсатын бере алмаймыз. Бірақ сіз бөлек ELK алып, оны «ойнауға» бере аласыз. 

Бұл біз жақында жинаған «Шыршаны» пайдалану сценарийлері. Осы мәселе бойынша өз ойларыңызбен бөлісіңіз және ұмытпаңыз барлығын дұрыс конфигурациялаңыздерекқордың ағып кетуін болдырмау үшін. 

Ақпарат көзі: www.habr.com