Као прво, надам се да нису. Надам се да сте овде дошли само да бисте сазнали шта можете да урадите како би се смањила вероватноћа да се то деси.
Ако се питате зашто онда наслов текста није „Како да ми не хакују веб-сајт?”, одговор је: На то питање нико не зна одговор, а уколико тврди да зна, не говори истину.
А чему онда уопште та сигурност о којој се све више прича ако нико не зна како да се заштитимо од хаковања? Одговор на то питање није тако једноставан, али није ни све тако црно.
Управо отварамо неке „теме за размишљање“ како бисмо боље разумели овај комплексан проблем.
Нећемо улазити превише у сама техничка решења. Њих ћемо разматрати већ у следећем тексту, где ћемо давати препоруке како да на сигуран начин користите одређене веб-технологије.
Дакле, научили смо зашто нам је као компанији важно да имамо свој веб-сајт и свој домен, али ту посао није завршен. Важна нам је и сигурност.
Шта заправо значи „сигурно”?
Сигурност често схватамо као нешто бинарно. То значи да имамо само два стања: Прво, одсуство сигурности које води у хаковање и компромитацију система, и друго, присуство сигурности које нас спасава од тога. Такво схватање је погрешно и често нас води у заблуде и тера да чинимо погрешне кораке и закључке. Апсолутна сигурност у ИТ сфери не постоји и не може се постићи. Све мере које предузимамо како бисмо се заштитили само смањују вероватноћу да до проблема дође. Колико смо успешни у примени тих мера и идентификовању проблематичних тачака толико смо и сигурни.
Тако је и у осталим нетехничким сферама живота.
Сигурност је, стога, најбоље посматрати као континуум.
А шта је са веб-сајтовима и њиховом сигурношћу?
Ако говоримо о сајтовима малих и средњих предузећа, шта је то што је најважније за њихову безбедност и како да их учинимо отпорнијим на хаковање?
Покушаћу да вам проблем приближим тако што ћу одговорити на четири једноставна питања: „Шта?“, „Где?“, „Чиме?“ и „Како?“.
1. Шта?
За шта мени „ово” служи? Да ли је ваш сајт само презентација основних информација о компанији, да ли је ваш сајт веб-шоп/веб-продавница или интерактивна апликација преко које пружате услуге?
За шта год да вам веб-сајт служи, сигуран сам да не желите да сутра изгубите контролу над њим, да подаци ваших клијената буду компромитовани или да останете без комплетне базе корисника.
Веб-сајт, па чак и онај најједноставнији, никада немојте посматрати као нешто статично (иако се сајтови без базе података и називају „статични сајтови”). Колико год да је сајт једноставан он није оглас у новинама и потребно му је одржавање.
2. Где?
Када смо одговорили на питање „Шта?”, лакше ћемо знати да дамо одговор на питање „Где?”.
„Где?” је заправо питање хостинга. Једна од најбитнијих ствари за безбедност јесте поседовање адекватног, провереног и стабилног хостинг провајдера. Већ је било речи о томе какве све хостинг опције постоје, а ја бих овде ипак највише волео да говорим о адекватности – како да изаберемо адекватан хостинг спрам наших потреба и финансијских могућности.
Зашто ово пишем? Зато што сам небројено пута видео следећи сценарио: Имамо веб-сајт на shared хостингу, сајт нам се споро учитава. Прва ствар која нам пада на памет је да купимо ВПС и да сајт пребацимо тамо. Урадимо све што треба, и стварно, сајт одједном лети. Али, постоји једна зачкољица.
За ВПС или Dedicated машину, поред трошкова сервера, морате да урачунате и трошкове одржавања. Сервер није нешто што се једном подеси и наставља да ради заувек, на њему морате да радите стално.
Лоше конфигурисан и/или неажуриран ВПС створиће вам много више сигурносних проблема него shared хостинг који сте узели код провереног и стабилног хостинг партнера.
Наравно, са друге стране, правилно подешен има домете којима shared хостинг никада неће моћи да приђе. Због тога је адекватност веома битна ставка у нашем одабиру.
3. Чиме?
У реду, знамо чему нам сајт служи, одабрали смо хостинг који је добар, остаје нам питање самог софтвера који ће се користити на веб-сајту. Једноставније речено, чиме правимо сајт тј. коју апликацију ћемо користити да га направимо.
Обично бирамо неки CMS, као што су Вордпрес (Wordpress), Друпал или Џумла (Joomla).
О свим овим технологијама и њиховој сигурној примени писаћемо више у наредном периоду, тема је доста широка.
Оно што је сада важно да знате јесте да све ове технологије такође захтевају редовно одржавање. Редовно одржавање на нивоу веб-апликације значи редовно ажурирање CMS-а, његових тема и плагинова/додатака. Увек морамо користити последњу подржану верзију. Када се појави ажурирање, потребно га је применити што пре. Ажурирања су најчешће исправке сигурносних пропуста у самом софтверу.
Као што смо већ нагласили, сајт није нешто што је статично, а вашим сајтом морате се бавити стално, као што нпр. заливате цвеће. А шта ће се десити ако цвеће дуго не заливамо?
4. Како?
И како нас онда хакују?
Ако знамо чему нам сајт служи, одабрали смо прави и адекватан хостинг, веб-апликацију смо ажурирали, и то онда значи да смо сигурни и да не можемо бити хаковани?
Нажалост, не. Вратимо се на почетак текста, апсолутна безбедност не постоји. Оно што смо дефинитивно успели да урадимо јесте да смо знатно смањили вероватноћу да до компромитације дође.
И то је све што можемо да урадимо.
Али хајмо, за крај, уместо закључка, да погледамо један конкретан и свеж пример и да одговоримо на то питање „Како?”. Шта то раде нападачи?
Уколико користите Вордпресов плагин Woocommerce а нисте га ажурирали од 13. јула 2021. године, у великој сте невољи.
Откривена је критична SQL injection рањивост, а недуго затим је јавно објављен и сам начин на који се рањивост може искористити у злонамерне сврхе.
Уколико Woocommerce на вашем сајту није ажуриран, нападач ће доћи на сајт и у поље у које се уноси интернет адреса сајта укуцати нешто овако:
Манипулацијом вредности параметра taxonomy, иза кога се заправо крије рањив упит у базу података, уместо INЈECTION, нападач ће убацивати адекватне текстуалне векторе, payload-е, и на тај начин ће успети да извуче комплетну вашу базу података а потенцијално, у лоше конфигурисаним системима, могао би и да преузме контролу над читавим сервером.
Решење за овај проблем је ажурирање плагина које је објављено истог дана.