„WordPress“ populiarumas ir kibernetinių grėsmių mastas
„WordPress“ yra plačiausiai naudojama turinio valdymo sistema (TVS) pasaulyje – jos pagrindu veikia daugiau nei 43 % visų interneto svetainių ir ji sudaro apie 60 % visų turinio valdymo sistemų rinkos [1, 2]. Prie šio populiarumo priežasčių reikšmingai prisideda atvirojo kodo prigimtis, platus funkcionalumo spektras ir aktyvi bendruomenė [3]. Vis dėlto toks platus „WordPress“ naudojimas neišvengiamai lemia didesnį kibernetinių atakų vykdytojų dėmesį.
Įvairaus pobūdžio interneto svetainės – nuo el. komercijos platformų iki įmonių reprezentacinių puslapių – vis dažniau tampa kibernetinių atakų taikiniais dėl jose saugomų vertingų duomenų, tokių kaip klientų asmeninė informacija, mokėjimų duomenys, prisijungimo kredencialai ar įmonės komercinė informacija [4, 5]. Tačiau net ir tos svetainės, kurios tiesiogiai nekaupia jautrios informacijos, gali būti kompromituotos: jos gali būti panaudotos kenkėjiško kodo platinimui, įtrauktos į sukčiavimo schemas, pasitelktos dezinformacijos sklaidai ar reputacinei žalai daryti [6, 7, 8]. Sėkmingų atakų padariniai gali apimti ne tik tiesioginius finansinius nuostolius, bet ir ilgalaikę žalą organizacijos įvaizdžiui, klientų pasitikėjimo praradimą bei riziką patekti į paieškos sistemų, tokių kaip „Google“, juoduosius sąrašus, kas reikšmingai sumažina svetainės pasiekiamumą [9, 10, 11].
Kibernetinio saugumo incidentų statistika rodo, kad „WordPress“ platforma išlieka vienu pagrindinių kibernetinių atakų taikinių. Kibernetinio saugumo bendrovės „Sucuri“ 2023 m. ataskaitoje nurodoma, kad „WordPress“ sudarė 95,5 % visų bendrovės analizuotų pažeistų svetainių. Tuo tarpu kitoms populiarioms turinio valdymo sistemoms, pavyzdžiui, „Joomla“ ir „Magento“, atitinkamai teko 1,7 % ir 0,6 % incidentų [12].
Lyginant populiarias turinio valdymo sistemas pagal joms priskirtų pažeidžiamumų skaičių, remiantis pažeidžiamumų duomenų bazės CVE (angl. Common Vulnerabilities and Exposures) įrašais, taip pat išryškėja reikšmingi skirtumai. 2025 m. birželio mėn. duomenimis, „WordPress“ sistemai priskiriama daugiau nei 24 500 pažeidžiamumų, tuo tarpu „Joomla“ – apie 1 400, „Magento“ – apie 420, „PrestaShop“ – apie 280, o „OpenCart“ – apie 50 [13].
Vis dėlto svarbu pabrėžti, kad aukštas „WordPress“ incidentų procentas ir didelis pažeidžiamumų įrašų kiekis nebūtinai rodo esminius pačios platformos saugumo trūkumus, lyginant su kitomis sistemomis. Tai labiau atspindi jos išskirtinio populiarumo ir plataus naudojimo masto pasekmes – kuo sistema populiaresnė, tuo ji statistiškai tampa labiau tikėtinu kibernetinių atakų taikiniu.
Įskiepiai ir kiti saugumo užtikrinimo sprendimai
Didelis „WordPress“ populiarumas suponuoja ir tam tikrus teigiamus saugumo aspektus. Plačiai naudojamos technologijos natūraliai sulaukia didesnio informacinių technologijų saugumo tyrėjų dėmesio, tampa dažnesniu tyrimų objektu ir skatina specializuotų kibernetinio saugumo sprendimų plėtrą. Ši tendencija atitinka vadinamąją populiarumo hipotezę (angl. popularity hypothesis), kuri teigia, kad kuo plačiau programinė įranga naudojama, tuo intensyviau ji tiriama ir testuojama [14]. Tokiu požiūriu didelis „WordPress“ pažeidžiamumų įrašų skaičius nebūtinai rodo silpnesnį saugumo lygį – priešingai, jis gali būti vertinamas kaip aktyvios saugumo analizės ir bendruomenės įsitraukimo indikatorius. Tyrimų intensyvumas sudaro prielaidas laiku nustatyti rizikas, informuoti naudotojus bei programinės įrangos kūrėjus apie aptiktas spragas ir diegti prevencines priemones, kurios prisideda prie visos ekosistemos atsparumo stiprinimo. Vis dėlto, technologijos populiarumas savaime neleidžia daryti vienareikšmiškų išvadų apie jos saugumo lygį.
Be to, „WordPress“ saugumo ekosistemą papildo specializuoti įskiepiai, skirti apsaugai nuo įvairaus pobūdžio kibernetinių grėsmių. Vienas žinomiausių yra JAV bendrovės „Defiant“ kuriamas „Wordfence“, o tarp plačiai naudojamų įskiepių taip pat minėtini „All-In-One Security“, „MalCare“, „Sucuri Security“, „Jetpack“, „Patchstack“ ir kiti. Šie įskiepiai pasižymi skirtingu funkcionalumu, tačiau, priklausomai nuo pasirinkto sprendimo, dažnai apima tokias saugumo priemones kaip prisijungimo sistemos apsauga, ugniasienė, pažeidžiamumų stebėsena ir kenkėjiško kodo aptikimas [15, 16, 17, 18]. Taip pat egzistuoja daugybė nišinių įskiepių, orientuotų į specifinius saugumo aspektus, pavyzdžiui, apsaugą nuo automatizuotų robotų ar dviejų veiksnių autentifikacijos įgalinimą, todėl sprendimų įvairovė leidžia svetainių administratoriams lanksčiai pritaikyti saugumo priemones pagal individualius poreikius ir rizikų vertinimą. Šią pasiūlos gausą iliustruoja ir tai, kad oficialiajame „WordPress“ įskiepių kataloge saugumo žyma („security“) pažymėta apie tūkstantis skirtingų įskiepių [19].
Specializuotų saugumo sprendimų veiksmingumą patvirtina paskelbti duomenys. Pavyzdžiui, „Wordfence“ 2024 m. metinėje ataskaitoje skelbiama, kad per metus užblokuota daugiau nei 54 mlrd. kenkėjiškų užklausų [20]. Tuo tarpu su „WordPress“ platforma susijęs tinklaraštis „WPBeginner“ pranešė, jog per pirmuosius tris „Sucuri“ ugniasienės naudojimo mėnesius jų svetainėje sustabdyta apie 450 tūkst. žalingų užklausų [21]. Papildomai, 2023 m. „Jetpack Scan“ analizė identifikavo daugiau nei 70 tūkst. „WordPress“ svetainių, kuriose aptiktas bent vienas kenkėjiškas failas – dauguma atvejų siejami su nutekintais prisijungimo duomenimis arba nelicencijuotos ir modifikuotos (vadinamosios „nulled“) programinės įrangos naudojimu [22]. Tai ne tik pabrėžia apsaugos priemonių svarbą, bet ir atskleidžia kibernetinių grėsmių mastą.
Be anksčiau minėtų saugumo sprendimų, „Wordfence“ ir „Patchstack“ taip pat aktyviai prisideda prie atsakingo pažeidžiamumų atskleidimo kultūros puoselėjimo. Vykdydamos pažeidžiamumų atradimo (angl. bug bounty) programas, jos skatina saugumo tyrėjus pranešti apie aptiktas spragas mainais į finansinį atlygį. „Wordfence“ pirmųjų programos veiklos metų rezultatai rodo reikšmingą šios iniciatyvos poveikį: patvirtinta daugiau nei 4 400 pažeidžiamumų ir išmokėta 450 tūkst. JAV dolerių premijų. Šiuo metu programa siūlo iki 31 200 JAV dolerių išmokas už ypač aukšto poveikio pažeidžiamumus [23]. „Patchstack“, remiantis 2025 m. gegužės duomenimis, nuo 2022 metų tyrėjams išmokėjo daugiau nei 255 tūkst. JAV dolerių, o didžiausia už atrastą pažeidžiamumą skiriama premija gali siekti iki 14 400 JAV dolerių, priklausomai nuo saugumo spragos svarbos [24]. Taip pat atsakingo pažeidžiamumų atskleidimo programą vykdo ir pati „WordPress“ – apie saugumo spragas sistemoje galima pranešti per „HackerOne“ platformą [25].
Tokios pažeidžiamumų atskleidimo iniciatyvos skatina aktyvesnį saugumo tyrėjų įsitraukimą ir formuoja bendradarbiavimu grįstą požiūrį į programinės įrangos kūrimą. Jos padeda greičiau identifikuoti ir pašalinti pažeidžiamumus dar prieš jiems sukeliant realią žalą, taip stiprinant visos „WordPress“ ekosistemos atsparumą ir vartotojų pasitikėjimą platformos saugumu.
Pažeidžiamumų dinamika ir pagrindiniai iššūkiai
Apžvelgus dviejų „WordPress“ saugumo srityje veikiančių organizacijų – „Patchstack“ ir „Wordfence“ – kasmetines pažeidžiamumų ataskaitas, pastebimas reikšmingas aptiktų spragų skaičiaus augimas. „Patchstack“ savo 2024 m. ataskaitoje nurodė identifikavusi 7 966 naujus saugumo pažeidžiamumus „WordPress“ ekosistemoje, o tai yra 34 % daugiau nei 2023 metais [26]. Tuo tarpu „Wordfence“ savo 2024 m. ataskaitoje pateikė dar didesnį skaičių – 8 223 naujas spragas – ir pažymi 68 % augimą, lyginant su ankstesniais metais [20]. Nors konkretūs skaičiai gali skirtis dėl skirtingų duomenų rinkimo metodologijų ar aprėpties, abu šaltiniai vienareikšmiškai rodo pažeidžiamumų skaičiaus didėjimo tendenciją.
Vertinant svetainių kibernetinio saugumo situaciją Lietuvoje, Nacionalinio kibernetinio saugumo centro (NKSC) duomenys rodo, kad „.lt“ domeno svetainių, veikiančių su turinio valdymo sistemomis, pažeidžiamumas jau ne vienerius metus kelia susirūpinimą. 2018 m. 52 % tokių svetainių buvo įvertintos kaip pažeidžiamos, o dauguma jų naudojo „WordPress“ turinio valdymo sistemą [27]. Vėlesni duomenys taip pat rodo panašią situaciją: 2019 m. – 63 %, 2020 m. – 56 %, o 2021 m. – 50 % svetainių naudojo dėl žinomų saugumo spragų nesaugią ir neatnaujintą programinę įrangą. Be to, tikrasis rizikos mastas gali būti dar didesnis, nes dalis svetainių naudoja programinę įrangą, kurios kūrėjai jau nebepalaiko. NKSC ataskaitose pažymima, kad tokių svetainių, nebeturinčių galimybės gauti saugumo atnaujinimų, dalis atitinkamai 2019 m. sudarė 8 %, 2020 m. – 6,5 %, o 2021 m. – 10 % [28, 29, 30]. Šie duomenys patvirtina, kad nepakankama priežiūra ir atnaujinimų stoka išlieka viena svarbiausių svetainių pažeidžiamumo priežasčių Lietuvos interneto erdvėje.
Viena iš pagrindinių „WordPress“ saugumo iššūkių priežasčių – atvirojo kodo pobūdis ir gausi trečiųjų šalių kūrėjų bendruomenė. Šie veiksniai ne tik leidžia sistemai sparčiai augti ir tobulėti, bet ir didina jos pažeidžiamumą. Kadangi kiekvienas kūrėjas gali laisvai kurti papildomus komponentus – tiek temas (angl. themes), tiek įskiepius (angl. plugins) – jų kūrimo, priežiūros ir saugumo lygis skiriasi. Tokia įvairovė reikšmingai padidina riziką, kad dalis komponentų gali būti nepakankamai saugūs ir pažeidžiami.
Šią dėl komponentų įvairovės kylančią pažeidžiamumo riziką pagrindžia ir naujausi statistiniai duomenys. „Patchstack“ ir „Wordfence“ savo 2024 m. ataskaitose sutaria, kad 96 % visų aptiktų saugumo spragų buvo rastos būtent įskiepiuose, o likusi dalis (apie 4 %) – temose [20, 26]. Tai patvirtina ir 2024 m. Nacionalinio kibernetinio saugumo centro ataskaita, kurioje pažymima, kad daug dėmesio skirta „WordPress“ turinio valdymo sistemos įskiepių saugumui – jie dažnai tampa įsilaužėlių taikiniu dėl nepakankamos apsaugos ir laiku neatliekamų atnaujinimų [31].
Priešingai, pačioje „WordPress“ turinio valdymo sistemos branduolio (angl. core) programinėje įrangoje 2024 m. buvo identifikuotas nedidelis skaičius spragų – vos 5 („Wordfence“ duomenimis) arba 7 („Patchstack“ duomenimis). Svarbu pabrėžti, kad nė viena iš šių branduolio spragų nebuvo laikoma kritine ar keliančia reikšmingą grėsmę. Kaip teigia „Wordfence“, tai yra geras „WordPress“ branduolio brandos rodiklis ir aiškiai parodo, kad būtent įskiepiai yra pagrindinė grėsmė „WordPress“ svetainių saugumui [20, 26].
Papildomą susirūpinimą kelia ir programinės įrangos kūrėjų reakcija į aptiktas saugumo spragas. „Wordfence“ duomenimis, 2025 m. pradžioje maždaug 35 % visų 2024 m. atrastų spragų vis dar buvo neištaisytos. Nors tai rodo, kad dauguma kūrėjų reaguoja, daugiau nei trečdalis spragų lieka atviros ilgą laiką. „Patchstack“ teigia, kad daugiau nei 50 % įskiepių kūrėjų, kuriems buvo pranešta apie spragą, nespėjo ar nesureagavo jos ištaisyti iki viešo pažeidžiamumo paskelbimo [20, 26]. Lėtas reagavimas arba visiškas aptiktų pažeidžiamumų ignoravimas didina tikimybę, kad šiomis spragomis bus pasinaudota. Todėl įskiepių ir temų pasirinkimas turėtų būti pagrįstas ne tik jų funkcionalumu, bet ir saugumo aspektais. Rekomenduojama teikti pirmenybę komponentams, kurie yra reguliariai atnaujinami, turi daugybę teigiamų atsiliepimų ir yra kuriami patikimų kūrėjų.
Saugumo užtikrinimas kaip tęstinis procesas
Vis dėlto saugumo užtikrinimas nėra vienkartinis veiksmas – tai tęstinis, nuolat besikeičiantis procesas, reikalaujantis sistemingo stebėjimo, prisitaikymo ir rizikų valdymo. Absoliutaus saugumo pasiekti neįmanoma, ypač greitai kintančioje kibernetinių grėsmių aplinkoje. Šiame kontekste dažnai išskiriama vadinamoji „gynėjo dilema“ – gynėjas turi užtikrinti apsaugą visoms potencialioms silpnosioms vietoms, o puolėjui pakanka išnaudoti vos vieną spragą. Tačiau norint suformuoti efektyvią saugumo strategiją, verta atsižvelgti ir į „puolėjo dilemą“ – sėkmingai atakai reikia nuosekliai įveikti kelis apsaugos sluoksnius, veikiant su ribotu informacijos kiekiu ir nuolat rizikuojant būti aptiktam [32]. Ši perspektyva rodo, jog ne tik svarbu suvokti savo silpnąsias vietas, bet ir aktyviai išnaudoti kibernetinių atakų veikimo ribotumus. Prevencinė, daugiasluoksnė apsauga, pagrįsta nuolatiniu stebėjimu, pažeidžiamumų vertinimu ir greitu reagavimu, leidžia reikšmingai sumažinti rizikas ir padidinti infrastruktūros atsparumą.
Šiame straipsnyje pateikiami saugumo rekomendacijų pavyzdžiai, skirti padėti formuoti patikimą „WordPress“ svetainės apsaugos pagrindą. Reikėtų pažymėti, kad tekste pateikiami programinio kodo fragmentai nėra galutiniai ar universaliai pritaikomi visais atvejais – jie skirti iliustratyviam naudojimui ir orientacinėms gairėms. Taip pat čia aptariamų įskiepių, technologinių sprendimų ar konfigūravimo praktikų sąrašas nėra išsamus, pasirinktos priemonės atspindi dažniau taikomus arba reprezentatyvius pavyzdžius.
Straipsnio tikslas nėra pateikti vieną galutinį ar išsamų apsaugos scenarijų, bet paskatinti kritiškai įsivertinti esamas saugumo priemones, identifikuoti galimus spragų taškus ir atkreipti dėmesį į sritis, kurioms galėtų būti skiriamas didesnis dėmesys. Aptariamos priemonės turėtų būti vertinamos kontekste – atsižvelgiant į konkrečios svetainės infrastruktūrą, valdymo galimybes bei keliamus saugumo reikalavimus.
Reguliarus „WordPress“ branduolio, temų, įskiepių ir serverio programinės įrangos atnaujinimas
Savalaikis programinės įrangos atnaujinimų diegimas yra esminis informacinių sistemų saugumo užtikrinimo veiksnys. Nors programinės įrangos kūrėjai, aptikus pažeidžiamumą, parengia saugumo pataisas, jų praktinis efektyvumas priklauso nuo to, ar svetainių administratoriai šiuos atnaujinimus įdiegia laiku. Viešai paskelbta informacija apie saugumo spragas tampa prieinama ne tik administratoriams, bet ir kibernetiniams nusikaltėliams. Dėl šios priežasties atsiranda kritinis laiko tarpas, per kurį net ir jau ištaisyti pažeidžiamumai gali tapti atakų taikiniu, jei sistemos nėra laiku atnaujinamos.
Kaip sparčiai viešai paskelbti saugumo pažeidžiamumai virsta realiomis grėsmėmis, iliustruoja 2025 m. pirmojo pusmečio „VulnCheck“ analizė. Per šį laikotarpį buvo identifikuotos 432 saugumo spragos, kurių išnaudojimas patvirtintas realiose kibernetinėse atakose (angl. exploited in the wild). Nustatyta, kad 32,1 % iš jų buvo aktyviai išnaudojamos per pirmąsias 24 valandas nuo oficialaus paskelbimo, o kai kuriais atvejais – dar iki viešo pažeidžiamumo atskleidimo. Šis rodiklis reikšmingai išaugo, palyginti su 2024 m., kai siekė 23,6 % [33].
Pavojingą pažeidžiamumų išnaudojimo tendenciją patvirtina ir 2025 m. pirmojo pusmečio „Patchstack“ ataskaita. Joje skelbiama, kad „WordPress“ ekosistemoje identifikuota net 6 700 saugumo spragų, iš kurių 41 % buvo išnaudotos realiose atakose [44]. Šie duomenys rodo, kad laiku neatliekami programinės įrangos atnaujinimai ženkliai didina tikimybę tapti kibernetiniu taikiniu, todėl sistemingas atnaujinimų diegimas išlieka viena svarbiausių saugumo praktikų.
Vis dėlto nepakankamas turinio valdymo sistemos atnaujinimų valdymas tebėra viena pagrindinių saugumo problemų. Pavyzdžiui, 2023 m. „Sucuri“ ataskaitoje pažymima, kad net 39,1 % analizuotų pažeistų svetainių naudojo pasenusią TVS programinę įrangą [12]. Nors nuo 3.7 versijos „WordPress“ platformoje veikia automatinio branduolio atnaujinimo mechanizmas, reikšmingai sumažinęs senesnių versijų naudojimą, ši problema vis dar išlieka [34]. 2025 m. birželio 1 d. tik 55,2 % „WordPress“ svetainių buvo įsidiegusios tuo metu naujausią 6.8 versiją, išleistą dar balandžio viduryje. Iki rugpjūčio 3 d. šis rodiklis išaugo iki 69,1 %, tačiau tai rodo, jog dalis sistemų tebenaudoja pasenusią versiją net ir praėjus reikšmingam laikui po atnaujinimo paskelbimo [35, 36].
Ši tendencija leidžia pagrįstai manyti, kad TVS branduolio neatnaujinantys administratoriai dažnai nepakankamai rūpinasi ir kitais svarbiais komponentais – ypač įskiepiais, kurie, kaip rodo statistika, sudaro didžiąją dalį „WordPress“ ekosistemos pažeidžiamumų. 2024 m. „Melapress“ atlikta apklausa atskleidė, kad tik 30 % naudotojų savo svetainėse yra įjungę automatinius atnaujinimus [37]. Vis dėlto šiuos duomenis reikėtų vertinti kontekstualiai – dalis administratorių sąmoningai renkasi rankinį atnaujinimų diegimą, siekdami sumažinti potencialių suderinamumo problemų ar funkcinių klaidų riziką. Tokiu atveju pasirinkimas, nors ir motyvuotas atsargumu, ilgalaikėje perspektyvoje gali prisidėti prie išaugusios saugumo rizikos.
Svarbu pabrėžti, kad efektyvi „WordPress“ svetainės apsauga neapsiriboja vien tik pačios turinio valdymo sistemos saugumu – reikšmingą vaidmenį atlieka ir serverio, kuriame svetainė talpinama, programinės įrangos atnaujinimai. Serverio operacinės sistemos, žiniatinklio serverio programinės įrangos (pvz., „Apache“, „Nginx“), duomenų bazių valdymo sistemų ir kitų komponentų atnaujinimai yra būtini norint užtikrinti apsaugą nuo žinomų pažeidžiamumų, kurie gali būti išnaudoti kibernetinėse atakose. Nepakankamas serverio saugumo valdymas gali tapti silpnąja grandimi, leidžiančia užpuolikams apeiti „WordPress“ saugumo priemones ir pasiekti svetainės duomenis ar administravimo įrankius.
„WordPress“ komponentų kūrėjų reputacija, populiarumas ir saugumo atnaujinimų dažnumas
Dėl savo plačios ekosistemos, kurioje vien oficialiame kataloge siūloma apie 60 000 įskiepių [38], „WordPress“ susiduria su įvairiapusiais saugumo iššūkiais. Ypač didelę riziką kelia trečiųjų šalių komponentai, todėl jų atranka ir kritinis vertinimas tampa esminiu saugumo užtikrinimo elementu. Vertinant komponento patikimumą, be tiesioginio funkcionalumo, svarbu atsižvelgti į tokius veiksnius kaip kūrėjo reputacija, programinės įrangos populiarumas ir atnaujinimų reguliarumas. Kūrėjo reputacija šiuo atveju apima ne tik žinomumą, bet ir ankstesnę patirtį sprendžiant saugumo incidentus, reagavimo į pažeidžiamumų pranešimus greitį bei komunikaciją.
Tyrimai rodo, kad egzistuoja koreliacija tarp „WordPress“ komponento naudojimo masto ir jo saugumo lygio – mažiau populiarūs komponentai dažniau pasižymi saugumo pažeidžiamumais. Remiantis „Wordfence“ 2024 m. ataskaita, net 58 % visų per metus identifikuotų pažeidžiamumų buvo aptikta programinėje įrangoje, turinčioje mažiau nei 10 000 aktyvių įdiegimų, o 37 % – programinėje įrangoje su mažiau nei 1 000 aktyvių įdiegimų [20].
Šį dėsningumą galima paaiškinti keliais veiksniais. Pirma, populiarūs komponentai pasižymi didesniu brandumu, nes juos nuolat tikrina ir vertina plati vartotojų bendruomenė, kuri greičiau praneša apie aptiktas problemas. Antra, tokių produktų kūrėjai dažniausiai disponuoja didesniais finansiniais ir žmogiškaisiais resursais, leidžiančiais operatyviai reaguoti į saugumo iššūkius ir reguliariai teikti atnaujinimus.
Vis dėlto svarbu pabrėžti, kad esminę riziką lemia ne pats aktyvių įdiegimų skaičius, o programinės įrangos priežiūros trūkumas. Reguliariai atnaujinamas ir prižiūrimas komponentas, net ir turintis nedidelį vartotojų kiekį, gali būti saugesnis už populiarų, tačiau apleistą ar ilgą laiką neatnaujintą sprendimą.
Šią problematiką iliustruoja 2023 m. „Patchstack“ tinklaraštyje paskelbtas straipsnis, kuriame pranešama apie 404 neištaisytas saugumo spragas, identifikuotas 358 skirtinguose „WordPress“ įskiepiuose. Kibernetinio saugumo bendrovė pažymi, jog įskiepių kūrėjai dažnai buvo nepasiekiami arba nereagavo į pranešimus apie pažeidžiamumus. Šios spragos paveikė daugiau nei 1,6 mln. svetainių. Tarp pažeidžiamų įskiepių du turėjo daugiau nei 100 tūkst. aktyvių įdiegimų, o seniausias iš jų nebuvo atnaujintas net 13 metų. Atsižvelgdama į situaciją, „Patchstack“ informavo „WordPress“ įskiepių peržiūros komandą – savanorių grupę, atsakingą už įskiepių saugumo ir kokybės užtikrinimą, kuri pašalino daugiau nei 70 % pažeidžiamų įskiepių iš oficialaus „WordPress“ katalogo, taip ženkliai sumažindama saugumo riziką bendruomenei [39, 40].
Nenaudojamų ir pasenusių įskiepių, temų ar kitų komponentų pašalinimas
Nenaudojamų „WordPress“ įskiepių, temų bei kitų failų pašalinimas yra svarbi kibernetinio saugumo praktika. Nors įskiepiai ar temos gali būti deaktyvuoti, jų failai fiziškai išlieka serveryje ir gali būti pasiekiami iš išorės. Tokiu būdu pasenę ir nebeatnaujinami komponentai gali turėti saugumo spragų ir tapti pažeidžiamumo šaltiniu [41, 42]. Todėl būtina reguliariai atlikti sistemos auditą ir visiškai pašalinti nenaudojamus komponentus, o ne tik juos išjungti.
Taip pat reikšmingą grėsmę saugumui kelia ir serveryje palikti įvairūs konfigūracijų likučiai, pagalbiniai failai, administravimo įrankiai ar pan. Tokie failai dažnai naudojami svetainės kūrimo ar testavimo metu, tačiau jų nepašalinimas iš produkcinės aplinkos sukuria papildomą pažeidžiamumo riziką. Kibernetiniai nusikaltėliai, naudodami automatizuotus įrankius, nuolat ieško tokių viešai prieinamų ir dažnai tinkamai neapsaugotų failų, kurie gali tapti potencialiu įsilaužimo vektoriumi [43, 326].
Vienas iš tokių pavyzdžių yra „Adminer“ – duomenų bazių valdymo įrankis, kuris, nors ir kompaktiškas bei patogus, paliktas serveryje gali kelti papildomų rizikų. Kibernetinio saugumo bendrovė „Sucuri“ užfiksavo plačią skenavimo kampaniją, kurios metu buvo ieškoma viešai prieinamų „Adminer“ failų [45]. Aptikus įrankį, jis gali būti išnaudotas prieigai prie duomenų bazės gauti, panaudojant žinomus pažeidžiamumus arba vykdant slaptažodžių parinkimo atakas. Todėl tokius įrankius būtina pašalinti iš karto po naudojimo arba apriboti jų prieigą serverio lygmeniu.
Be to, itin svarbu, kad atsarginės svetainės kopijos nebūtų saugomos tame pačiame serveryje, kuriame veikia svetainė. Tokiose kopijose dažnai saugomi jautrūs duomenys, pavyzdžiui, konfigūraciniai failai su prisijungimo prie duomenų bazės informacija. Jei šie failai tampa pasiekiami iš išorės, jų turinys gali būti išnaudotas autentifikacijos mechanizmų apėjimui ir neteisėtai prieigai prie sistemos.
To svarbą iliustruoja 2023 m. paviešinta pažeidžiamumo informacija apie įskiepio „Backup Migration“ (versija iki 1.2.8 imtinai) saugumo spragą, kuria pasinaudojus neautentifikuoti naudotojai galėjo pasiekti atsarginių kopijų buvimo vietas ir jas atsisiųsti [46]. Šis atvejis atskleidžia potencialias rizikas, susijusias su nepakankamai apsaugotais failais ir netinkama atsarginių kopijų laikymo praktika.
Nelicencijuoti ir modifikuoti („nulled“) įskiepiai ar temos
„WordPress“ ekosistemoje paplitusi praktika platinti mokamus įskiepius ir temas pašalinus jų licencijų tikrinimo mechanizmus – vadinamosios „nulled“ versijos, kurios kelia tiek teisinių, tiek saugumo rizikų.
Nors „WordPress“ platforma ir daugelis jos komponentų licencijuojami pagal GNU viešąją licenciją (GPL), leidžiančią laisvai naudoti ir platinti kodą, komerciniai įskiepiai ir temos kartais taiko mišrią licencijavimo praktiką, kai tam tikri kodo ar dizaino elementai lieka teisiškai saugomi. Todėl neautorizuotas tokių versijų naudojimas, ypač jei jos gaunamos iš nepatikimų šaltinių, gali sukelti teisines problemas, susijusias su autorių teisių pažeidimu ar neteisėtu programinės įrangos platinimu [47, 48].
Saugumo požiūriu, „nulled“ komponentuose neretai aptinkama įterpta kenkėjiška programinė įranga (angl. malware), paslėpti prieigos taškai (angl. backdoors) ar kitos modifikacijos, leidžiančios kompromituoti svetainę, vogti duomenis ar išnaudoti serverio resursus piktavališkai veiklai. Tokie įskiepiai ar temos taip pat negauna oficialių saugumo atnaujinimų iš gamintojų, todėl lieka pažeidžiami naujai atrastoms spragoms [49].
Šio pobūdžio saugumo rizikas išsamiai pagrindžia ir atlikti tyrimai. „Wordfence“ 2020 m. ataskaitoje nurodoma, kad daugiau nei 200 tūkst. užkrėstų „WordPress“ svetainių buvo paveiktos kenkėjiška programine įranga, kurios šaltinis – būtent modifikuoti „nulled“ įskiepiai ar temos [50]. Panašias išvadas pateikia ir „Sucuri“ 2018 m. tyrimas, kuriame pažymima, kad tokie komponentai dažnai slepia kenkėjišką kodą, galintį suteikti prieigą trečiosioms šalims arba vykdyti neleistinas nuotolines komandas [51].
Papildomai, „Sucuri“ tinklaraštyje aprašytas atvejis, kai atsisiuntus atsitiktinę „nulled“ temą buvo aptiktas užmaskuotas failas su kenksmingu kodu. Šis kodas leido apeiti saugumo priemones, išjungti populiarius apsaugos įskiepius bei siųsti konfidencialius svetainės duomenis į nuotolinius serverius. Nors dalis tokių kenkėjiškų komponentų gali būti atpažinti specializuotomis priemonėmis, daugeliu atvejų „nulled“ versijose naudojamos gerokai labiau užmaskuotos kenkėjiškos programos, kurių identifikavimas automatizuotomis analizės priemonėmis išlieka sudėtingas ir ne visuomet efektyvus [52].
Panašų atvejį yra pateikusi ir „Jetpack“ savo tinklaraščio straipsnyje, kuriame detaliai aprašo, kaip „nulled“ tema su įterptu kenkėjišku kodu įdiegė slaptos prieigos funkcionalumą, automatiškai sukūrė administratoriaus paskyrą, siuntė svetainės duomenis į nutolusį serverį bei leido nuotoliniu būdu įkelti kenksmingus failus į svetainę [53].
Be tiesioginių saugumo grėsmių, egzistuoja ir svarbus etinis aspektas. Nors GPL licencija leidžia kodo platinimą, teisėti mokamų įskiepių ir temų kūrėjai dažnai finansuoja savo veiklą, produkto kūrimą, tobulinimą ir palaikymą, per prenumeratas. Naudojant „nulled“ versijas, kenkiama kūrėjų verslo modeliui, o jų darbas ir investicijos lieka neįvertinti [48]. Tokia praktika silpnina visos „WordPress“ ekosistemos tvarumą bei ilgalaikį inovacijų vystymąsi.
Slaptažodžių valdymas bei dviejų veiksnių autentifikacijos taikymas
Prisijungimo prie „WordPress“ administracinės valdymo sąsajos saugumas yra vienas svarbiausių visos svetainės apsaugos elementų. Siekiant sumažinti neteisėtos prieigos riziką, kiekvienai naudotojo paskyrai būtina naudoti stiprų ir unikalų slaptažodį.
Tradiciškai slaptažodžių stiprumas buvo siejamas su jų sudėtimi – rekomenduota naudoti didžiąsias ir mažąsias raides, skaičius bei specialiuosius simbolius. Tačiau naujausios Nacionalinio standartų ir technologijų instituto (NIST) gairės prioritetą teikia ilgiui, kuris laikomas pagrindiniu slaptažodžio saugumo rodikliu. Rekomenduojama rinktis ne trumpesnius nei 15 simbolių slaptažodžius arba kelių žodžių frazes (angl. passphrases), kurios paprasčiau įsimenamos ir rečiau verčia vartotojus jas užsirašyti ar laikyti nesaugiai [54, 55, 56].
Tyrimai rodo, kad pernelyg griežti sudėties reikalavimai neretai skatina nuspėjamų šablonų kūrimą (pvz., „Slaptazodis1!“), taip silpnindami tikrąjį saugumą. Nors tokios taisyklės gali būti taikomos kaip papildoma priemonė, svarbu, kad jos nepakenktų naudojimo patogumui ir neskatintų nesaugių elgsenos modelių [56, 57, 58, 59, 69].
Be to, itin svarbu užtikrinti slaptažodžio unikalumą – jis neturi būti naudojamas kitose paskyrose ar paslaugose, kad būtų išvengta rizikų, susijusių su nutekėjusiais prisijungimo duomenimis [60].
Slaptažodžio stiprumo įvertinimui galima pasitelkti įvairius specializuotus įrankius. Pavyzdžiui, „Bitwarden Password Strength Tester“ įrankis analizuoja slaptažodžio ilgį, simbolių įvairovę bei atsitiktinumą ir pateikia apytikslį vertinimą, kiek laiko gali užtrukti jo atspėjimas naudojant brutalaus atspėjimo (angl. brute-force) metodus, kai sistemingai tikrinamos atsitiktinės simbolių sekos ir dažniausiai pasitaikančios kombinacijos [61].
Vis dėlto svarbu pažymėti, jog tokie įrankiai vertina tik vieną konkretų aspektą – atsparumą sistemingam automatizuotam spėjimui. Slaptažodis gali būti ilgas ir sudėtingas, tačiau vis tiek laikytinas nesaugiu, jei jis sudarytas tik iš žinomų žodžių, atitinka lengvai nuspėjamą modelį, yra pakartotinai naudojamas skirtingose paskyrose ar jau buvo įtrauktas į viešai prieinamas nutekintų slaptažodžių duomenų bazes.
Tai iliustruojama Y. Chrysanthou atlikto tyrimo pavyzdžiu. Tyrėjo atlikto bandymo metu buvo atspėtas, iš pirmo žvilgsnio sudėtingas, slaptažodis „Ph’nglui mglw’nafh Cthulhu R’lyeh wgah’nagl fhtagn1“. Nepaisant ilgio ir įvairių simbolių naudojimo, slaptažodį pavyko atspėti per kelias minutes, kadangi jis buvo paimtas iš viešai prieinamo „Wikipedia“ straipsnio ir įtrauktas į specializuotą žodynų (angl. wordlist) sąrašą [220].
Šiuolaikinės slaptažodžių spėliojimo metodikos yra pažengusios. Įvairūs įrankiai leidžia prie žodžių iš žodyno pritaikyti šimtus ar tūkstančius taisyklių, pvz., pridėti skaičius gale, keisti didžiąsias ir mažąsias raides, pakeisti simbolius („a“ į „@“, „s“ į „$“) ir pan. [219].
Realybėje tokios atakos dažniausiai vykdomos specifinėmis sąlygomis, kai piktavaliai turi prieigą prie nutekintos ir užšifruotos slaptažodžių duomenų bazės. Tokiu atveju slaptažodžiai gali būti spėliojami lokaliai, neribojant bandymų skaičiaus ir taikant sudėtingas taisykles. Priešingai, tiesioginiai bandymai atakuoti aktyvias prisijungimo sistemas yra kur kas labiau ribojami dėl apsaugos mechanizmų ir galimybių išbandyti didelį kiekį slaptažodžių per priimtiną laiką.
Šis pavyzdys pateikiamas siekiant pabrėžti, kad slaptažodžių saugumas priklauso ne vien nuo jų sudėtingumo. Reali rizika išlieka, kai tas pats slaptažodis jau buvo nutekintas kitose paslaugose arba atitinka žinomus modelius. Todėl slaptažodžių saugumas turi būti vertinamas kompleksiškai, neapsiribojant vien tik atsparumu automatizuotam spėjimui.
Tokiais atvejais naudinga pasitelkti ir kitus įrankius, pavyzdžiui, „Have I Been Pwned“, kuris leidžia patikrinti, ar konkretus slaptažodis jau buvo nutekėjęs [62]. Tokie įrankiai remiasi milijonais realiai nutekėjusių duomenų įrašų ir leidžia kiekvienam vartotojui įvertinti savo paskyros pažeidžiamumą. Todėl vertinant slaptažodžio saugumą būtina atsižvelgti į kelis skirtingus rizikos veiksnius – o įprasti slaptažodžio stiprumo vertinimo įrankiai turėtų būti taikomi tik kaip pirminė priemonė.
Remiantis „Cloudflare“ duomenimis, 76 % bandymų prisijungti su nutekėjusiais slaptažodžiais prie „WordPress“ pagrindu veikiančių svetainių yra sėkmingi. Dar labiau neramina tai, kad beveik pusė tokių prisijungimų (48 %) įvykdomi automatizuotų sistemų. Šie skaičiai atskleidžia, kokiu mastu pažeistos paskyros tampa taikiniu masinio pobūdžio atakoms, kurių tikslas – pasinaudoti anksčiau nutekėjusiais prisijungimo duomenimis. Likę 52 % sėkmingų prisijungimų yra inicijuojami realių vartotojų. Tai rodo plačiai paplitusį slaptažodžių pakartotinio naudojimo įprotį, kuris didina riziką paskyroms būti pažeistoms [63].
Šios grėsmės aktualumas atsiskleidžia ir nacionaliniame kontekste. Valstybinė duomenų apsaugos inspekcija 2024 m. asmens duomenų saugumo pažeidimų ataskaitoje pažymi, kad tokių atvejų užfiksuota ir Lietuvoje. Dokumente nurodoma, kad buvo vykdomos kredencialų brukimo (angl. credential stuffing) kibernetinės atakos, kurių metu piktavaliai, pasinaudoję nutekėjusiais prisijungimo duomenimis, bandė prisijungti prie įvairiose svetainėse esančių vartotojų paskyrų [64]. Tai rodo, kad realūs duomenų nutekėjimai ir jų panaudojimas atakose nėra vien teorinė rizika – tai patvirtina būtinybę ne tik naudoti stiprius slaptažodžius, bet ir reguliariai tikrinti jų patikimumą.
Vis dėlto, net ir itin stiprus slaptažodis negarantuoja visiško saugumo. Jis gali būti kompromituotas, pavyzdžiui, dėl duomenų nutekėjimo kitoje platformoje, socialinės inžinerijos metodų ar kenkėjiškos programinės įrangos, įdiegtos vartotojo įrenginyje. Dėl šios priežasties primygtinai rekomenduojama naudoti papildomą apsaugos lygmenį – dviejų veiksnių autentifikavimą (angl. two-factor authentication, 2FA).
Šis metodas reikalauja, kad prisijungdamas vartotojas ne tik suvestų slaptažodį, bet ir papildomai patvirtintų savo tapatybę – dažniausiai įvedant laikiną vienkartinį kodą, sugeneruotą specialioje mobiliojoje programėlėje (pvz., „Google Authenticator“, „Authy“) arba gautą el. paštu. Net jei slaptažodis būtų perimtas, prieigos prie paskyros piktavaliams nepavyktų gauti be šio antrojo veiksnio.
Tinkamai įdiegtas dviejų veiksnių autentifikavimas reikšmingai sustiprina prisijungimo saugumą ir laikomas veiksminga priemone, padedančia apsaugoti paskyras nuo neteisėto perėmimo bei su tuo susijusių saugumo incidentų. Šią funkciją „WordPress“ platformoje galima įgyvendinti pasitelkus tam skirtus įskiepius. Tarp plačiausiai naudojamų sprendimų išskirtini šie:
- „Two-Factor“ (virš 90 tūkst. aktyvių įdiegimų, kūrėjas „WordPress“) [153];
- „WP 2FA – Two-Factor Authentication for WordPress“ (virš 70 tūkst. aktyvių įdiegimų, kūrėjas „MelaPress“) [154];
- „Wordfence Login Security“ (virš 60 tūkst. aktyvių įdiegimų, kūrėjas „Defiant“) [155];
- „Two Factor Authentication“ (virš 20 tūkst. aktyvių įdiegimų, kūrėjas „Team Updraft“) [156];
- „miniOrange 2-factor Authentication (2FA with SMS, Email, Google Authenticator)“ (virš 10 tūkst. aktyvių įdiegimų, kūrėjas „miniOrange“) [157].
Dviejų veiksnių autentifikavimo funkcionalumas neretai integruojamas ir į kompleksinius saugumo įskiepius, kurie apima platesnį apsaugos priemonių spektrą. Tokie sprendimai neapsiriboja vien prisijungimo saugumo stiprinimu – juose dažnai įtrauktos papildomos funkcijos, tokios kaip žiniatinklio programų ugniasienė, kenkėjiško kodo aptikimas, prisijungimų stebėsena ar kitos saugumo gerinimo funkcijos. Kai kurių šių įskiepių sąrašas bus pateikiamas tolesniuose straipsnio skyriuose.
Individuali prieigos kontrolė ir bendrų paskyrų rizikos
Individualios prieigos kontrolė yra vienas iš kertinių kibernetinio saugumo principų – kiekvienam naudotojui, ypač turinčiam administravimo teises, turi būti priskirta unikali paskyra. Nepaisant to, organizacijose vis dar paplitusi bendrų paskyrų naudojimo praktika, dažnai grindžiama siekiu optimizuoti darbo procesus ar mažinti administracinę naštą. Tačiau šis sprendimas iš esmės prieštarauja informacijos saugumo principams ir kelia reikšmingą riziką.
Pirma, bendra paskyra panaikina galimybę tiksliai identifikuoti veiksmų atlikėją, todėl sumažėja atskaitomybė ir apsunkinamas incidentų tyrimas. Antra, siekiant paskyrą pritaikyti keliems naudotojams, dažnai pažeidžiamas mažiausių privilegijų principas (angl. principle of least privilege) – tokioms paskyroms suteikiami pertekliniai leidimai, kurie didina potencialių pažeidimų tikimybę. Trečia, slaptažodžių dalijimasis tarp darbuotojų didina riziką, kad prieigos duomenys bus netyčia ar tyčia perduoti pašaliniams asmenims [65, 66, 67].
Skirtingų šaltinių tyrimai rodo, kad naudotojų paskyrų ir slaptažodžių dalijimosi praktika organizacijose išlieka dažna. Pavyzdžiui, 2019 m. „SurveyMonkey“ atliktos apklausos duomenimis, net 34 % respondentų nurodė, kad dalijosi paskyromis ar prisijungimo duomenimis su kolegomis, o 42 % šios grupės tai darė siekdami palengvinti bendradarbiavimą [70]. Panašias tendencijas atskleidė ir 2021 m. „Beyond Identity“ tyrimas, kuriame 41,7 % darbuotojų prisipažino bent kartą pasidaliję savo darbo paskyromis ar slaptažodžiais [71].
Prieigos kontrolė turi būti suvokiama kaip nuolatinis procesas, apimantis naudotojų paskyrų peržiūrą, koregavimą pagal jų funkcijas bei savalaikį nereikalingų paskyrų panaikinimą. Darbuotojui palikus organizaciją ar paskyrai tapus neaktyvia, prieiga turi būti nedelsiant suspenduota arba panaikinta, siekiant išvengti potencialių saugumo pažeidimų [68].
Vis dėlto empiriniai tyrimai rodo, kad organizacijose dažnai nepavyksta tinkamai įgyvendinti paskyrų valdymo ir prieigos ribojimo politikos. 2024 m. „Wing Security“ tyrimo duomenimis, 63 % organizacijų vis dar nebuvo apribojusios buvusių darbuotojų prieigos prie tam tikrų sistemų ar duomenų [72].
Remiantis 2023 m. „PasswordManager“ apklausos rezultatais, beveik pusė (47 %) apklaustųjų prisipažino bent kartą prisijungę prie buvusios darbovietės sistemų naudodamiesi anksčiau turėtais prieigos duomenimis. Dažniausiai prieiga išliko dėl slaptažodžių nepakeitimo po darbuotojo išėjimo (58 %) arba prieigos suteikimo vis dar organizacijoje dirbančių asmenų (44 %). Be to, 10 % respondentų nurodė sąmoningai naudojęsi buvusios organizacijos prieigos duomenimis siekdami tyčinio poveikio, galinčio sukelti žalą [73].
Bendros paskyros naudojimo keliamą riziką iliustruoja ir vieno informacinio saugumo incidento analizė, atlikta „Remitalis“ bendrovės. Tyrimo metu nustatyta, kad el. komercijos platformos administravimui buvo naudojama bendra paskyra, per kurią darbuotojas sąmoningai įdiegė kenkėjišką programinę įrangą. Ši programinė įranga leido tretiesiems asmenims neteisėtai pasiekti klientų asmens duomenis, kurie vėliau buvo nutekinti į tamsųjį internetą ir viešai paskelbti. Incidentas sukėlė organizacijai finansinius nuostolius bei ilgalaikę reputacinę žalą.
Tokie atvejai pabrėžia, kad paskyrų valdymas yra ne tik formalus procedūrinis veiksmas, bet ir kritinė informacinio saugumo praktika. Nors rizika, susijusi su bendromis ar neprižiūrimomis paskyromis, kartais gali būti vertinama kaip mažai tikėtina ar teorinė, duomenys rodo, jog šie pavojai gali sukelti reikšmingas pasekmes. Todėl būtina užtikrinti nuoseklų paskyrų valdymą visame jų gyvavimo cikle – nuo sukūrimo iki savalaikio pašalinimo.
Papildomai, būtina įvertinti rizikas, susijusias su administracinėms paskyroms priskirtais el. pašto adresais. Bendrai valdomos pašto dėžutės, tokios kaip „info@“, „pardavimai@“ ar pan., prie kurių prieigą dažnai turi keli darbuotojai, gali būti panaudotos inicijuoti slaptažodžio atkūrimą ir gauti privilegijuotą prieigą prie sistemos. Situaciją dar labiau apsunkina tai, kad šie adresai skelbiami viešai, pavyzdžiui, interneto svetainių kontaktų skiltyse, todėl tampa lengvu taikiniu kibernetiniams veikėjams, galintiems el. pašto adresus išnaudoti vykdant sukčiavimo, prisijungimo duomenų spėjimo ar kitas kenkėjiškas atakas [74, 75, 76, 77].
Siekdami sumažinti šias rizikas, organizacijos turėtų užtikrinti, kad administracinėse paskyrose būtų naudojami tik asmeniniai, konkrečiam naudotojui priskirti el. pašto adresai. Taip pat rekomenduojama riboti automatinio slaptažodžio atkūrimo funkcionalumą arba papildyti jį papildomomis autentifikavimo priemonėmis. Pavyzdžiui, „WordPress“ turinio valdymo sistemoje slaptažodžio atkūrimo funkciją galima išjungti pasitelkiant filtrą [78]:
add_filter( 'allow_password_reset', '__return_false' );Saugumo įskiepiai
Kompleksiniai „WordPress“ saugumo įskiepiai – tai specializuotos priemonės, skirtos visapusiškai svetainės apsaugai nuo kibernetinių grėsmių. Skirtingai nei pavieniai įrankiai, šie įskiepiai apjungia kelias tarpusavyje susijusias ir koordinuotai veikiančias apsaugos funkcijas, taip užtikrindami nuoseklų saugumo lygį. Priklausomai nuo sprendimo, kompleksiniai įskiepiai dažniausiai integruoja šias pagrindines sritis:
1) Viena iš esminių kompleksinių saugumo įskiepių sudedamųjų dalių yra žiniatinklio programų ugniasienė (angl. web application firewall, WAF), kurios pagrindinė funkcija – analizuoti ir filtruoti į svetainę patenkantį srautą, blokuojant potencialiai žalingas užklausas ankstyvoje atakos stadijoje. Tokia apsauga mažina pažeidžiamumų išnaudojimo tikimybę ir užtikrina apsaugą nuo dažniausiai pasitaikančių kibernetinių atakų, tarp kurių – neteisėti duomenų bazės užklausų vykdymo bandymai, kenksmingo kodo įterpimas, neleistinas failų įkėlimas, bandymai pasiekti jautrius serverio duomenis ar konfigūracijos failus bei kitos panašios grėsmės [79, 80].
Pagal veikimo architektūrą žiniatinklio programų ugniasienės gali būti skirstomos į kelias kategorijas. Vienos iš plačiai taikomų yra debesijos pagrindu veikiančios ugniasienės (angl. cloud-based WAF), kurios veikia kaip tarpiniai serveriai (angl. reverse proxy), per kuriuos nukreipiamas visas į svetainę patenkantis srautas. Tokios sistemos, pavyzdžiui, „Cloudflare“, „Sucuri Security“ ar „MalCare“, atlieka užklausų analizę ir blokavimą paslaugos tiekėjo infrastruktūroje, atmesdamos kenkėjišką srautą dar prieš jam pasiekiant svetainės serverį. Ši architektūra ne tik sumažina saugumo riziką, bet ir leidžia tikslingiau valdyti serverio išteklius [81, 82, 83, 84, 85].
Kita reikšminga ugniasienių kategorija – aplikacijos lygmens ugniasienės (angl. application-level WAF), kurios veikia tiesiogiai svetainės programinėje aplinkoje ir dažnai diegiamos kaip turinio valdymo sistemų įskiepiai, pavyzdžiui, „WordPress“ platformoje plačiai naudojama „Wordfence Security“ ar „Solid Security“. Šios ugniasienės filtruoja užklausas prieš vykdant programinį kodą, susijusį su svetainės temomis ar įskiepiais, ir leidžia taikyti specializuotus saugumo taisyklių rinkinius, pritaikytus „WordPress“ sistemai būdingiems pažeidžiamumams, tokiu būdu stiprindamos apsaugos veiksmingumą [85, 86, 87].
Papildomai verta pažymėti, kad viena iš veiksmingų strategijų yra hibridinio modelio taikymas, apjungiantis debesijos pagrindu veikiančias ugniasienes, tokias kaip „Cloudflare“, kurios atlieka pirmosios gynybos linijos funkciją, blokuodamos kenksmingas užklausas bei paslaugų trikdymo (angl. denial of service) atakas, su aplikacijos lygmens ugniasienėmis ar kitais į „WordPress“ orientuotais saugumo sprendimais. Pastarieji mechanizmai užtikrina detalesnę užklausų analizę ir leidžia apsisaugoti nuo specifinių turinio valdymo sistemos pažeidžiamumų. Tokiu būdu formuojamas daugiasluoksnis apsaugos modelis, kuris mažina kibernetinių grėsmių poveikį tiek infrastruktūros, tiek programinės įrangos lygmeniu bei mažina priklausomybę nuo vieno apsaugos mechanizmo [88, 89, 90, 91, 92, 93, 94].
2) Proaktyvus pažeidžiamumų valdymas – tai automatizuotas procesas, skirtas sistemingai vertinti svetainės komponentų saugumą, tikrinant „WordPress“ branduolio, temų ir įskiepių versijas, siekiant nustatyti potencialias saugumo spragas. Šiuolaikiniai saugumo įskiepiai skenavimo rezultatus lygina su centralizuotomis, nuolat atnaujinamomis pažeidžiamumų duomenų bazėmis, tokiomis kaip „Patchstack Vulnerability Database“, „Wordfence Intelligence“ ar „WPScan Vulnerability Database“. Šiose bazėse kaupiama informacija apie žinomus „WordPress“ ekosistemos pažeidžiamumus, pateikiama jų klasifikacija, rizikos lygis ir techniniai aprašai [95, 96, 97].
Svarbu pažymėti, kad dauguma šių pažeidžiamumų kyla dėl pasenusių ar neprižiūrimų komponentų, kurie tampa lengvu taikiniu atakoms. Todėl pažeidžiamumų skenavimo funkcija atlieka esminį prevencinį vaidmenį – ji leidžia laiku identifikuoti kritines spragas ir įgyvendinti apsaugos priemones, pavyzdžiui, atnaujinti ar laikinai išjungti nesaugius komponentus, dar prieš jiems tampant realiu atakos vektoriumi.
3) Kenkėjiško kodo aptikimas ir failų vientisumo stebėsena yra svarbūs „WordPress“ svetainių saugumo komponentai, užtikrinantys ankstyvą grėsmių identifikavimą ir sistemos integralumo palaikymą. Kenkėjiško kodo aptikimo mechanizmai dažniausiai remiasi žinomų kenksmingų parašų (angl. malware signatures) ar kodo fragmentų analize, leidžiančia nustatyti įterptą kenkėjišką turinį. Tuo tarpu failų vientisumo stebėsena grindžiama svetainės failų būsenos palyginimu su etaloninėmis „WordPress“ branduolio, temų bei įskiepių versijomis arba ankstesniais patikimais ir saugiais įrašais. Tokia sisteminė priežiūra leidžia operatyviai nustatyti neautorizuotus pakeitimus ir įspėti administratorių, sudarant galimybes laiku reaguoti į galimus saugumo incidentus [98, 99, 100].
4) Kompleksiniai saugumo įskiepiai integruoja pažangias autentifikacijos priemones, skirtas užtikrinti prieigą prie administravimo aplinkos tik įgaliotiems vartotojams. Šios priemonės apima prisijungimo bandymų skaičiaus ribojimą, IP adresų filtravimą, dviejų veiksnių autentifikacijos (2FA) taikymą bei automatinio įspėjimo mechanizmų įgyvendinimą reaguojant į neįprastus prisijungimus. Be pagrindinės autentifikacijos kontrolės, saugumo įskiepiai dažnai suteikia papildomas apsaugos funkcijas, skirtas sumažinti potencialių saugumo pažeidimų riziką, tokias kaip numatytojo administratoriaus prisijungimo adreso slėpimas ar paskyros vardo atskleidimo ribojimas, mažinant autentifikacijos duomenų nutekėjimo tikimybę [101, 102, 103]. Šių priemonių derinys sukuria daugiasluoksnę autentifikacijos apsaugą, kuri užtikrina patikimą prieigos kontrolę prie administravimo aplinkos.
5) Veiklos žurnalų (angl. audit log) funkcionalumas kompleksiniuose saugumo įskiepiuose suteikia galimybę sistemingai registruoti įvairius svetainės įvykius, įskaitant sėkmingus ir nesėkmingus prisijungimus, vartotojo paskyrų kūrimą, slaptažodžių keitimą, įskiepių ar temų diegimą, konfigūracijos pakeitimus ir kitus svarbius sistemos įvykius. Išsami įvykių registracija sudaro pagrindą saugumo incidentų analizei, leidžia identifikuoti galimus pažeidimus ir įvertinti jų poveikį sistemai. Be to, integruoti įspėjimų mechanizmai informuoja administratorius apie svarbius įvykius, galinčius signalizuoti apie sutrikimus ar grėsmes, taip stiprinant proaktyvų saugumo valdymą [104].
6) Saugumo įskiepiuose dažnai integruojamos papildomos prevencinės priemonės, skirtos sustiprinti svetainės apsaugą nuo įvairaus pobūdžio kibernetinių grėsmių. Tokios priemonės gali apimti failų redagavimo išjungimą per administravimo sąsają, kritinių konfigūracijos failų, tokių kaip „wp-config.php“ ar „.htaccess“, apsaugą nuo viešos prieigos, „WordPress“ versijos informacijos slėpimą, numatytojo duomenų bazės lentelių priešdėlio „wp_“ keitimą, automatizuotų atakų prevencijos mechanizmus ar kitas panašias saugumo gerinimo funkcijas. Tokiu būdu integruotos prevencinės priemonės tampa svarbiu saugumo architektūros komponentu, užtikrinančiu sistemos patikimumą ir atsparumą kibernetinėms grėsmėms [102, 103, 105, 106, 107, 108, 109].
Šios apžvelgtos funkcinės sritys atspindi pagrindines „WordPress“ kompleksinių saugumo įskiepių galimybes, tačiau jų spektras gali skirtis ir priklauso nuo konkretaus pasirinkto sprendimo. Vieni gali teikti pirmenybę proaktyviam pažeidžiamumų valdymui, kiti – akcentuoti realaus laiko apsaugą pasitelkiant ugniasienę ar žalingo kodo aptikimą [110]. Vertinant tokius sprendimus, svarbu atsižvelgti, ar jų siūlomos funkcijos atitinka keliamus saugumo reikalavimus bei į jų suderinamumą su esama infrastruktūra bei kitomis naudojamomis priemonėmis.
Žemiau pateikiamas „WordPress“ saugumo įskiepių sąrašas, atspindintis plačiai naudojamus sprendimus šioje ekosistemoje:
- „Wordfence Security – Firewall, Malware Scan, and Login Security“ (virš 5 mln. aktyvių įdiegimų, kūrėjas „Defiant“) [111];
- „Jetpack – WP Security, Backup, Speed, & Growth“ (virš 4 mln. aktyvių įdiegimų, kūrėjas „Automattic“) [112];
- „Really Simple Security – Simple and Performant Security“ (virš 4 mln. aktyvių įdiegimų, kūrėjas „Really Simple Plugins“) [113];
- „All-In-One Security (AIOS) – Security and Firewall“ (virš 1 mln. aktyvių įdiegimų, kūrėjas „TeamUpdraft“) [114];
- „Security Optimizer – The All-In-One Protection Plugin“ (virš 900 tūkst. aktyvių įdiegimų, kūrėjas „SiteGround“) [115];
- „Solid Security – Password, Two Factor Authentication, and Brute Force Protection“ (virš 800 tūkst. aktyvių įdiegimų, kūrėjas „SolidWP“) [116];
- „Sucuri Security – Auditing, Malware Scanner and Security Hardening“ (virš 700 tūkst. aktyvių įdiegimų, kūrėjas „Sucuri“) [117];
- „MalCare WordPress Security Plugin – Malware Scanner, Cleaner, Security Firewall“ (virš 200 tūkst. aktyvių įdiegimų, kūrėjas „MalCare“) [118];
- „NinjaFirewall (WP Edition) – Advanced Security Plugin and Firewall“ (virš 100 tūkst. aktyvių įdiegimų, kūrėjas „NinTechNet“) [119];
- „Defender Security – Malware Scanner, Login Security & Firewall“ (virš 90 tūkst. aktyvių įdiegimų, kūrėjas „WPMU DEV“) [120];
- „Patchstack – WordPress & Plugins Security“ (virš 30 tūkst. aktyvių įdiegimų, kūrėjas „Patchstack“) [121];
- „Login Security, FireWall, Malware removal by CleanTalk“ (virš 30 tūkst. aktyvių įdiegimų, kūrėjas „CleanTalk“) [122];
- „BulletProof Security“ (virš 30 tūkst. aktyvių įdiegimų, kūrėjas „AITpro“) [123].
Svarbu atsižvelgti ir į saugumo įskiepių veikimo apribojimus: nors jie yra neatsiejama „WordPress“ svetainių apsaugos strategijos dalis, jų funkcionalumas negali užtikrinti absoliučios apsaugos nuo kibernetinių grėsmių. Kibernetiniai nusikaltėliai nuolat kuria priemones, skirtas apeiti arba neutralizuoti šiuos sprendimus. Užfiksuota atvejų, kai specializuota kenkėjiška programinė įranga identifikuoja populiarius saugumo įskiepius ir sistemingai išjungia ar sutrikdo jų veikimą. Siekdami išlaikyti neteisėtą prieigą bei suklaidinti svetainės administratorių, užpuolikai pasitelkia ir sudėtingesnes apgaulės technikas – pavyzdžiui, valdymo skydelyje imituoja įprastą įskiepio veikimą, nors realios apsaugos funkcijos jau būna deaktyvuotos [124, 125, 126, 127].
Be to, rizika kyla ne tik iš išorinių atakų – pažeidžiamumai gali būti aptikti ir pačiuose saugumo įskiepiuose. Nors tokie atvejai nėra plačiai paplitę, jie patvirtina, jog programinės įrangos pažeidžiamumai, įskaitant ir saugumo įskiepius, yra neišvengiama dinamiškos kibernetinio saugumo ekosistemos dalis. Žemiau pateikiami keli pavyzdžiai pažeidžiamumų, kurie per pastaruosius metus paveikė „WordPress“ ekosistemą:
- 2025 m. nustatyta kritinė „Melapress Login Security“ įskiepio (versijos 2.1.0–2.1.1) saugumo spraga. Ji leido neautentifikuotiems užpuolikams, žinantiems tam tikrą vartotojo metaduomenų vertę (pvz., vartotojo ID ar el. paštą), apeiti autentifikacijos mechanizmus [128, 129].
- 2025 m. nustatyta kritinė „Security & Malware scan by CleanTalk“ įskiepio (versijose iki 2.149 imtinai) saugumo spraga, kuri leido neautentifikuotiems užpuolikams įkelti kenkėjiškus failus [130].
- 2024 m. nustatyta kritinė saugumo spraga „Really Simple Security“ įskiepyje (versijose 9.0.0–9.1.1.1), kuri paveikė daugiau nei 4 mln. „WordPress“ svetainių ir leido neautorizuotiems vartotojams apeiti autentifikacijos mechanizmus [131].
- 2023 m. „MalCare“ saugumo įskiepyje (versijose iki 5.09 imtinai) buvo nustatyta saugumo spraga, susijusi su API autentifikavimo rakto saugojimu duomenų bazėje atviro teksto formatu. Esant papildomoms pažeidžiamoms svetainės ypatybėms, įsilaužėlis, gavęs prieigą prie minėto rakto, galėjo apsimesti teisėta „MalCare“ paslauga ir perimti svetainės valdymą [132].
- 2022 m. „Jetpack“ įskiepyje (versijose iki 11.3.1 imtinai) buvo aptikta saugumo spraga, leidžianti apeiti ugniasienės apsaugą dėl netikslaus vartotojo IP adreso nustatymo. Ši spraga suteikė galimybę užpuolikams klastoti savo IP adresą [133].
- 2022 m. „All-In-One Security“ įskiepyje (versijose 5.0.0–5.0.7) aptiktos spragos leido apeiti dviejų veiksnių autentifikaciją (2FA) bei nustatytus IP adresų apribojimus prisijungimo puslapyje [134, 135, 136].
Galiausiai, būtina kritiškai vertinti kompleksinių saugumo įskiepių siūlomą funkcionalumą. Kenkėjiškos programinės įrangos aptikimo mechanizmus kritikuoja saugumo tyrėjas C. Alkan, kurio 2023 m. atliktas tyrimas rodo, kad tiek lokalaus, tiek nuotolinio veikimo „WordPress“ skeneriai pasižymi esminiais ribotumais. Lokalūs skeneriai veikia tame pačiame programinės įrangos lygmenyje kaip ir kenkėjiška programa, todėl ši gali siekti manipuliuoti jų veikimu – juos išjungti, pakeisti funkcionalumą ar išvengti aptikimo įtraukdama save į išimčių sąrašą. Be to, tam tikrais atvejais jie nepajėgia identifikuoti dinamiškai sugeneruoto ar vienkartinio kenkėjiško kodo, kuris po atliktos funkcijos iš karto pašalina save, nepalikdamas jokių pėdsakų. Analogiškos problemos kyla ir naudojant nuotolinius sprendimus: nors analizė vykdoma išoriniuose serveriuose, duomenų rinkimas priklauso nuo vietinio įskiepio, veikiančio toje pačioje aplinkoje kaip ir kenkėjiška programa. Tai sudaro galimybes manipuliuoti ar klastoti perduodamą informaciją, taip sukuriant klaidingą svetainės saugumo vaizdą [137, 138].
Pažeidžiamų komponentų aptikimo funkciją detaliai 2021 m. ištyrė Murphy ir kt. savo empiriniame tyrime, kuriame buvo vertinamas vienuolikos populiarių saugumo įskiepių gebėjimas identifikuoti 51 įskiepį su žinomais trūkumais. Tyrimas atskleidė, kad šios funkcijos veiksmingumas skiriasi: nors našiausi įskiepiai, tokie kaip „SecuPress“ (aptiko 43) ir „Wordfence“ (aptiko 42), identifikavo didžiąją dalį pažeidžiamumų, kiti, pavyzdžiui, „Security Ninja“ (16) ar „Titan Anti-spam & Security“ (11), aptiko gerokai mažiau. Svarbu paminėti, kad daugiau nei pusė tirtų įskiepių savo nemokamose versijose šios funkcijos išvis nesiūlė [139]. Nors tyrimas atliktas prieš kelerius metus, jo išvados išlieka aktualios ir pagrindžia teiginį, jog pasikliauti vien automatizuotais įrankiais yra rizikinga. Todėl svetainių administratoriams iškyla būtinybė savarankiškai domėtis naudojamų komponentų saugumu ir kritiškai vertinti galimą poveikį sistemai.
Šie analizuoti aspektai leidžia daryti prielaidą, kad kompleksinių saugumo įskiepių naudojimas tam tikrais atvejais gali sukurti klaidingą saugumo jausmą. Efektyvi svetainės apsauga turi būti grindžiama ne vien statiniu pasitikėjimu įdiegtais įrankiais, bet ir holistiniu požiūriu, apimančiu rizikos vertinimą, nuolatinę stebėseną bei gebėjimą lanksčiai adaptuoti gynybos mechanizmus prie kintančių grėsmių. Be to, svarbu kritiškai vertinti paties saugumo įskiepio patikimumą ir papildyti jį nepriklausomomis apsaugos priemonėmis, kurios nebūtinai yra tiesiogiai susijusios su „WordPress“ aplinka, pavyzdžiui, išorinėmis ugniasienėmis ar serverio lygmens saugumo priemonėmis.
Vis dėlto būtina pripažinti, kad saugumo sprendimų kūrėjai nuolat siekia prisitaikyti prie kintančio kibernetinių grėsmių pobūdžio. Pavyzdžiui, „Wordfence“ nuosekliai tobulina savo sprendimus, remdamasi plačia pažeidžiamumų duomenų baze ir realiuoju laiku atnaujinamu grėsmių informacijos srautu (angl. threat defense feed). Grėsmių žvalgybos komanda sistemingai tiria realius incidentus, analizuodama kenkėjiškos programinės įrangos pavyzdžius, identifikuodama naujas atakų technikas ir jas integruodama į apsaugos mechanizmus. Panaši tyrimų veikla būdinga ir kitoms organizacijoms: „Sucuri“, „Patchstack“ bei „Automattic“ („Jetpack“, „WPScan“) taip pat nuolat renka, analizuoja ir sistemina duomenis apie nustatytas grėsmes, pažeidžiamumus bei taikomas atakų metodikas [22, 140, 141, 142, 143, 144, 145]. Toks nuolatinės analizės, atnaujinimų ir adaptacijos procesas leidžia saugumo įrankiams veiksmingai neutralizuoti tiek plačiau paplitusias, tiek „WordPress“ ekosistemai būdingas grėsmes, todėl jie išlieka svarbia aktyvios svetainės gynybos dalimi.
Papildomai, analizuojant kompleksinių įskiepių veikimą, naudinga pažymėti, kad dėl savo funkcionalumo jie tam tikrais atvejais gali neigiamai paveikti svetainės našumą. Dažniausiai tai pasireiškia vykdant intensyvius procesus, tokius kaip kenkėjiškos programinės įrangos skenavimas, lokalios ugniasienės veikimas ar kiti realaus laiko apsaugos mechanizmai, kurie nuolat analizuoja duomenų srautą. Šis poveikis ypač ryškus bendro naudojimo (angl. shared hosting) aplinkose bei didelės apimties svetainėse, kur resursų poreikis yra gerokai didesnis.
Pavyzdžiui, dalis vartotojų yra nurodę, kad naudojant „Wordfence“ – vieną populiariausių saugumo įskiepių „WordPress“ ekosistemoje – gali padidėti puslapio įkėlimo trukmė bei sulėtėti tam tikros svetainės funkcijos, ypač kai vykdomi kenkėjiškos programinės įrangos skenavimo procesai ar apdorojamas didelis lankytojų srautas [146, 147, 148]. Vis dėlto šie našumo pokyčiai nebūtinai yra kliūtis tokio pobūdžio sprendimų naudojimui – daugeliu atvejų jie gali būti suvaldyti užtikrinant pakankamus serverio resursus, optimizuojant svetainės struktūrą bei mažinant nereikalingų procesų apkrovą [149, 150, 151]. Alternatyviai, galima rinktis kitus saugumo sprendimus, pavyzdžiui, „Sucuri Security“ ar „MalCare“, kurių ugniasienė ir kenkėjiškos programinės įrangos aptikimas vykdomi išoriniuose, debesijos pagrindu veikiančiuose serveriuose, taip sumažinant tiesioginę apkrovą svetainės infrastruktūrai.
Prisijungimo bandymų ribojimas
Automatizuotų slaptažodžių spėliojimo (angl. brute-force) ir pavogtų prisijungimo duomenų panaudojimo (angl. credential stuffing) atakų mastą atskleidžia 2024 m. „Wordfence“ statistika: per metus užfiksuota ir blokuota daugiau nei 55 mlrd. bandymų prisijungti prie „WordPress“ svetainių, kurie buvo vykdomi iš beveik 136 mln. unikalių IP adresų [20]. Ši statistika atskleidžia ne tik didžiulį tokių atakų mastą, bet ir būtinybę taikyti papildomas autentifikacijos apsaugos priemones.
Viena iš dažniausiai naudojamų priemonių yra prisijungimo bandymų ribojimas (angl. rate limiting). Šio metodo esmė – nustatyti ribą, kiek nesėkmingų prisijungimų galima atlikti per tam tikrą laiko intervalą (pvz., per dešimt minučių). Viršijus šią ribą, sistema laikinai blokuoja prisijungimus iš konkretaus IP adreso arba apriboja prieigą prie naudotojo paskyros. Toks mechanizmas gali sumažinti automatizuotų atakų efektyvumą ir riboti papildomą serverio apkrovą, kurią sukelia intensyvios ir pasikartojančios prisijungimo užklausos.
Vis dėlto šis metodas nėra be trūkumų. Ribojimas gali būti panaudotas prieš pačią sistemą – pavyzdžiui, inicijuojant daugybę nesėkmingų prisijungimų įmanoma sukelti paslaugos trikdymą, laikinai užblokuojant teisėtų naudotojų prieigą. Problemiški yra ir atvejai, kai atakos vykdomos iš organizacijos vidaus tinklo: tokiu atveju naudojamas IP adresas gali būti laikomas patikimu, todėl ribojimai jam netaikomi, o tai leidžia vykdyti neribotus bandymus. Tuo tarpu, jei išorinis IP adresas nėra laikomas patikimu, jis gali būti pasitelktas tikslinei atakai, kurios tikslas – sutrikdyti visos organizacijos prieigą prie sistemos.
Nors didžioji dalis automatizuotų atakų prieš tokias sistemas kaip „WordPress“ yra atsitiktinės ir plataus masto, būtina įvertinti ir tikslinių bei vidinių atakų galimybę. Grėsmė gali kilti ne tik iš išorės, bet ir iš vidaus – per darbuotojus, partnerius ar paslaugų teikėjus, turinčius prieigą prie tinklo. Todėl saugumo strategijos turi apimti tiek išorinių, tiek vidinių grėsmių valdymą.
Autentifikacijos ribojimo priemonių efektyvumą mažina ir paskirstytos atakos, naudojančios tarpininkavimo serverių (angl. proxy) tinklus. Prisijungimo užklausos nukreipiamos per tūkstančius skirtingų IP adresų, todėl kiekvienas jų atskirai gali neviršyti nustatytų ribų ir taip išvengti blokavimo. Tokių atakų mastą dar labiau padidina komercinės paslaugos, siūlančios prieigą prie plataus ir nuolat atnaujinamo IP adresų tinklo, apimančio milijonus unikalių adresų iš įvairių pasaulio regionų [158].
Nepaisant šių iššūkių, prisijungimo bandymų ribojimas išlieka svarbia papildoma apsaugos priemone. Ji efektyviai apsaugo nuo nesudėtingų masinių atakų, vykdomų iš pavienių arba nedidelio skaičiaus IP adresų, ir padidina jų vykdymo kaštus. Dėl to autentifikacijos ribojimo mechanizmas reikšmingai prisideda prie bendro sistemos atsparumo. Tačiau siekiant didesnio saugumo, prisijungimo bandymų ribojimas gali būti derinamas su kitomis apsaugos priemonėmis, pavyzdžiui, įrenginio skaitmeninio atspaudo (angl. device fingerprinting) analize, padedančia identifikuoti pasikartojančius atakos šaltinius, IP adresų reputacijos analize, leidžiančia blokuoti užklausas iš žinomų kenkėjiškų tinklų, bei vaizdinių ar loginio mąstymo užduočių integravimu.
Autentifikacijos ribojimą galima įgyvendinti naudojant specializuotus „WordPress“ įskiepius, skirtus prisijungimo bandymų kontrolei ir apsaugai nuo automatizuotų atakų. Tarp dažniausiai naudojamų sprendimų:
- „Limit Login Attempts Reloaded – Login Security, Brute Force Protection, Firewall“ (virš 2 mln. aktyvių įdiegimų, kūrėjas „WPChef“) [159];
- „Loginizer“ (virš 1 mln. aktyvių įdiegimų, kūrėjas „Softaculous“) [160];
- „Login Lockdown & Protection“ (virš 100 tūkst. aktyvių įdiegimų, kūrėjas „WebFactory“) [161];
- „WP fail2ban – Advanced Security“ (virš 100 tūkst. aktyvių įdiegimų, kūrėjas „invisnet“) [162].
Papildomą apsaugą nuo automatizuotų užklausų užtikrina CAPTCHA technologijos. Žemiau pateikiami keli plačiai naudojami šios srities sprendimai:
- „Advanced Google reCAPTCHA“ (virš 200 tūkst. aktyvių įdiegimų, kūrėjas „WebFactory“), integruojantis „Google reCAPTCHA“ į prisijungimo, registracijos, slaptažodžio atkūrimo ir komentarų formas [163];
- „hCaptcha for WP“ (virš 70 tūkst. aktyvių įdiegimų, kūrėjas „hcaptcha“), tai privatumu grįsta „Google reCAPTCHA“ alternatyva, padedanti apsaugoti prisijungimo, registracijos, slaptažodžio atkūrimo, komentarų ir kitas formas nuo automatizuotų robotų ir piktnaudžiavimo [164].
Autentifikacijos saugumo funkcijos dažnai integruojamos ir į kompleksinius saugumo įskiepius, kurie buvo aptarti anksčiau šiame straipsnyje. Renkantis konkretų autentifikacijos saugumui skirtą įskiepį, svarbu įvertinti jo funkcionalumą, suderinamumą su naudojama „WordPress“ versija bei kitomis svetainėje veikiančiomis priemonėmis. Kai kurie įskiepiai siūlo platų apsaugos funkcijų spektrą – nuo prisijungimo bandymų ribojimo iki ugniasienės bei kenkėjiškos veiklos stebėsenos. Vis dėlto dėl savo kompleksiškumo jie gali apkrauti sistemą arba sukelti suderinamumo problemų. Todėl sprendimas turėtų būti pagrįstas konkrečiais svetainės poreikiais: ar reikalinga tik bazinė prisijungimo kontrolė, ar išplėstinis saugumo sprendimas.
Prisijungimo prieigos ribojimas naudojant IP adresus
Vienas iš plačiai taikomų autentifikacijos stiprinimo metodų yra prieigos ribojimas pagal IP adresų leidžiamąjį (baltąjį) sąrašą (angl. allowlist, whitelist). Tokiu atveju prieiga prie administracinės aplinkos suteikiama tik iš anksto patvirtintiems IP adresams, o visi kiti bandymai automatiškai atmetami. Tai sudaro papildomą prieigos kontrolės lygmenį ir gali išlikti veiksminga net tais atvejais, kai neteisėti asmenys įgyja galiojančius autentifikacijos duomenis.
Šis metodas yra tinkamiausias organizacijoms, kurios naudoja statinius (nekintamus) IP adresus, nes tokiu atveju galima patikimai identifikuoti prieigos šaltinius. Tačiau praktikoje dažnai susiduriama su situacijomis, kai naudotojų IP adresai nuolat keičiasi – tai būdinga nuotoliniam darbui, mobiliajam internetui ar interneto paslaugų tiekėjų tinklams, kuriuose adresai priskiriami dinamiškai. Tokiais atvejais IP adreso kaita gali lemti prieigos sutrikimus, jei nauji adresai nėra laiku įtraukiami į leidžiamąjį sąrašą [165].
Siekdamos suderinti saugumą ir prieigos lankstumą, organizacijos dažnai pasitelkia hibridinius sprendimus – pavyzdžiui, reikalauja autentifikacijos per virtualų privatų tinklą (VPN), kurio išvesties IP adresas yra fiksuotas ir žinomas. Tokiu atveju naudotojo IP adreso kaita neturi tiesioginės įtakos prieigos kontrolės politikai [166].
Vis dėlto IP adresų leidžiamasis sąrašas turi ribotą veiksmingumą. Ši priemonė neapsaugo nuo vidinių grėsmių: jei prieigą prie tinklo įgyja neautorizuotas asmuo (pvz., darbuotojas ar paslaugų teikėjas), jo IP adresas gali būti klaidingai laikomas patikimu. Be to, metodas neapsaugo nuo atakų, inicijuojamų iš kompromituotų įrenginių organizacijos viduje. Dėl šios priežasties IP adresų pagrindu grindžiama kontrolė turėtų būti taikoma tik kaip papildomas gynybos sluoksnis platesnėje saugumo strategijoje.
Jeigu dėl techninių ar organizacinių apribojimų nėra galimybės naudoti IP adresų leidžiamojo sąrašo, alternatyva gali būti geografinis filtravimas. Tokiu atveju prieiga prie administracinės aplinkos ribojama pagal IP adresų kilmę – pavyzdžiui, leidžiant prisijungimus tik iš konkrečios šalies. Šis metodas ypač aktualus, kai prieiga prie turinio valdymo sistemos yra reikalinga tik iš vienos geografinės vietos.
Geografinis filtravimas leidžia apriboti prieigą iš nepatikimų išorinių šaltinių, tarp jų ir naudojančių anonimizavimo paslaugas (pvz., VPN, TOR tinklą ar tarpinio serverio infrastruktūrą). Nors kai kurios šių paslaugų gali veikti leidžiamame regione ir sudaryti sąlygas apeiti ribojimus, vis dėlto tokia priemonė ypač veiksminga kaip prevencinis filtras prieš automatizuotas plataus masto atakas [167, 168, 169, 179].
IP adresų filtravimas gali būti įgyvendinamas skirtinguose informacinės sistemos lygmenyse, priklausomai nuo jos architektūros ir administravimo aplinkos. Vienas iš dažniausiai taikomų metodų – serverio lygmens ribojimas, naudojant žiniatinklio serverių, tokių kaip „Apache“ ar „Nginx“, konfigūraciją.
Pavyzdžiui, „Apache“ serverio konfigūracijoje IP adreso pagrindu grįsta prieigos kontrolė gali būti įgyvendinama dviem pagrindiniais būdais, priklausomai nuo naudojamos versijos [170]:
Apache 2.2
Order Deny,Allow
Deny from all
Allow from 123.123.123.123
Allow from 111.111.111.111Apache 2.4 ir naujesnės versijos
<RequireAny>
Require ip 123.123.123.123
Require ip 111.111.111.111
</RequireAny>Šie konfigūracijos fragmentai gali būti taikomi tiek pagrindiniuose serverio konfigūracijos failuose (pvz., „httpd.conf“ ar virtualiųjų „hostų“ aprašymuose), tiek „.htaccess“ faile, jei serveryje leidžiamas šios funkcijos naudojimas (AllowOverride nustatymas nėra išjungtas). Vis dėlto, dėl našumo ir saugumo sumetimų rekomenduojama naudoti pagrindinius konfigūracijos failus, kai tai įmanoma [171].
Kitas plačiai taikomas IP adresų filtravimo metodas – prieigos ribojimas tinklo perimetro lygmeniu, pasitelkiant išorinius apsaugos sprendimus, tokius kaip „Cloudflare“. Naudojant šią platformą, IP adresų pagrindu grindžiama prieigos kontrolė įgyvendinama per individualiai konfigūruojamas ugniasienės taisykles. Tai leidžia filtruoti srautą dar prieš jam pasiekiant vidinę infrastruktūrą. Administravimo sąsajoje galima nurodyti konkretų IP adresą, jų diapazoną ar geografinę vietovę, kuriems būtų taikomos atitinkamos leidimo ar blokavimo taisyklės [172]. Šis metodas ypač naudingas siekiant sumažinti serverio apkrovą ir atremti automatizuotas atakas bei bandymus apeiti lokalią prieigos kontrolę.
IP adresų ribojimas gali būti įgyvendinamas ir „WordPress“ turinio valdymo sistemoje, pasitelkiant tam skirtus įskiepius. Ši galimybė tampa ypač aktuali aplinkose, kur naudotojai neturi tiesioginės prieigos prie serverio ar tinklo lygmens saugumo konfigūravimo – pavyzdžiui, naudojant bendro naudojimo (angl. shared hosting) paslaugas. Tokiais atvejais įskiepiai suteikia galimybę lanksčiai valdyti prieigos ribojimus per administravimo sąsają, todėl yra tinkami tiek pažengusiems, tiek mažiau techninės patirties turintiems naudotojams.
Kaip buvo aptarta ankstesnėje skiltyje, daugelis autentifikacijos apsaugos funkcijų yra integruotos į kompleksinius saugumo įskiepius, kurie vienu metu užtikrina įvairias apsaugos priemones. Šie sprendimai leidžia centralizuotai valdyti svarbiausius saugumo aspektus – nuo prieigos kontrolės ir žinomų grėsmių stebėsenos iki automatizuoto reagavimo į įtartiną veiklą.
Serverio lygmens slaptažodžio autentifikacija
Viena iš papildomų priemonių, skirtų sustiprinti „WordPress“ administracinės dalies saugumą, yra slaptažodžio autentifikacijos implementavimas serverio lygiu, naudojant „HTTP Basic Authentication“. Šis metodas konfigūruojamas serverio nustatymuose, pavyzdžiui, „Apache“ aplinkoje, taikant „.htaccess“ ir „.htpasswd“ failus. Dažniausiai ši apsauga taikoma „wp-admin“ katalogui, o autentifikacija vykdoma dar prieš pagrindinio svetainės programinio kodo įvykdymą, taip sumažinant nepageidaujamo srauto patekimą į „WordPress“ sistemą [173].
„WordPress“ kūrėjams skirtoje administravimo ir saugumo dokumentacijoje „HTTP Basic Authentication“ įvardijama kaip papildomas saugumo sluoksnis, skirtas riboti neteisėtą prieigą [174]. Vis dėlto ši autentifikacijos forma neturėtų būti taikoma kaip vienintelė priemonė, o veikiau kaip papildantis sprendimas kartu su kitomis apsaugos praktikomis.
Siekiant sumažinti riziką, rekomenduojama autentifikacijos konfigūracijos failus laikyti už svetainės šakninio katalogo ribų, taip apribojant jų tiesioginę pasiekiamumą per naršyklę. Be to, būtina užtikrinti, kad autentifikacija vyktų naudojant HTTPS protokolą, kuris šifruoja visą duomenų perdavimą ir taip apsaugo prisijungimo kredencialus nuo perėmimo bei stiprina bendrą sistemos saugumą [173, 175, 178].
Taip pat būtina atsižvelgti į galimas suderinamumo problemas. Netinkamai įgyvendinus serverio lygmens autentifikaciją, gali sutrikti kai kurių įskiepių ar temų funkcionalumas, kuriems reikalinga laisva prieiga prie specifinių administracinės dalies failų. Todėl rekomenduojama atidžiai įvertinti svetainės veikimo ypatumus ir, esant reikalui, numatyti būtinus išimčių taikymus [176, 177].
Jei svetainėje nėra registruotų naudotojų ar viešų prisijungimo funkcijų, rekomenduojama papildomai apsaugoti ir „wp-login.php“ failą. Tokiu būdu prisijungimo forma tampa neprieinama be papildomo slaptažodžio.
Naudojant „Apache“ žiniatinklio serverį, „HTTP Basic Authentication“ gali būti įgyvendinta „.htaccess“ faile, nurodant apsaugos taisykles. Toliau pateiktas pavyzdys iliustruoja, kaip konfigūruoti papildomą slaptažodžio reikalavimą tiek „wp-login.php“ failui, tiek „wp-admin“ katalogui.
„.htaccess“ failo konfigūracija šakniniame kataloge
<Files "wp-login.php">
AuthName "WordPress prisijungimo apsauga"
AuthType Basic
AuthUserFile "/pilnas/kelias/iki/.htpasswd"
Require valid-user
</Files>„.htaccess“ failo konfigūracija „/wp-admin“ kataloge
AuthName "WordPress administracijos zona"
AuthType Basic
AuthUserFile "/pilnas/kelias/iki/.htpasswd"
Require valid-user
# Leidžiama prieiga prie admin-ajax.php failo
<Files "admin-ajax.php">
Require all granted
</Files>
# Leidžiama prieiga prie admin-post.php failo
<Files "admin-post.php">
Require all granted
</Files>Slaptažodžių duomenys saugomi atskirame „.htpasswd“ faile, kurį galima sugeneruoti įvairiais būdais. Linux sistemose dažniausiai naudojamas oficialus „Apache“ įrankis „htpasswd“, leidžiantis kurti ir atnaujinti naudotojų autentifikacijos duomenų failus. Pavyzdžiui, komanda
htpasswd -c /kelias/iki/.htpasswd naudotojo_vardassukuria naują failą ir leidžia įvesti slaptažodį, kuris yra užšifruojamas naudojant saugius algoritmus. Tokiu būdu užtikrinamas duomenų saugumas ir suderinamumas su „Apache“ serverio autentifikacijos mechanizmu. Naudotojams, neturintiems tiesioginės prieigos prie komandinės eilutės, yra prieinami vieši slaptažodžių generavimo įrankiai, kurie sugeneruoja „naudotojo_vardas:užkoduotas_slaptažodis“ formato eilutę, tinkamą įrašyti į „.htpasswd“ failą.
Numatytojo administracinio prisijungimo adreso keitimas
Pagal numatytąją konfigūraciją „WordPress“ prisijungimo forma yra pasiekiama viešai, naudojant standartinius adresus, tokius kaip „/wp-login.php“ ar „/wp-admin“. Kadangi šie adresai yra lengvai atspėjami, jie dažnai tampa automatizuotų atakų taikiniais ir nuolat tikrinami siekiant aptikti galimus pažeidžiamumus.
2025 m. „ServerAvatar“ atlikta išsami „WordPress“ saugumo analizė parodė, kad viena reikšmingiausių rizikų yra viešai prieinama ir tinkamai neapsaugota administratoriaus prisijungimo sąsaja. Tyrimas, apėmęs beveik 70 tūkst. svetainių, atskleidė, kad 62,77 % jų naudoja nepakeistą numatytąjį prisijungimo adresą, o tai ženkliai padidina tikimybę tapti automatizuotų atakų taikiniu [180].
Atsižvelgiant į šią riziką, rekomenduojama keisti numatytąjį adresą į nestandartinį, sunkiau nuspėjamą (pvz., „/slaptas-prisijungimas“), taip sumažinant automatizuotų užklausų srautą ir apsunkinant prisijungimo formos aptikimą. Vis dėlto ši priemonė turėtų būti vertinama tik kaip papildomas apsaugos sluoksnis, kurį būtina derinti su kitomis saugumo praktikomis.
Administratoriaus prisijungimo sąsajos slėpimo metodas iš esmės remiasi „saugumo per nežinomybę“ (angl. security by obscurity) koncepcija – tai yra, prieigos taškų ar kitos sistemos informacijos slėpimu, tikintis, kad potencialus įsilaužėlis ar saugumo spragų ieškantis asmuo jų nepastebės. Nors prieigos taškų slėpimas tam tikrais atvejais padeda sumažinti automatizuotų užklausų srautą, jis neužtikrina visiško atsparumo organizuotoms, kryptingai vykdomoms atakoms, kurių metu įsilaužėliai gali naudotis labiau sofistikuotais informacijos paieškos metodais ar nutekėjusiais duomenimis [181, 182]. Be to, prisijungimo adreso keitimas gali sukelti suderinamumo problemų su kai kuriais įskiepiais ar sisteminėmis integracijomis, todėl būtina įvertinti galimas pasekmes visos svetainės infrastruktūros veikimui [183].
Nepaisant aukščiau minėtų ribojimų, praktinė patirtis rodo, kad prisijungimo adreso keitimas gali būti veiksmingas papildomas saugumo komponentas, ypač mažinant automatizuotų atakų intensyvumą. Šis sprendimas turėtų būti įgyvendinamas kaip viena iš kelių priemonių, sudarančių sluoksninės saugos strategijos pagrindą. Metodas turėtų būti derinamas su kitomis saugumo priemonėmis, tokiomis kaip prieigos ribojimas pagal IP adresus, prisijungimų bandymų limitavimas, dviejų veiksnių autentifikacija ir reguliarus saugumo atnaujinimų diegimas.
Prisijungimo puslapio adreso pakeitimui dažniausiai pasitelkiami specializuoti įskiepiai. Vienas iš plačiausiai naudojamų sprendimų – „WPS Hide Login“ (virš 1 mln. aktyvių įdiegimų, kūrėjas Remy Perona) [184]. Ši priemonė leidžia lengvai nustatyti alternatyvų prisijungimo kelią, nekeičiant pagrindinių sistemos failų. Panaši funkcija taip pat dažnai integruojama kompleksiniuose saugumo įskiepiuose. Prieš diegiant bet kurį sprendimą rekomenduojama kruopščiai įvertinti esamas apsaugos priemones ir jų tarpusavio suderinamumą.
Administratoriaus vartotojo vardo keitimas
Viena iš dažnai pasitaikančių, tačiau saugumo požiūriu ydingų „WordPress“ diegimo praktikų – administratoriaus paskyros sukūrimas naudojant naudotojo vardą „admin“. Šis vardas dažnai tampa pagrindiniu automatizuotų prisijungimo atakų taikiniu. Kadangi sėkmingai autentifikacijai būtini tiek naudotojo vardas, tiek slaptažodis, viešai žinomo ir lengvai atspėjamo vardo naudojimas eliminuoja vieną iš apsaugos sluoksnių, taip padidinant galimų atakų sėkmės tikimybę.
Nors vien informacijos slėpimas, kaip aptarta anksčiau šiame straipsnyje, nėra laikomas pakankama apsaugos strategija, „WordPress“ dokumentacijoje pažymima, kad naudotojo vardo pakeitimas į unikalesnį vis tiek gali reikšmingai sumažinti automatinių prisijungimo atakų tikimybę [174]. Panašias rekomendacijas pateikia ir „OWASP“ gairės, skirtos „WordPress“ saugumo užtikrinimui. Jose akcentuojama ne tik naudotojo vardo reikšmė, bet ir tai, kad numatytajai administratoriaus paskyrai dažnai priskiriamas identifikacinis numeris „1“. Ši lengvai nuspėjama vertė gali būti išnaudojama įvairaus tipo atakoms – pavyzdžiui, prisijungimo vardui nustatyti ar kenksmingoms duomenų bazės SQL užklausoms formuoti [185].
Plataus masto automatizuota ataka, įvykdyta 2013 m., aiškiai parodė, kokią grėsmę kelia standartiniai administratoriaus prisijungimo duomenys. Šiai atakai buvo pasitelktas daugiau nei 90 tūkst. užkrėstų įrenginių sudarantis kenkėjiškas tinklas, kuris sistemingai bandė prisijungti prie „WordPress“ svetainių naudodamas vardą „admin“ ir dažniausiai pasitaikančių slaptažodžių kombinacijas. Kaip pabrėžė „WordPress“ įkūrėjas M. Mullenweg, dėl plataus IP adresų spektro tokie įprasti apsaugos būdai kaip prisijungimų dažnio ribojimas ar kenkėjiško tinklo blokavimas tapo praktiškai neveiksmingi. Nors nuo 2010 m. „WordPress“ diegimo metu suteikiama galimybė pasirinkti unikalų naudotojo vardą, šis incidentas atskleidė, kad standartinio vardo „admin“ naudojimas vis dar išlieka aktuali saugumo spraga, ypač jei administratoriai nesiima net bazinių apsaugos priemonių [186, 187, 188].
Remiantis naujesniais duomenimis, ši problema išlieka aktuali ir šiuolaikiniame kontekste. 2023 m. sausio–rugsėjo mėn. nutekėję daugiau nei 1,8 mln. administratoriaus paskyrų slaptažodžių buvo išanalizuoti „Outpost24“ grėsmių žvalgybos komandos „KrakenLabs“. Tyrimo rezultatai atskleidė, kad dažniausiai pasitaikęs slaptažodis buvo „admin“ – jis sudarė daugiau nei 40 tūkst. įrašų. Tai rodo ne tik slaptažodžių silpnumą, bet ir leidžia pagrįstai manyti, jog kartu gali būti naudojami ir standartiniai arba lengvai atspėjami naudotojo vardai [189].
Be to, naudotojo vardas „admin“ gali kelti riziką ir netiesiogiai – net ir nesant autentifikacijos mechanizmų pažeidimų. Vienas iš to pavyzdžių – „ThemeGrill Demo Importer“ įskiepio saugumo spraga (versijose 1.3.4–1.6.1), leidusi neautentifikuotiems naudotojams inicijuoti visos duomenų bazės atkūrimą į pradinius parametrus. Tuo metu įskiepis buvo įdiegtas daugiau nei 200 tūkst. aktyvių „WordPress“ svetainių. Jei tokioje svetainėje egzistavo paskyra su vardu „admin“, įskiepis automatiškai prie jos prisijungdavo ir suteikdavo pilnas administravimo teises [190]. Šis atvejis iliustruoja, kaip plačiai žinomo naudotojo vardo buvimas gali prisidėti prie sistemos kompromitavimo net ir neturint tiesioginio priėjimo prie prisijungimo formos.
Naudotojo vardo keitimas gali būti įgyvendinamas tiek pasitelkiant specializuotus saugumo įskiepius, minėtus ankstesniuose skyriuose, tiek ir atliekant rankinius pakeitimus duomenų bazėje. Pastaruoju atveju gali būti vykdoma SQL užklausa, atnaujinanti reikšmę lentelėje „wp_users“ [191]:
UPDATE `wp_users` SET user_login = 'unikalus_administratoriaus_vardas' WHERE user_login = 'admin';Prieš atliekant bet kokius tiesioginius duomenų bazės pakeitimus būtina sukurti svetainės atsarginę kopiją, kad būtų užtikrinta galimybė atkurti duomenis kilus sutrikimams. Taip pat svarbu, jog šiuos veiksmus atliktų tik reikiamą techninę kompetenciją turintis specialistas – tai padės išvengti duomenų vientisumo pažeidimų ar kitų sutrikimų.
Kaip jau minėta, papildomą riziką kelia numatytasis administratoriaus paskyros identifikacinis numeris (ID), dažniausiai reikšmė „1“. Ši reikšmė „OWASP“ gairėse nurodoma kaip papildomas potencialių atakų vektorius [185]. Vis dėlto, naudotojo ID reikšmės keitimas „WordPress“ sistemoje yra sudėtingesnis nei naudotojo vardo koregavimas. Ši reikšmė sistemoje veikia kaip pirminis raktas (angl. primary key), susiejantis naudotoją su visa su juo susijusia informacija – įrašais, komentarais, metaduomenimis bei kitais duomenų bazės elementais. Neatsargus šio identifikatoriaus keitimas gali sukelti reliacinių ryšių tarp lentelių pažeidimus, dėl kurių atsiranda funkciniai svetainės sutrikimai ar net duomenų praradimas [192, 193]. Dėl šios priežasties naudotojo ID turėtų būti keičiamas atsakingai ir turint aiškų supratimą apie duomenų bazės struktūrą ir galimas pasekmes.
Vis dėlto svarbu suprasti, kad vien naudotojo vardo ar identifikacinio numerio keitimo nepakanka – šios priemonės yra efektyvios tik tuomet, kai derinamos su papildomais žingsniais, stabdančiais naudotojų vardų atskleidimą, apie kuriuos plačiau aptariama kitoje skiltyje.
Naudotojų vardų identifikavimo prevencija
Naudotojų paskyrų išvardijimo (angl. user enumeration) galimybė turinio valdymo sistemose, tokiose kaip „WordPress“, kelia informacijos saugumo riziką. Ši technika leidžia identifikuoti galiojančius naudotojo vardus, pasitelkiant jų identifikacinius numerius (angl. user id), kurie net ir būdami unikalūs ar sunkiai nuspėjami, gali būti aptinkami. Pavyzdžiui, standartizuota užklausa „/?author=ID“ daugelyje „WordPress“ sistemų leidžia atskleisti naudotojo vardą, susietą su konkrečiu identifikatoriumi. Toks informacijos atskleidimas formuoja prielaidas tolesniems, tikslingiems kibernetiniams veiksmams ir yra laikytinas reikšmingu saugumo trūkumu [194, 195].
Turėdamas galiojantį naudotojo vardą, atakos vykdytojas gali inicijuoti slaptažodžių spėjimo atakas, kurių metu bandomi įvairūs slaptažodžių variantai. Tokiu atveju viena iš dviejų autentifikacijos dalių jau yra žinoma, todėl reikšmingai sumažėja atakos sudėtingumas ir padidėja jos sėkmės tikimybė.
Be techninių pavojų, naudotojų išvardijimas sudaro sąlygas socialinės inžinerijos atakoms, tokioms kaip tikslingas sukčiavimas (angl. phishing), kurių metu atakos vykdytojai, naudodamiesi žinomais naudotojo vardais, siunčia personalizuotas ir autentiškai atrodančias užklausas, siekdami išvilioti papildomos informacijos arba prisijungimo duomenų. Tokio tipo atakos gali būti nukreiptos tiek į sistemos administratorius, tiek į kitus registruotus naudotojus ir pasižymi dideliu efektyvumu, nes išnaudoja žmogiškojo faktoriaus patiklumo aspektą.
Naudotojų vardų atskleidimo rizikai mažinti gali būti taikomi specializuoti įskiepiai. Vienas jų – „Stop User Enumeration“ (virš 50 tūkst. įdiegimų, kūrėjas „Fullworks“). Šis įrankis automatiškai blokuoja naudotojų informacijos gavimo užklausas, vykdomas per standartinius URL, REST API sąsają, oEmbed mechanizmą bei svetainės žemėlapį (angl. sitemap). Be to, įskiepis leidžia registruoti įtartinus IP adresus ir, esant poreikiui, integruojamas su „fail2ban“ sistema, taip suteikiant galimybę taikyti papildomas apsaugos priemones serverio lygmenyje [196].
Alternatyvus metodas – rankinis sistemos konfigūravimas serverio arba aplikacijos lygmeniu, leidžiantis tiksliai apibrėžti apsaugos taisykles ir išvengti priklausomybės nuo trečiųjų šalių kodo. Šis požiūris suteikia didesnę kontrolę ir leidžia įgyvendinti individualiai pritaikytus saugumo sprendimus. Pagrindiniai prevencijos veiksmai apima šių atakos vektorių blokavimą [197, 198, 199]:
- Prisijungimo ir slaptažodžio atkūrimo formos. Rekomenduojama modifikuoti sistemos atsakymus į nesėkmingus prisijungimo bandymus, kad jie būtų neutralūs ir nesuteiktų jokios informacijos apie tai, ar klaida susijusi su naudotojo vardu, ar slaptažodžiu. Pavyzdžiui, vietoje konkrečių klaidų pranešimų būtų naudojamas bendrinis tekstas, toks kaip „Įvesti neteisingi duomenys“. Analogiškai, slaptažodžio atkūrimo formos turėtų visada grąžinti vienodą atsakymą, nepriklausomai nuo įvestų duomenų teisingumo, siekiant išvengti papildomos informacijos nutekėjimo apie registruotus naudotojus.
- Autorių archyvai. Siekiant išvengti informacijos apie autorius atskleidimo, užklausos į autorių archyvus (pvz., „/?author=ID“) gali būti blokuojamos arba nukreipiamos į bendrąjį svetainės puslapį.
- REST API galiniai taškai. Galimybė pasiekti maršrutus, kuriuose gali būti atvaizduojami autorių duomenys (pvz., „/wp-json/wp/v2/users“, „/wp-json/wp/v2/posts“, „/wp-json/oembed/1.0/embed?url=“), turėtų būti apribota tik autorizuotiems naudotojams arba užtikrinama, kad šie duomenys nebūtų viešai prieinami.
- XML-RPC sąsaja. Per „xmlrpc.php“ pasiekiamos funkcijos, tokios kaip „wp.getAuthors“, gali atskleisti vartotojų prisijungimo vardus ir kitą jautrią informaciją. Jei šios sąsajos funkcionalumas nėra būtinas, rekomenduojama apriboti ar visiškai blokuoti prieigą prie jos serverio lygyje.
- Šablono (temos) failai. Atliekant kodo auditą, rekomenduojama pašalinti funkcijas (pvz., „the_author()“), kurios viešai atvaizduoja autorių prisijungimo vardus.
- RSS srautai. Tikslinga modifikuoti RSS srauto generavimo funkciją taip, kad žymoje „dc:creator“ būtų pateikiamas viešas slapyvardis arba ši žyma apskritai nebūtų generuojama.
- Svetainės žemėlapiai ir struktūruoti duomenys. Siekiant riboti informacijos apie autorius atskleidimą, rekomenduojama patikrinti, kad automatiškai generuojami svetainės žemėlapiai ir JSON-LD formato struktūruoti duomenys neįtrauktų autorių vardų ar nuorodų į jų archyvinius puslapius.
Apibendrinant, išvardinti vartotojų identifikavimo vektoriai sudaro tik dalį galimų rizikos taškų. Kadangi šie mechanizmai ir jų poveikis nuolat kinta, o kibernetinės grėsmės evoliucionuoja, naujų pažeidžiamumų atsiradimas yra neišvengiamas. Siekiant užtikrinti sistemų atsparumą aktualioms grėsmėms, būtina nuosekliai vykdyti stebėseną, fiksuoti ir analizuoti naujai identifikuotus pažeidžiamumus. Tik tokia nuolatinė ir kryptinga priežiūra leidžia laiku adaptuoti taikomas apsaugos priemones bei išlaikyti jų veiksmingumą dinamiškoje kibernetinėje aplinkoje.
Sesijų valdymas
Siekdami sumažinti neteisėtos prieigos prie naudotojų paskyrų riziką, būtina diegti automatizuotus atsijungimo mechanizmus, kurie aktyvuojami po nustatyto naudotojo neveiklumo laikotarpio. Jeigu naudotojas ilgesnį laiką neatlieka jokių veiksmų, sistema turi automatiškai nutraukti aktyvią sesiją. Toks sprendimas reikšmingai sumažina tikimybę, kad paskyra bus pasiekta be leidimo – ypač tais atvejais, kai įrenginys paliekamas be priežiūros arba kai piktavaliai pasinaudoja sesijos perėmimo (angl. session hijacking) metodais [200, 201, 202].
Daugelyje internetinių sistemų, įskaitant ir „WordPress“, naudotojų autentifikacija grindžiama sesijos identifikatoriais (angl. session ID), kurie dažniausiai saugomi naršyklės slapukuose. Jei toks slapukas yra perimamas – pavyzdžiui, pasinaudojus kenkėjiška programine įranga, nesaugiu viešuoju „Wi-Fi“ tinklu ar svetainės saugumo spragomis – piktavalis asmuo gali gauti prieigą prie naudotojo paskyros be papildomos autentifikacijos [203, 204, 205, 206, 207].
Remiantis „WeWatchYourWebsite“ 2023 m. atlikta plataus masto „WordPress“ svetainių įsilaužimų analize, nustatyta, kad pavogti sesijos slapukai sudaro reikšmingą atakos vektorių, atsakingą už maždaug 60 % sėkmingų įsilaužimų. Tyrimo autoriai pažymi, kad sesijos perėmimo atakos pasižymi dideliu sėkmės rodikliu, nes „WordPress“ branduolyje nėra numatytų apsaugos mechanizmų šiai grėsmei neutralizuoti. Tokios atakos ypač pavojingos, nes leidžia apeiti standartines autentifikavimo apsaugos priemones, įskaitant dviejų veiksnių autentifikavimą. Slapukai dažniausiai panaudojami per pirmąsias 48 val. nuo perėmimo, o įjungus funkciją „Prisiminti mane“, jų galiojimas gali būti pratęstas iki 14 d., taip išplečiant įsilaužėlių galimybes [208].
Svarbu pažymėti, kad nors 60 % rodiklis rodo didelę sesijos slapukų perėmimo reikšmę, jis yra diskutuotinas saugumo ekspertų bendruomenėje. Pavyzdžiui, kibernetinio saugumo bendrovė „MalCare“ kritiškai vertina šiuos teiginius, laikydamasi pozicijos, kad pagrindine įsilaužimų priežastimi išlieka žinomų saugumo spragų išnaudojimas [209]. „WeWatchYourWebsite“ tyrimo autoriai nurodo, kad sesijų perėmimo tendencija gali būti reikšmingai pakeista masinio naujai atrastų kritinių pažeidžiamumų išnaudojimo atvejais [208]. Dėl šių svyravimų, nors tikslus procentinis pasiskirstymas gali keistis priklausomai nuo tuo metu aktyvių grėsmių, sesijos slapukų vagystės išlieka reikšminga saugumo problema.
Tai pabrėžia, kad itin svarbu užtikrinti sesijos nutraukimą laiku, nes palikta aktyvi sesija sudaro sąlygas slapuko perėmimui išlikti veiksmingu įsilaužimo vektoriumi. Be to, būtina rūpintis vartotojo įrenginio apsauga – naudoti patikimą antivirusinę programinę įrangą ir reguliariai tikrinti sistemas kenkėjiškos programinės įrangos aptikimui. „WordPress“ aplinkoje rekomenduojama išjungti funkciją „Prisiminti mane“, taip sutrumpinant slapuko galiojimo laiką ir apribojant potencialių atakų galimybes [210].
Sesijos slapukų perėmimo problemos mastą patvirtina ir 2025 m. balandžio mėn. „NordVPN“ atliktas tyrimas, atskleidęs, kad iš viso buvo pavogta beveik 94 mlrd. naršyklės slapukų, iš kurių apie 20 % išliko aktyvūs. Šie duomenys, surinkti iš naudotojų 253 šalyse, buvo platinami per „Telegram“ kanalus ir tamsųjį internetą (angl. dark web). Kibernetinio saugumo ekspertas A. Warmenhoven iš „NordVPN“ atkreipia dėmesį, kad pavogtas naršyklės slapukas savo keliama grėsme prilygsta slaptažodžio praradimui, nes „jį perėmus, galima nedelsiant pasiekti paskyras ir jautrią informaciją be jokio papildomo autentifikavimo“, keliant pavojų šimtams milijonų naudotojų visame pasaulyje [211, 212].
Atsižvelgiant į šias rizikas, praktikoje svarbu taikyti sprendimus, kurie užtikrintų sesijų valdymo kontrolę. Vienas iš tokių sprendimų – įskiepis „Inactive Logout“ (virš 20 tūkst. aktyvių įdiegimų, kūrėjas Deepen Bajracharya). Šis įskiepis leidžia administratoriams nustatyti neveiklumo laiką, po kurio sesija automatiškai nutraukiama. Taip pat galima rodyti naudotojui išankstinį įspėjimą apie artėjantį atsijungimą, pavyzdžiui, pasitelkiant atgalinį laikmatį ar pranešimą [213].
Papildomai prie sesijos trukmės valdymo, kitas esminis saugumo elementas yra tinkamas slapukų konfigūravimas. Siekiant sumažinti jų perėmimo riziką, taikomi specialūs saugumo atributai, ribojantys sesijos slapukų perdavimą ir pasiekiamumą. Pavyzdžiui, „WordPress“ turinio valdymo sistemoje sesijų slapukų saugumą galima sustiprinti redaguojant „wp-config.php“ failą ir jame nurodant šias direktyvas [214, 215, 216, 217]:
ini_set('session.cookie_secure', true);ini_set('session.cookie_httponly', true);ini_set('session.use_only_cookies', true);Veiklos žurnalo įskiepio naudojimas
Informacinių sistemų saugumo architektūroje veiklos žurnalas (angl. activity log) laikytinas vienu iš esminių komponentų, užtikrinančių veiksmų skaidrumą, atskaitomybę ir incidentų analizės galimybes. „WordPress“ turinio valdymo sistemoje, kurioje naudotojų veiksmų kontrolė grindžiama lanksčiomis rolėmis ir plačiomis administravimo funkcijomis, veiklos žurnalas įgyja ypatingą reikšmę kaip integruota saugumo priemonė [220, 221, 222].
Veiklos žurnalo paskirtis – sistemingai dokumentuoti naudotojų veiksmus, įskaitant prisijungimus, slaptažodžių keitimus, privilegijų koregavimą, turinio atnaujinimus, įskiepių diegimą ar konfigūracijos pakeitimus. Tokie įrašai sudaro nuoseklų chronologinį įvykių pėdsaką, leidžiantį identifikuoti atsakingus asmenis bei tiksliai nustatyti atliktų veiksmų laiką ir pobūdį. Ši funkcija itin svarbi atliekant retrospektyvius saugumo incidentų tyrimus. Kartu registravimo mechanizmas veikia kaip prevencinė priemonė, nes žinojimas, jog veiksmai yra fiksuojami, mažina piktnaudžiavimo riziką [104, 220, 223, 224, 225, 226, 227, 228, 229].
Numatytosios „WordPress“ funkcijos neapima išsamaus naudotojų veiklos registravimo, todėl veiklos žurnalo funkcionalumas turi būti įdiegtas papildomai. Priklausomai nuo saugumo poreikių ir techninių išteklių, tai gali būti įgyvendinta pasitelkiant specializuotus įskiepius arba taikant individualiai kurtus sprendimus, integruojamus su išorinėmis saugos ar audito sistemomis. Tarp plačiausiai taikomų įskiepių išsiskiria šie:
- „Simple History – Track, Log, and Audit WordPress Changes“ (virš 300 tūkst. aktyvių įdiegimų, kūrėjas Pär Thernström) [230];
- „Activity Log – Monitor & Record User Changes“ (virš 200 tūkst. aktyvių įdiegimų, kūrėjas „Elementor“) [231];
- „WP Activity Log“ (virš 200 tūkst. aktyvių įdiegimų, kūrėjas „Melapress“) [232];
- „Stream“ (virš 70 tūkst. aktyvių įdiegimų, kūrėjas „XWP“) [233].
Renkantis veiklos žurnalo sprendimą, būtina užtikrinti duomenų vientisumą ir griežtą prieigos kontrolę. Veiklos žurnalas praranda savo vertę, jei jo įrašai gali būti redaguojami, šalinami ar klastojami tiek sistemos administratoriaus, tiek piktavališkų subjektų. Siekiant užtikrinti patikimumą, kritiška, kad žurnalas būtų saugomas nepriklausomoje aplinkoje, atskiroje nuo pagrindinės „WordPress“ duomenų bazės. Rekomenduojama praktika – eksportuoti žurnalą į atskirą saugyklą ar integruoti jį su saugumo informacijos ir įvykių valdymo (angl. security information and event management, SIEM) sistemomis [221, 224, 234, 235].
Ne mažiau svarbi yra ir žurnalo peržiūros teisė. Nors administratoriui dažniausiai priskiriamas aukščiausias prieigos lygis, vadovaujantis saugumo principais, prieiga prie žurnalo įrašų peržiūros ir valdymo jam turi būti apribota. Tokia prieiga turi būti suteikiama tik atskiriems subjektams, atsakingiems už saugumą ir auditą, kurie yra nepriklausomi nuo kasdienės sistemos administracijos. Toks funkcijų atskyrimas užtikrina žurnalo vientisumą ir objektyvų įvykių atkūrimą net kilus vidinėms grėsmėms, pavyzdžiui, neleistinai administratoriaus veiklai [221, 224, 234, 235].
Galiausiai būtina kritiškai įvertinti renkamų duomenų apimtį ir kokybę. Atsakingi specialistai turi užtikrinti surinktų duomenų pakankamumą efektyviam potencialaus saugumo įvykio tyrimui, nes nepakankama informacija gali apsunkinti arba visiškai sutrukdyti įvykio analizę. Be pagrindinio veiklos žurnalo, būtina atkreipti dėmesį į kitus svarbius sisteminius žurnalus, tokius kaip klaidų registrai, serverio veiklos žurnalai bei autentifikacijos įrašai. Šių papildomų žurnalų analizė suteikia išsamesnį kontekstą, leidžia tiksliau atsekti įvykių eigą ir identifikuoti galimus saugumo pažeidimus [221, 234, 235].
HTTPS protokolo įgalinimas „WordPress“ svetainėje
Didėjant duomenų srautams, intensyvėjant vartotojų sąveikai su internetinėmis sistemomis ir plečiantis elektroninių paslaugų spektrui, saugus duomenų perdavimas tampa neatskiriama informacinių sistemų architektūros dalimi. Vienas pagrindinių šio saugumo komponentų yra HTTPS (angl. Hypertext Transfer Protocol Secure) protokolas, užtikrinantis šifruotą ryšį tarp vartotojo naršyklės ir serverio.
HTTPS yra HTTP protokolo išplėtinys, papildytas SSL/TLS (angl. Secure Sockets Layer / Transport Layer Security) šifravimo sluoksniu. Naudojant įprastą HTTP, duomenys perduodami nešifruoti, todėl gali būti perimti arba modifikuoti. Tokia rizika itin didelė sistemoms, kurios apdoroja jautrią informaciją – asmens duomenis, prisijungimo kredencialus ar mokėjimo duomenis. Grėsmę dar labiau sustiprina vieši prieigos taškai, pavyzdžiui, nemokami Wi-Fi tinklai, kurie sudaro palankias sąlygas nešifruotos informacijos perėmimui [236, 237].
Saugumui užtikrinti būtina įdiegti SSL/TLS sertifikatą, kuris suteikia svetainės tapatumo patvirtinimą ir sudaro sąlygas užšifruotam ryšiui. Plačiai taikomi nemokami sertifikatai, tokie kaip „Let’s Encrypt“, dažnai jau būna integruoti į bendro naudojimo hostingo paslaugas [238, 239, 240]. Vis dėlto pats sertifikato įdiegimas nėra pakankamas – būtina užtikrinti, kad visa svetainės veikla vyktų tik per HTTPS protokolą.
„WordPress“ turinio valdymo sistemoje šis procesas apima kelis žingsnius. Pirmiausia atnaujinami pagrindiniai svetainės URL nustatymai, pakeičiant juos į HTTPS formą. Tada pašalinamas mišrus turinys (angl. mixed content), atsirandantis, kai puslapis įkeliamas per HTTPS, bet dalis jo elementų vis dar pasiekiami per HTTP. Mišrus turinys mažina apsaugos lygį, gali sukelti naršyklių įspėjimus ar net turinio blokavimą, todėl būtina užtikrinti, kad visi vidiniai resursai būtų įkeliami tik per saugų protokolą [241, 242].
Papildomai galima padidinti administravimo zonos saugumą, „wp-config.php“ faile apibrėžiant konstantą, kuri užtikrina kad prisijungimo ir administravimo veiksmai būtų vykdomi tik per šifruotą ryšį [243]:
define( 'FORCE_SSL_ADMIN', true );Kai visi svetainės ištekliai jau veikia per HTTPS, būtina įdiegti priverstinį peradresavimą iš HTTP į HTTPS. Tai galima įgyvendinti keliais būdais [242, 244, 245]:
- Žiniatinklio serverio konfigūracija (pvz., „.htaccess“ faile, naudojant RewriteRule taisykles „Apache“ serveriuose):
RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] - „HTTP Strict Transport Security“ antraštės pagalba.
- Naudojant „WordPress“ įskiepius, kurie automatizuotai užtikrina peradresavimą ir apsaugą nuo nesaugių užklausų.
Sklandžiam HTTPS diegimui dažnai pasitelkiami įskiepiai, tokie kaip „Really Simple Security – Simple and Performant Security“ (virš 4 mln. aktyvių įdiegimų, kūrėjas „Really Simple Plugins“) [113], kurie automatizuoja protokolo konversiją, peradresavimus ir mišraus turinio korekciją. Tačiau ilgalaikiam patikimumui rekomenduojama pirmenybę teikti tinkamai serverio ir turinio valdymo sistemos konfigūracijai, o įskiepius naudoti tik kaip pagalbinę priemonę.
Atlikus konfigūracijos darbus, būtina patikrinti sistemos veikimą. Tam gali būti pasitelkiami išoriniai testavimo įrankiai, pavyzdžiui, „Qualys SSL Labs“ paslauga „SSL Server Test“ (https://www.ssllabs.com/ssltest/), kuri pateikia išsamią sertifikato, šifravimo konfigūracijos ir potencialių pažeidžiamumų analizę [246].
XML-RPC funkcionalumo išjungimas WordPress aplinkoje
XML-RPC (angl. XML Remote Procedure Call) – tai 1998 m. D. Winer („UserLand Software“) ir „Microsoft“ sukurtas protokolas, skirtas nuotoliniams procedūrų kvietimams tinklu. Jame duomenys perduodami XML formatu, o komunikacija vyksta naudojant HTTP protokolą. „WordPress“ turinio valdymo sistemoje XML-RPC integruotas nuo 1.5 versijos (2005 m.), siekiant užtikrinti trečiųjų šalių programų bei paslaugų sąveiką su platforma. Protokolas sudaro galimybę atlikti įvairius veiksmus nuotoliniu būdu – nuo autentifikacijos iki naujo turinio kūrimo, redagavimo ar informacijos gavimo, nepasitelkiant naršyklės administracinės sąsajos [247, 248, 249, 250].
Iš pradžių XML-RPC funkcionalumas buvo išjungtas pagal nutylėjimą, tačiau naudotojai galėjo jį aktyvuoti rankiniu būdu. Nuo „WordPress“ 3.5 versijos (2012 m.) ši funkcija įjungta automatiškai, o jos valdymo parinktys pašalintos iš naudotojo sąsajos. Toks sprendimas priimtas siekiant palengvinti nuotolinę prieigą mobiliesiems įrenginiams ir išorinėms publikavimo platformoms [249, 250, 251].
Laikui bėgant, saugumo tyrėjai identifikavo reikšmingų pažeidžiamumų, susijusių su XML-RPC. Dokumentuota, kad ši sąsaja gali būti išnaudojama automatizuotam prisijungimo duomenų spėjimui (angl. brute-force), paslaugų trikdymo atakoms (angl. denial of service), taip pat serverio IP adreso atskleidimui net ir naudojant žiniatinklio programų užkardas (angl. web application firewall, WAF). Dėl šių rizikų saugumo rekomendacijose pabrėžiama, jog kiekvienu atveju būtina įvertinti, ar XML-RPC funkcionalumas iš tiesų reikalingas konkrečiai svetainei. Jei ne, jis turėtų būti išjungtas arba ribojamas papildomomis apsaugos priemonėmis [248, 249, 250, 252].
Nuo „WordPress“ 4.7 versijos (2016 m.) platformoje palaikomas REST API – modernesnis mechanizmas, skirtas nuotolinėms integracijoms. REST API pasižymi platesniu funkcionalumu, didesniu našumu bei pažangesnėmis autentifikacijos ir prieigos valdymo galimybėmis. Todėl daugeliu atvejų REST API laikomas tinkamesniu sprendimu nei pasenęs XML-RPC [248, 249, 253].
Siekdami sumažinti saugumo rizikas, administratoriai gali taikyti kelis XML-RPC išjungimo arba ribojimo metodus. Jie gali būti įgyvendinami tiek žiniatinklio serverio, tiek „WordPress“ sistemos lygmenimis [248, 249, 254, 255]:
- Žiniatinklio serverio konfigūracija. „Apache“ aplinkoje prieigą prie XML-RPC galima apriboti serverio konfigūracijoje arba „.htaccess“ faile, pavyzdžiui:
<Files "xmlrpc.php"> Require all denied </Files> - „WordPress“ sistemos konfigūracija. Protokolo funkcionalumą galima išjungti pačioje turinio valdymo sistemoje naudojant filtrą:
function remove_xmlrpc_methods( $methods ) { return array(); } add_filter( 'xmlrpc_methods', 'remove_xmlrpc_methods' );
Be serverio ar pačios „WordPress“ konfigūracijos pakeitimų, XML-RPC funkcionalumą galima kontroliuoti naudojant kompleksinius saugumo įskiepius, kurie plačiau aptarti ankstesnėse straipsnio dalyse. Jie dažnai siūlo šios sąsajos išjungimo ar ribojimo galimybę kaip dalį platesnio apsaugos priemonių rinkinio. Toks sprendimas ypač naudingas tais atvejais, kai administratoriai neturi tiesioginės prieigos prie serverio aplinkos, tačiau siekia centralizuotai valdyti kelias saugumo funkcijas.
XML-RPC funkcionalumo prieinamumui galima pasitelkti viešai prieinamą paslaugą „WordPress XML-RPC Validation Service“ (https://xmlrpc.blog/). Šis įrankis siunčia automatizuotas užklausas į „xmlrpc.php“ failą ir pagal gautą atsaką nustato, ar XML-RPC sąsaja yra aktyvi ir pasiekiama iš išorės [256].
Saugos antraštės
HTTP saugos antraštės (angl. security headers) – tai saugumui skirtos HTTP atsako antraštės, kuriomis serveris perduoda naršyklei taikytinas saugumo politikos taisykles. Jos reglamentuoja turinio apdorojimą, išteklių įkėlimą bei naršyklės veiksmus, taip sudarydamos papildomą apsaugos sluoksnį. Tinkamai įgyvendintos saugos antraštės reikšmingai sumažina įvairių kibernetinių grėsmių poveikio riziką [257, 258, 259, 260, 261].
Nepaisant jų svarbos, saugos antraščių diegimas interneto svetainėse išlieka fragmentiškas ir nepakankamas. 2025 m. atliktas „ServerAvatar“ tyrimas parodė, kad 84,66 % analizuotų „WordPress“ svetainių neturėjo tinkamai sukonfigūruotų saugos antraščių [180]. Panašius rezultatus atskleidė ir 2024 m. daugiau nei 3 tūkst. svetainių analizė, kurios metu nustatyta, jog 55,66 % tirtų svetainių netinkamai įgyvendino pagrindines saugos antraštes [262]. Ankstesni tyrimai taip pat patvirtina šią tendenciją: 2020 m. „Rapid7“ nustatė, kad tik 7 % iš milijono labiausiai lankomų „Alexa“ sąrašo svetainių buvo įdiegę tinkamai sukonfigūruotą turinio saugumo politiką [263]. Šie rezultatai rodo, kad nepakankamas saugos antraščių taikymas riboja naršyklių galimybes efektyviai apsaugoti naudotojus nuo turinio, kuris gali būti panaudotas duomenų vagystėms, neteisėtiems peradresavimams ar kitoms žalingoms veikoms vykdyti.
Toliau aptariamos kelios pagrindinės saugos antraštės, kurios taikomos praktikoje ir sudaro svarbią naršyklių apsaugos mechanizmų dalį. Svarbu pažymėti, jog pateikiama apžvalga nėra baigtinė – egzistuoja daugiau specializuotų antraščių. Šio skyriaus tikslas yra supažindinti su pagrindine saugos antraščių samprata ir jų teikiama nauda, o išsamios informacijos rekomenduojama ieškoti oficialiose specifikacijose.
1) Content Security Policy
Turinio saugumo politikos (angl. Content Security Policy, CSP) antraštė apibrėžia leistinus išteklių šaltinius, kuriuos naršyklė gali įkelti ir vykdyti. Tokiu būdu ribojamas neautorizuoto ar kenkėjiško kodo įterpimas ir mažinama rizika, susijusi su XSS atakomis, kai į svetainę įterptas kodas vykdomas naudotojo naršyklėje. Tokios atakos gali lemti naudotojo sesijos perėmimą, klaidinančios informacijos rodymą arba kitus veiksmus, sudarančius sąlygas jautrių duomenų nutekėjimui ir tolesnėms kibernetinėms atakoms [264, 265, 266, 267].
Turinio saugumo politikos veikimas grindžiamas direktyvų rinkiniu, kuris apibrėžia, iš kokių šaltinių naršyklė gali įkelti konkrečius išteklius. Kiekviena direktyva taikoma tam tikram turinio tipui, o jų derinys leidžia suformuoti nuoseklią saugumo politiką. Pagrindinės turinio gavimo (angl. fetch) direktyvos:
- default-src – numatytasis šaltinis, kai kitos direktyvos nenurodytos.
- script-src – <script> elementų šaltiniai.
- frame-src – <frame> ir <iframe> turinio šaltiniai.
- img-src – vaizdų ir kitų įterptų (<embed>, <applet>) elementų šaltiniai.
- style-src – stiliaus failų šaltiniai.
- font-src – šriftų šaltiniai.
Be išteklių įkėlimo kontrolės, turinio saugumo politika atlieka svarbų vaidmenį apsaugant nuo paspaudimų užgrobimo (angl. clickjacking) atakų. Šių atakų esmė – kenkėjiškoje svetainėje nematomai įterpti tikslinės svetainės elementą (pvz., mygtuką) ir tokiu būdu apgaule paskatinti naudotoją atlikti nepageidaujamą veiksmą. Apsaugai nuo tokio tipo atakų turinio saugumo politikoje taikoma direktyva „frame-ancestors“, kuri nustato, kokie išoriniai šaltiniai gali įterpti svetainę į <frame>, <iframe>, <object> ar <embed> elementus. Ši direktyva laikoma lankstesne ir funkcionalesne už senesnę „X-Frame-Options“ antraštę. Nors abi priemonės gali būti naudojamos kartu, siekiant užtikrinti suderinamumą su senesnėmis naršyklėmis, modernios naršyklės aptikusios abi antraštes pirmenybę suteikia „frame-ancestors“ direktyvai [268, 269].
Svarbu pabrėžti, kad turinio saugumo politika nėra universali priemonė, tinkanti visoms sistemoms. Direktyvų parinkimas turi būti individualiai pritaikytas, atsižvelgiant į konkrečios sistemos architektūrą, turinio pobūdį ir specifinius saugumo poreikius. Žemiau pateikiamas iliustratyvus turinio saugumo politikos antraštės konfigūracijos pavyzdys:
Content-Security-Policy: default-src 'self'; img-src 'self' img.patikimas-saltinis.lt;Šiame pavyzdyje direktyva default-src ‘self’ apibrėžia, kad numatytuoju atveju visi ištekliai gali būti įkeliami tik iš to paties domeno, kuriam priklauso tinklalapis. Tuo tarpu direktyva img-src ‘self’ img.patikimas-saltinis.lt leidžia įkelti paveikslėlius ne tik iš to paties domeno, bet ir iš konkretaus, patikimu laikomo šaltinio. Tokia konfigūracija sustiprina išteklių kilmės kontrolę ir sumažina riziką, jog tinklalapyje bus panaudoti neautorizuoti ar potencialiai kenksmingi resursai.
2) HTTP Strict Transport Security
Griežtoji HTTP perdavimo saugumo politika (angl. HTTP Strict Transport Security, HSTS) – tai žiniatinklio saugumo mechanizmas, skirtas užtikrinti, kad visos užklausos tarp naudotojo naršyklės ir serverio būtų vykdomos tik per HTTPS protokolą. Ši politika reikšmingai sumažina riziką, jog dėl protokolo pažeminimo (angl. protocol downgrade) ar panašių atakų naudotojas būtų priverstas naudoti nesaugų HTTP ryšį. Tokie pažeidimai galėtų sudaryti sąlygas duomenų perėmimui ar jų modifikavimui [245, 261, 270, 271].
HSTS politika įgyvendinama per „Strict-Transport-Security“ antraštę, kurioje nustatomos direktyvos:
- max-age – apibrėžia laikotarpį (sekundėmis), kurį naršyklė privalo naudoti tik HTTPS jungtis su konkrečia svetaine. Iki šio laikotarpio pabaigos bandymai jungtis per HTTP yra automatiškai blokuojami.
- includeSubDomains – numato, kad politika taikoma ne tik pagrindiniam domenui, bet ir visiems jo subdomenams, taip užtikrinant nuoseklų visos infrastruktūros apsaugos lygį.
- preload – reiškia, kad svetainė yra įtraukta į naršyklių palaikomą išankstinį HSTS sąrašą (angl. HSTS preload list). Tokiu atveju naršyklės, dar prieš pirmąją užklausą, žino, jog svetainei privaloma taikyti HSTS, todėl ryšiai per HTTP yra visiškai blokuojami.
Vis dėlto preload direktyvos naudojimas reikalauja atsargumo. Jei HTTPS konfigūracija bus pažeista arba sertifikatas taps negaliojantis, naršyklės, besiremiančios išankstiniu sąrašu, visiškai blokuos prieigą prie svetainės. Paslaugos neprieinamumas gali tęstis, kol administratoriai neatkurs tinkamos konfigūracijos ar naršyklių gamintojai neatnaujins sąrašo. Šis procesas gali užtrukti, todėl neapgalvotas HSTS antraštės diegimas gali turėti kritinių pasekmių paslaugos prieinamumui [272, 273, 274].
Iliustratyvus antraštės pavyzdys:
Strict-Transport-Security: max-age=31536000; includeSubDomains3) X-Content-Type-Options
„X-Content-Type-Options“ – tai HTTP atsako antraštė, skirta apsisaugoti nuo turinio tipo atpažinimo atakų (angl. MIME type sniffing). Jei ši antraštė nenaudojama, naršyklė gali nepaisyti serverio pateiktos „Content-Type“ reikšmės ir, remdamasi failo turiniu, bandyti savarankiškai nustatyti jo tipą. Tokia praktika sukuria riziką, kad, pavyzdžiui, vartotojo įkeltas paveikslėlis su įterptu kenkėjišku kodu bus naršyklės interpretuotas kaip vykdomasis turinys. Tai gali lemti XSS ar kitas atakas, grindžiamas netinkamu turinio apdorojimu [261, 275, 276].
Ši antraštė turi vienintelę reikšmę – „nosniff“, kuri nurodo naršyklei griežtai laikytis serveryje deklaruoto „Content-Type“ tipo ir neatlikti jokio turinio analizavimo.
X-Content-Type-Options: nosniffApibendrinant galima teigti, kad saugos antraštės sudaro reikšmingą šiuolaikinės žiniatinklio apsaugos dalį, nes jos padeda naršyklėms tinkamai interpretuoti serverio pateiktą turinį ir sumažina įvairių atakų, tokių kaip XSS, riziką. Vis dėlto jų veiksmingumas priklauso nuo kelių veiksnių: pirma, nuo naršyklių palaikymo (senesnės naršyklės kai kurių antraščių gali nepaisyti), antra, nuo tinkamos konfigūracijos. Netinkamai sukonfigūruotos antraštės gali ne tik nesuteikti apsaugos, bet ir trukdyti teisėtam svetainės funkcionalumui – pavyzdžiui, per griežtai suformuluota turinio saugumo politika gali blokuoti patikimus išteklius, o pernelyg liberali – leisti įkelti potencialiai žalingą turinį [277, 278, 279].
„WordPress“ turinio valdymo sistemoje saugos antraščių įgyvendinimas gali būti realizuojamas naudojant specializuotus įskiepius. Vienas plačiausiai taikomų sprendimų yra „HTTP Headers“ įskiepis (virš 50 tūkst. aktyvių diegimų, kūrėjas Dimitar Ivanov) [280]. Šis įrankis suteikia galimybę nuosekliai taikyti dažniausiai rekomenduojamas HTTP atsako antraštes, užtikrinant standartizuotą saugumo politikų įgyvendinimą ir mažinant konfigūracinio netikslumo riziką.
Klaidų pranešimų atvaizdavimo išjungimas
Vystymo (angl. development) etape klaidų pranešimų atvaizdavimas ekrane yra įprasta ir būtina praktika, padedanti programuotojams identifikuoti bei šalinti kodo trūkumus. Tačiau produkcinėje (angl. production) aplinkoje ši praktika kelia reikšmingą grėsmę informacijos atskleidimui. Viešai matomi pranešimai, atskleidžiantys jautrias technines detales – tokias kaip serverio failų keliai, katalogų struktūra, komponentų versijos ar duomenų bazės užklausų fragmentai – tampa žvalgybos įrankiu atakos vykdytojams [281, 282, 283, 284].
Sąmoningas sistemos klaidos išprovokavimas dažnai yra vienas iš pirminių atakos etapų, leidžiančių identifikuoti silpnąsias vietas ir suplanuoti tikslingesnes, sudėtingesnes operacijas. Dėl šios priežasties produkcinėse sistemose privaloma išjungti klaidų atvaizdavimą viešai, užtikrinant, kad visa diagnostinė informacija būtų saugiai registruojama žurnaluose, prieinamuose tik autorizuotiems subjektams.
„WordPress“ turinio valdymo sistemoje saugiam klaidų valdymui konfigūruoti pasitelkiamas pagrindinis konfigūracijos failas „wp-config.php“. Šiame faile rekomenduojama atlikti šiuos nustatymus [285]:
// Išjungia pagrindinį „WordPress“ derinimo režimą.
define('WP_DEBUG', false);
// Išjungia „WordPress“ klaidų registravimą į numatytąjį failą „wp-content/debug.log“.
define('WP_DEBUG_LOG', false);
// Išjungia klaidų rodymą ekrane net jei derinimo režimas būtų įjungtas.
define('WP_DEBUG_DISPLAY', false);
// Išjungia derinimo režimą, kuris nurodo „WordPress“ naudoti
// neoptimizuotas CSS ir JavaScript failų versijas.
define('SCRIPT_DEBUG', false);
// Išjungia PHP klaidų atvaizdavimą ekrane.
ini_set('display_errors', 0);
// Įjungia PHP klaidų registravimą.
ini_set('log_errors', 1);
// Nurodo saugų žurnalo failo kelią.
ini_set('error_log', '/pilnas/kelias/iki/error.log');Būtina atsižvelgti, kad funkcija „ini_set()“ gali būti išjungta serverio lygmeniu, ypač bendrojo naudojimo hostingo aplinkose, kur tai daroma saugumo sumetimais. Dėl šios priežasties, atlikus pakeitimus faile „wp-config.php“, privaloma patikrinti, ar nustatymai įsigaliojo. Jeigu „ini_set()“ direktyvos yra ignoruojamos, klaidų valdymą būtina konfigūruoti kitomis priemonėmis. Priklausomai nuo serverio aplinkos, pakeitimus galima atlikti naudojant failus „.user.ini“, „.htaccess“ arba hostingo valdymo sąsaja, jeigu tokia galimybė yra numatyta.
Aplankų indeksavimo ir naršymo išjungimas
Aplankų indeksavimas (angl. directory indexing) – tai serverio funkcija, leidžianti naršyklės naudotojams peržiūrėti konkretaus katalogo turinį, jei jame nėra numatytojo indekso failo, pavyzdžiui, „index.html“ arba „index.php“. Ši funkcija dažnai naudojama svetainės kūrimo ar testavimo metu, siekiant palengvinti failų valdymą, tačiau jos įjungimas veikiančioje aplinkoje gali sukelti reikšmingų saugumo pažeidžiamumų [286, 287].
Leidžiant naršyti „WordPress“ sistemos katalogus, gali būti atskleista kritiškai svarbi informacija, įskaitant įskiepių ir temų failų struktūrą, versijas, konfigūracinius failus ar atsargines kopijas. Toks informacijos nutekėjimas suteikia kibernetiniams užpuolikams vertingų žvalgybos duomenų, leidžiančių identifikuoti svetainės silpnąsias vietas ir suplanuoti tikslingas atakas.
Bendrojo naudojimo aplinkose dauguma hostingo tiekėjų pagal numatytuosius nustatymus yra išjungę aplankų indeksavimą, siekdami apsaugoti klientų svetaines nuo informacijos nutekėjimo. Tačiau šių nustatymų patikrinimas ir užtikrinimas lieka būtinas kiekvienam svetainės administratoriui, nes klaidos konfigūracijoje arba nestandartinių sprendimų taikymas gali indeksavimą įjungti. Ypač pavojinga, kai tokie katalogai yra indeksuojami paieškos sistemų, taip dar labiau didinant galimų atakų pavojų.
Vienas iš plačiai paplitusių žvalgybos metodų, taikomų pažeidžiamų sistemų identifikavimui, yra paremtas specializuotomis paieškos užklausomis, apibrėžiamomis kaip „Google Dorks“ (arba „Google Hacking“). Ši metodika naudoja „Google“ paieškos operatorius, siekiant filtruoti paieškos rezultatus ir aptikti specifines konfigūracijos klaidas. Pavyzdžiui, užklausa intitle:”Index of” „wp-content/” gali akimirksniu atskleisti tūkstančius „WordPress“ svetainių su aktyviu katalogų indeksavimu [288, 289, 290, 291].
Šių užklausų taikymo pavojai ir praktiniai pavyzdžiai aptarti 2021 m. D. Sveikausko straipsnyje, paskelbtame kibernetinio saugumo platformos „PatchStack“ tinklaraštyje. Straipsnyje analizuojama, kaip pasitelkus iš anksto suformuluotas užklausas buvo identifikuoti viešai prieinami katalogai, kuriuose aptikti jautrūs failai, tokie kaip „wp-config.php.txt“ ar svetainių atsarginės kopijos. Autoriaus teigimu, tokie duomenų nutekėjimai leidžia net ir nepatyrusiam įsilaužėliui, be specializuotų įrankių, pasiekti konfidencialią informaciją ir per trumpą laiką perimti svetainės valdymą [292].
Siekdami sumažinti neteisėto prieigos prie jautrių duomenų riziką, rekomenduojama serverio konfigūracijoje išjungti katalogų naršymo funkcionalumą. Pavyzdžiui, „Apache“ serveriuose tai gali būti pasiekiama „.htaccess“ faile nurodant direktyvą „Options -Indexes“, o „Nginx“ serveriuose – konfigūracijos bloke pritaikant „autoindex off;“. Šie nustatymai užtikrina, kad, nesant numatytojo indekso failo, serveris negrąžins katalogo turinio sąrašo, o vietoje to pateiks klaidos pranešimą, taip sumažindamas galimos informacijos nutekėjimo tikimybę [293].
Integruoto failų redaktoriaus išjungimas
Failų redagavimo galimybės išjungimas „WordPress“ turinio valdymo sistemoje yra svarbi saugumo praktika, skirta apsaugoti svetainę nuo neteisėtų ar atsitiktinių kodo pakeitimų per administracinę sąsają. Pagal numatytuosius nustatymus „WordPress“ leidžia administratoriams per naršyklę tiesiogiai keisti temų ir įskiepių failus naudojant integruotą redaktorių. Nors ši funkcija gali būti naudinga testavimo ar kūrimo metu, ji laikoma saugumo rizika veikiančiose svetainėse [294, 295].
Tokio pobūdžio pažeidžiamumai sudaro sąlygas kenkėjiško kodo integracijai į svetainės aplinką. Viena iš dažniausiai sutinkamų priemonių yra vadinamosios atbulinės durys (angl. backdoor), kurios suteikia neteisėtą ir ilgalaikę prieigą prie sistemos net ir po administratoriaus slaptažodžio pakeitimo ar įprastų apsaugos procedūrų įgyvendinimo. Kita praktika – programinio kodo įterpimas, skirtas jautriems duomenims rinkti, pavyzdžiui, autentifikacijos duomenims, naršyklės slapukams, sesijų identifikatoriams ar mokėjimo informacijai.
Vienas iš integruoto redaktoriaus rizikos pavyzdžių yra 2020 m. užfiksuota plataus masto vykdyta kibernetinė kampanija, nukreipta prieš beveik milijoną „WordPress“ turinio valdymo sistemos pagrindu veikiančių svetainių. Atakos metu buvo išnaudojami žinomi pažeidžiamumai populiariuose įskiepiuose ir temose, leidę į svetainės aplinką įterpti kenkėjišką „JavaScript“ kodą. Šio kodo pagrindinis tikslas buvo nustatyti, ar naršyklės vartotojas yra prisijungęs kaip administratorius. Aptikus aktyvią administratoriaus sesiją, įterptas kodas inicijavo failų redagavimą per administracinę sąsają ir į temos failus įdiegė nuotolinę, ilgalaikę prieigą užtikrinantį kenkėjišką komponentą [296].
Siekiant sumažinti minėtą riziką, rekomenduojama „wp-config.php“ konfigūraciniame faile apibrėžti žemiau pateiktą konstantą, kuri išjungia failų redagavimo galimybę per „WordPress“ administravimo sąsają:
define('DISALLOW_FILE_EDIT', true);Ši priemonė pašalina temų ir įskiepių redaktorius iš administracinės aplinkos, taip sumažindama galimybę įdiegti kenksmingą kodą ar atlikti neleistinus pakeitimus be tiesioginės prieigos prie serverio. Siekiant dar aukštesnio saugumo lygio, galima taikyti papildomą konstantą:
define('DISALLOW_FILE_MODS', true);Pastaroji ne tik blokuoja failų redagavimą, bet ir visiškai išjungia galimybę administracinėje sąsajoje diegti, šalinti, įjungti ar atnaujinti įskiepius, temas bei net pačią „WordPress“ branduolio versiją [297].
PHP ir kitų jautrių failų prieigos apribojimas
Vienas esminių saugumo principų, taikytinų „WordPress“ pagrindu veikiančioms turinio valdymo sistemoms, yra vykdomųjų failų, ypač PHP, izoliavimas nuo tiesioginės viešosios prieigos. Šis metodas leidžia reikšmingai sumažinti riziką, susijusią su kenkėjiško kodo įkėlimu ir vykdymu, dažniausiai pasireiškiančią dėl saugumo spragų failų įkėlimo funkcionalume [298]. Remiantis CVE (Common Vulnerabilities and Exposures) duomenų baze, raktažodžių „wordpress file upload“ paieška atskleidžia apie 1 tūkst. registruotų pažeidžiamumų, susijusių su failų įkėlimo mechanizmais – tai patvirtina šios srities svarbą saugumo kontekste [299].
Katalogas „/wp-content/uploads/“ „WordPress“ aplinkoje yra skirtas naudotojų įkeltiems failams saugoti. Dažniausiai tai vaizdinė ar dokumentinė medžiaga, tokia kaip paveikslėliai, PDF dokumentai ar kiti failai. Atsižvelgiant į šią paskirtį, ši direktorija neturėtų talpinti failų, kuriuose įrašytas programinis kodas, galintis būti vykdomas serveryje (pvz., PHP failai). Vis dėlto praktikoje ši vieta neretai tampa išnaudojama kenkėjiškiems tikslams, ypač tada, kai įsilaužėliams pavyksta apeiti failų įkėlimo saugumo mechanizmus. Tokiais atvejais į katalogą gali būti įkeltas pavojingas failas su vykdomuoju kodu, kuris vėliau inicijuojamas pasitelkus tiesioginę HTTP užklausą, pavyzdžiui, naršyklėje įvedus atitinkamą nuorodą [300, 301, 302].
Siekiant šios rizikos išvengti, rekomenduojama serverio lygmeniu uždrausti bet kokį vykdomojo turinio vykdymą šiame kataloge. Žemiau pateikiamas iliustracinis „.htaccess“ konfigūracijos pavyzdys, skirtas „Apache“ žiniatinklio serveriams, kuriuo suteikiama prieiga tik prie leidžiamų failų:
# Blokuojama prieiga prie visų failų
<Files "*">
Require all denied
</Files>
# Leidžiama prieiga prie paveiksliukų
<FilesMatch "(?i)\.(jpe?g|png|gif|webp|avif|heic|heif|bmp|ico|tiff?)$">
Require all granted
</FilesMatch>
# Leidžiama prieiga prie vaizdo failų
<FilesMatch "(?i)\.(mp4|webm|ogg|avi|mov|wmv|flv|m4v|mkv|3gp|ogv)$">
Require all granted
</FilesMatch>
# Leidžiama prieiga prie dokumentų
<FilesMatch "(?i)\.(pdf|doc|docx|xls|xlsx|ppt|pptx|odt|ods|odp)$">
Require all granted
</FilesMatch>
# Leidžiama prieiga prie stiliaus ir „Javascript“ failų, jeigu yra būtinybė
<FilesMatch "(?i)\.(css|js)$">
Require all granted
</FilesMatch>Ši konfigūracija užtikrina, kad tik nurodyti failų tipai bus prieinami per tiesiogines HTTP užklausas, o visi kiti failai, įskaitant potencialiai pavojingus vykdomuosius failus – bus automatiškai blokuojami. Toks metodas yra saugesnis nei vien tik pavojingų plėtinių blokavimas, kadangi pastarieji priklauso nuo žinomų grėsmių sąrašo, kuris gali būti neišsamus. Prieš taikant šią praktiką būtina įvertinti, ar tarp ribojamų failų nėra sistemai būtinų išteklių, pavyzdžiui, „JavaScript“ ar CSS failų, kurie dažnai naudojami įskiepiuose.
Analogiškas saugumo principas taikytinas ir kitiems katalogams, pavyzdžiui, „wp-content/themes“ bei „wp-content/plugins“, kuriuose saugomi temų ir įskiepių failai. Nors šiuose kataloguose dažnai randami PHP failai, daugeliu atvejų jų tiesioginis vykdymas per HTTP užklausas nėra būtinas [355]. Temų kataloguose paprastai pakanka užtikrinti tik statinių išteklių, tokių kaip paveikslėliai, CSS ar „JavaScript“ failai, prieinamumą.
Įskiepių katalogai reikalauja nuodugnesnio vertinimo. Konkretaus įskiepio naudojami failai gali atlikti įvairias funkcijas, pavyzdžiui, failų įkėlimą, REST API užklausų apdorojimą ar automatizuotų užduočių vykdymą. Todėl prieš taikant prieigos apribojimus būtina atlikti išsamią analizę ir nustatyti, kurie failai yra būtini tinkamam sistemos veikimui. Tik atlikus tokį vertinimą galima priimti pagrįstus sprendimus, užtikrinančius balansą tarp saugumo ir funkcionalumo, kartu išvengiant netikėtų svetainės darbo sutrikimų.
Katalogai „/wp-includes/“ ir „/wp-admin/includes/, kaip nurodoma „WordPress“ kūrėjams skirtoje dokumentacijoje, neturėtų būti tiesiogiai pasiekiami per HTTP užklausas. Šiuose kataloguose saugomi esminiai sisteminiai failai, skirti vidiniam veikimui, todėl jų prieinamumas iš išorės gali kelti grėsmę saugumui. Dokumentacijoje pateikiamas rekomenduojamas „.htaccess“ konfigūracijos pavyzdys [174]:
# Block the include-only files.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^wp-admin/includes/ - [F,L]
RewriteRule !^wp-includes/ - [S=3]
RewriteRule ^wp-includes/[^/]+\.php$ - [F,L]
RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L]
RewriteRule ^wp-includes/theme-compat/ - [F,L]
</IfModule>
# BEGIN WordPressBe katalogų prieigos ribojimų, ne mažesnį dėmesį reikia skirti atskirų jautrių failų apsaugai, ypač tų, kuriuose saugoma konfidenciali informacija arba kurių turinys gali būti panaudotas sistemos pažeidžiamumams nustatyti. Vienas pagrindinių tokių failų yra „wp-config.php“, kuriame apibrėžiami duomenų bazės prisijungimo parametrai, autentifikavimo raktai ir kiti kritiniai sistemos nustatymai.
Šį pavojų iliustruoja 2020 m. gegužės pabaigoje užfiksuota plataus masto atakų kampanija, kurią analizavo „Wordfence“. Per kelias dienas jų ugniasienės sistema užblokavo daugiau nei 130 mln. bandymų atsisiųsti „wp-config.php“ failą iš 1,3 mln. svetainių. Šios atakos buvo nukreiptos į žinomas saugumo spragas įskiepiuose ir temos failuose, leidžiančias pasiekti vidinius „WordPress“ failus [303].
Jei serverio aplinka tai leidžia, rekomenduojama „wp-config.php“ failą perkelti už viešai prieinamos žiniatinklio šaknies katalogo ribų. Toks sprendimas sukuria papildomą apsaugos lygmenį, nepriklausomą nuo serverio vidinių prieigos kontrolės taisyklių. Ši praktika yra ypač aktuali atvejais, kai dėl serverio valdymo klaidų, atnaujinimų ar netinkamos konfigūracijos PHP interpretatorius gali nebevykdyti PHP failų, o vietoje to pateikti jų turinį kaip tekstą. Kadangi „wp-config.php“ faile saugoma jautri informacija, tokia aplinkybė gali lemti reikšmingą informacijos saugumo pažeidimą [174, 304, 305].
Jei „wp-config.php“ failo perkėlimas už žiniatinklio šaknies katalogo ribų nėra galimas, būtina serverio konfigūracijos lygmenyje uždrausti prieigą prie šio bei kitų jautrių failų. Tokie failai apima ne tik pagrindinius konfigūracijos ar aplinkos nustatymų dokumentus, bet ir duomenų bazės išrašus, atsargines kopijas, archyvus, versijų kontrolės metaduomenis bei dokumentaciją, kuri gali potencialiam užpuolikui atskleisti vertingą informaciją. Žemiau pateikiamas iliustracinis „.htaccess“ konfigūracijos pavyzdys, skirtas „Apache“ žiniatinklio serveriams, kuriuo užkardoma prieiga prie įvairių failų:
# Kritiniai konfigūracijos failai
<FilesMatch "^(wp-config|config|configuration)\.php$">
Require all denied
</FilesMatch>
# Duomenų bazės, atsarginės kopijos ir konfigūracijų šablonai
<FilesMatch "\.(sql|db|sqlite|sqlite3|bak|backup|old|orig|save|tmp|temp|log|logs|inc|conf|dist|sh|class)$">
Require all denied
</FilesMatch>
# Sistemos konfigūracijos ir versijų kontrolės failai
<FilesMatch "^\.(htaccess|htpasswd|env|user\.ini|access|passwd|git|svn|hg|bzr)">
Require all denied
</FilesMatch>
# Archyvai, šablonai ir šaltinio failai
<FilesMatch "\.(zip|tar|gz|bz2|7z|rar|fla|psd|tpl|twig)$">
Require all denied
</FilesMatch>
# Dokumentacija, licencijos ir atnaujinimų istorija
<FilesMatch "^(readme|changelog|install|upgrade|license).*\.(html|txt|md)$">
Require all denied
</FilesMatch>Failų leidimai
Failų leidimai (angl. file permissions) – tai operacinės sistemos lygmens saugumo mechanizmas, skirtas valdyti prieigą prie failų ir katalogų. Jie apibrėžia, kokias teises turi skirtingi naudotojai konkretiems failų sistemos objektams. Tinkamas šių leidimų konfigūravimas yra kritiškai svarbus norint užtikrinti sistemos saugumą [306, 307, 308, 309].
Linux sistemose, kurios plačiausiai naudojamos žiniatinklio serverių infrastruktūroje, leidimų modelis grindžiamas trimis naudotojų kategorijomis: savininku (angl. owner), grupe (angl. group) ir kitais (angl. others). Kiekvienai kategorijai gali būti priskirtos trys pagrindinės teisės: skaitymo (angl. read, reikšmė – 4), rašymo (angl. write, reikšmė – 2) ir vykdymo (angl. execute, reikšmė – 1) [307, 308, 309].
Leidimai išreiškiami trijų skaitmenų oktaline forma – kiekvienas skaitmuo nurodo sumines teises atitinkamai naudotojų kategorijai. Pavyzdžiui, leidimų režimas 755 reiškia, kad savininkas turi visas teises (4 + 2 + 1 = 7), o grupė ir kiti naudotojai – tik skaitymo ir vykdymo teises (4 + 1 = 5).
„WordPress“ kontekste failų leidimų administravimas yra esminis saugumo valdymo aspektas. Netinkamai sukonfigūruoti leidimai gali sudaryti sąlygas kenkėjiško kodo įdiegimui ar jautrių failų perskaitymui. Nustatant leidimus būtina vadovautis mažiausių teisių principu (angl. principle of least privilege), pagal kurį kiekvienam sistemos subjektui suteikiamos tik tos teisės, kurios būtinos jo funkcijoms atlikti [308, 310, 311, 312].
Vis dėlto šio principo taikymas reikalauja balanso tarp saugumo ir sistemos funkcionalumo. Pernelyg griežti leidimų nustatymai gali sutrikdyti „WordPress“ funkcionalumą, o per liberalūs – sukurti saugumo spragas.
Remiantis „WordPress“ dokumentacija ir saugumo praktikomis, rekomenduojami šie leidimų nustatymai [308, 310, 311, 312]:
- katalogams – 755
- failams – 644
- failui „wp-config.php“ – 640 arba 644
Siekiant užtikrinti aukštesnį saugumo lygį, rekomenduojama taikyti griežtesnius prieigos leidimų režimus kritiniams failams. Pavyzdžiui, failui „wp-config.php“, kuriame saugomi svarbiausi konfigūracijos duomenys, rekomenduojama nustatyti leidimus 440 arba 400. Tokiu būdu skaitymo teisės yra suteikiamos tik failo savininkui arba konkrečiai grupei, o rašymo teisės yra visiškai apribotos. Šis metodas neleidžia automatiniams procesams ar neautorizuotiems vartotojams, įskaitant ir pačią „WordPress“ sistemą, atlikti failo turinio pakeitimų, taip sumažinant riziką, susijusią su įsilaužimais ar nepageidaujamomis modifikacijomis. Esant būtinybei atnaujinti ar keisti konfigūraciją, leidimai gali būti pakeisti į 644, o po pakeitimų vėl grąžinti į saugesnį režimą. Panašios prieigos taisyklės turėtų būti taikomos ir kitiems svarbiems failams ar katalogams.
Ypatingai svarbu vengti leidimų 777, kurie suteikia pilną prieigą visoms sistemoms ir vartotojams – toks nustatymas gali sudaryti sąlygas kenkėjiško kodo įkėlimui ir vykdymui.
Failų integralumo stebėsena
Neautorizuoti sisteminių failų pakeitimai išlieka vienu svarbiausių šiuolaikinio kibernetinio saugumo iššūkių. Remiantis 2023 m. „Sucuri” ataskaita, net 49,21 % nulaužtų svetainių turėjo bent vieną slaptą prieigos prie sistemos galimybę (angl. backdoor) [12]. Siekdami išvengti automatizuotų apsaugos priemonių aptikimo, kibernetiniai nusikaltėliai vis dažniau taiko pažangias metodikas, kurios leidžia slapta integruoti kenkėjišką kodą į turinio valdymo sistemų failus.
„Wordfence“ tinklaraštyje aprašytas atvejis atskleidžia subtilų kenkėjiško kodo slėpimo metodą, kurio esmė – daugiapakopis maskavimas. Kenkėjiškas kodas buvo įterptas į išoriškai įprastą programinį failą, kuriame per skaičių ir raidžių atitikmenis pagal abėcėlės tvarką buvo užkoduotos rizikingos funkcijos, galinčios vykdyti toliau pateiktą kenksmingą turinį. Šis metodas ne tik sudėtingai užmaskuoja pirminį kodą, bet ir savo kenksmingą turinį slėpė papildomame sluoksnyje – paveikslėlio faile, kurio aptikimas įprastomis saugumo priemonėmis tampa itin sudėtingas. Tokiu būdu sukurta kelių lygių slėpimo sistema užtikrino neautorizuotos prieigos mechanizmo sėkmingą įdiegimą [313].
„Foregenix“ tinklaraštyje aprašytas pavyzdys demonstruoja, kaip subtilūs saugumo įskiepio failo pakeitimai gali turėti reikšmingas ir ilgalaikes pasekmes. Įterpus vos dvi papildomas kodo eilutes, buvo pasiekti du esminiai tikslai: viena eilutė išjungė saugumo sistemos failų tikrinimo funkciją, taip efektyviai blokuodama grėsmių aptikimą, o kita užblokavo failo atnaujinimus, neleisdama sugrąžinti jo į saugią būseną [126]. Šis atvejis pabrėžia, kaip minimalūs, tačiau strategiškai išdėstyti pakeitimai gali suteikti piktavaliams ilgalaikę, nepastebimą prieigą prie pažeistos infrastruktūros
Tokio pobūdžio failų pakeitimai atskleidžia, kodėl failų vientisumo stebėjimas (angl. file integrity monitoring, FIM) laikomas būtina šiuolaikinio kibernetinio saugumo praktika. Šis automatizuotas procesas leidžia fiksuoti bet kokius neautorizuotus ar netikėtus sistemos failų pokyčius, periodiškai lyginant failų turinį su iš anksto užfiksuotu patikimu etalonu. Aptikus neatitikimų, nedelsiant inicijuojamos reagavimo procedūros, kurios suteikia galimybę laiku identifikuoti galimą pažeidimą ir sumažinti jo žalą dar prieš išplitimą [314, 315].
Failų vientisumo stebėjimui taikomos kriptografinės maišos funkcijos (pvz., SHA-256), kurios kiekvienam failui priskiria unikalų skaitmeninį parašą. Reguliariai tikrinant šių parašų nekintamumą, užtikrinamas patikimas nesankcionuotų pakeitimų identifikavimas net mažiausiame failo fragmente [314, 315].
Dar pažangesnė apsaugos lygis pasiekiamas diegiant sprendimus, kurie ne tik fiksuoja failų pokyčius, bet ir automatiškai atstato pažeistus failus į pradinę būseną, pavyzdžiui, naudojant patikimą atsarginę kopiją. Tokie sprendimai užtikrina efektyvų ir greitą reagavimą į saugumo incidentus bei reikšmingai mažina galimų žalos pasekmių, kurias sukelia kenkėjiškas kodas, riziką.
Ankstesnėse straipsnio dalyse aptarti kompleksiniai saugumo įskiepiai, pavyzdžiui, „Wordfence“, „Sucuri Security“, „MalCare“ ir kiti, suteikia galimybę stebėti failų vientisumą „WordPress“ sistemoje. Be lokalaus stebėjimo, šie sprendimai dažnai lygina sistemos failus su oficialiomis versijomis, pateikiamomis „WordPress.org“ saugykloje, taip užtikrindami didesnį sistemos vientisumo patikimumą [98, 99, 109].
Svarbu pažymėti, kad integruotos „WordPress“ apsaugos priemonės gali tapti tiesioginių atakų taikiniu, kai piktavaliai siekia jas išjungti arba modifikuoti. Todėl dalis saugumo mechanizmų turėtų veikti nepriklausomai nuo turinio valdymo sistemos. Tai įgyvendinama diegiant atskirą programinę įrangą arba serverio lygmens sprendimus. Pavyzdžiui, plačiai taikomos „OSSEC“, „AIDE“ ar „Tripwire“ sistemos stebi failų sistemos pakeitimus nepriklausomai nuo „WordPress“ ar kitų turinio valdymo sistemos komponentų [316, 317, 318, 319]. Tokie įrankiai leidžia aptikti ne tik „WordPress“ failų modifikacijas, bet ir kitų sistemos komponentų pokyčius, taip sukurdami papildomą saugumo sluoksnį.
Numatytojo „WordPress“ duomenų bazės priešdėlio keitimas
„WordPress“ turinio valdymo sistema pagal numatytąją konfigūraciją duomenų bazės lentelėms suteikia priešdėlį (angl. table prefix) „wp_“. Nors šis parametras neturi tiesioginės įtakos sistemos veikimui, jis gali tapti automatizuotų masinio pobūdžio SQL injekcijų atakų taikiniu. Palikus standartinį priešdėlio nustatymą, atakų scenarijų realizavimas tampa paprastesnis, nes dalis automatizuotų kampanijų remiasi numatyta lentelių struktūra. Jei svetainėje egzistuoja papildomi pažeidžiamumai, tikslus lentelių pavadinimų identifikavimas suteikia užpuolikams pranašumą. Todėl pradiniame diegimo etape rekomenduojama pakeisti lentelių priešdėlį į unikalų simbolių rinkinį, pavyzdžiui, „x7rt5_“ [320, 321, 322].
Nepaisant minėtų privalumų, lentelių priešdėlio modifikavimas saugumo bendruomenėje dažnai kritikuojamas, kadangi jis remiasi „saugumo per nežinomybę“ (angl. security through obscurity) koncepcija. Argumentuojama, kad jei užpuolikas jau turi galimybę vykdyti kenksmingas SQL užklausas, technologiniu požiūriu jam nesudėtinga inicijuoti papildomas užklausas, leidžiančias išvardinti visų duomenų bazės lentelių pavadinimus ir jų priešdėlius. Tai užpuolikui leidžia surinkti informaciją apie duomenų bazės architektūrą ir planuoti tolesnius eksploatacijos veiksmus [107, 322].
Nors lentelių priešdėlio modifikavimas savaime nesudaro reikšmingos apsaugos priemonės, jis gali apsunkinti atakų vykdymą tam tikrais atvejais. Netipinė lentelių pavadinimų konfigūracija apsunkina automatizuotų atakų, paremtų standartiniais pavadinimais, vykdymą. Toks poveikis gali būti reikšmingas prieš neadaptuotas automatizuotas kampanijas, kuriose užpuolikas nevykdo duomenų žvalgymo ar tikslinių atakų.
Kaip pažymima „WordPress“ kūrėjų dokumentacijoje, lentelių priešdėlio pakeitimas nuo numatytojo „wp_“ gali užkirsti kelią bent daliai potencialių atakų [174]. Vis dėlto ši priemonė yra tik papildoma prevencinė priemonė, kurios nepakanka apsaugai nuo pažangesnių ar tikslingai taikomų atakų. Todėl ji turėtų būti įtraukta į daugiasluoksnę apsaugos strategiją kartu su kitomis patvirtintomis saugumo praktikomis, tokiomis kaip programinės įrangos atnaujinimų valdymas ar ugniasienės naudojimas.
Keičiant lentelių priešdėlį jau veikiančioje „WordPress“ sistemoje, pirmasis ir svarbiausias žingsnis yra atlikti pilnos duomenų bazės atsarginę kopiją. Tai būtina siekiant užtikrinti duomenų atkūrimą bet kokios klaidos ar nenumatyto veiksmo atveju, taip išvengiant galimo informacijos praradimo.
Toliau būtina redaguoti konfigūracijos failą „wp-config.php“, kuriame surandamas kintamasis „$table_prefix“. Šio kintamojo reikšmė keičiama iš numatytojo „wp_“ į pasirinktą naują priešdėlį, pvz., „x7rt5_“:
$table_prefix = 'x7rt5_';Siekiant užtikrinti sistemos veikimą be trikdžių, būtina pervadinti visas duomenų bazės lenteles, pakeičiant jų priešdėlį atitinkamai nauju. Šis procesas dažniausiai atliekamas vykdant SQL užklausas panašiai kaip:
RENAME TABLE wp_options TO x7rt5_options;RENAME TABLE wp_posts TO x7rt5_posts;RENAME TABLE wp_users TO x7rt5_users;Šiuos veiksmus būtina kartoti visoms sistemos lentelėms, įskaitant ir papildomų įskiepių ar temų sukurtas lenteles.
Be to, tam tikrose lentelėse, ypač „x7rt5_options“ ir „x7rt5_usermeta“, saugomos reikšmės, kurios vis dar naudoja senąjį priešdėlį. Todėl būtina atnaujinti ir šias reikšmes vykdant SQL užklausas, pavyzdžiui:
UPDATE x7rt5_usermeta SET meta_key = 'x7rt5_capabilities' WHERE meta_key = 'wp_capabilities';UPDATE x7rt5_usermeta SET meta_key = 'x7rt5_user_level' WHERE meta_key = 'wp_user_level';UPDATE x7rt5_usermeta SET meta_key = 'x7rt5_autosave_draft_ids' WHERE meta_key = 'wp_autosave_draft_ids';UPDATE x7rt5_options SET option_name = 'x7rt5_user_roles' WHERE option_name = 'wp_user_roles';Po šių veiksmų rekomenduojama iš naujo aktyvuoti visus svetainėje naudojamus įskiepius ir temas, kad sistema galėtų atnaujinti vidinius ryšius ir užtikrinti visų komponentų tinkamą veikimą su nauju priešdėliu.
Apsauga nuo automatizuotų robotų
Pastaraisiais metais interneto ekosistema sparčiai keitėsi: vis didesnę srauto dalį sudaro automatizuoti robotai (angl. bots). Remiantis „Imperva Bad Bot Report 2025“ ataskaita, pirmą kartą per dešimtmetį automatizuotas srautas viršijo žmonių generuojamą veiklą – 2024 m. jis sudarė 51 % viso pasaulinio interneto srauto. Šiam pokyčiui didžiausią įtaką turėjo spartus dirbtinio intelekto bei didelių kalbos modelių (angl. Large Language Models, LLMs) diegimas, kuris leido žymiai lengviau kurti pažangius, adaptyvius botus [324].
Automatizuoti robotai dažniausiai skirstomi į „geruosius“ (angl. good bots) ir „piktavalius“ (angl. bad bots). Gerieji botai atlieka svarbias funkcijas, tokias kaip paieškos sistemų indeksavimas (pvz., Googlebot), svetainių stebėsena ar prieinamumo testavimas. Vis dėlto didžiausią susirūpinimą kelia piktavalių botų veikla, kuri paprastai yra automatizuota, nelegali ir orientuota į kenkėjiško turinio platinimą, informacijos rinkimą be leidimo, paslaugų trikdymą bei bandymus išnaudoti svetainių saugumo spragas. 2024 m. piktavalių botų dalis sudarė 37 % viso interneto srauto, o 2023 m. ši dalis siekė 32 %. Toks augimas aiškiai atspindi didėjančią automatizuotų grėsmių internete apimtį [324, 325].
Kibernetinio saugumo bendrovės „HUMAN“ grėsmių analizės padalinio „Satori Threat Intelligence“ atliktas tyrimas, pasitelkiant specialiai sukonfigūruotą tinklalapį, skirtą automatizuotai botų veiklai stebėti (angl. honeypot), parodė, kad pažeidžiamumų skeneriai yra vieni pirmųjų, kurie pasiekia naujai sukurtą interneto svetainę. Vos svetainei tapus pasiekiamai, šie botai sistemingai ieško administravimo sąsajų, konfigūracijos klaidų bei nesaugiai paliktų failų. Tyrimo duomenimis, per pirmąsias dienas skenerių generuojamas srautas sudarė vidutiniškai apie 70 % visos botų veiklos, o kai kuriais laikotarpiais siekė net 100 % [326]. Šie rezultatai pabrėžia, kad net naujai paleistos svetainės iš karto patenka į globalų automatizuotų skenavimų lauką.
Turinio valdymo sistemos, tokios kaip „WordPress“, yra vieni dažniausių automatizuotų botų atakų taikinių, daugiausia dėl standartizuotų struktūrų, plačiai paplitusių įskiepių ir temų, taip pat viešai dokumentuotų numatytųjų konfigūracijų. Dėl šių priežasčių itin svarbu taikyti kompleksines technines priemones, kurios leistų laiku identifikuoti nepageidaujamą botų veiklą, apriboti jų prieigą ar visiškai ją užblokuoti. Toliau aptariamos priemonės ir jų praktinis taikymas apsaugant svetaines nuo automatizuotų grėsmių.
1) Geografinis filtravimas
Geografinis ribojimas (angl. geoblocking) – tai prieigos kontrolės metodas, kai vartotojo srautas apribojamas ar blokuojamas atsižvelgiant į jo buvimo vietą, nustatomą pagal IP adresą. Ši priemonė ypač veiksminga tais atvejais, kai paslaugos orientuotos į konkrečius regionus, ir dažnai naudojama siekiant sumažinti automatizuoto ar kenkėjiško srauto riziką [167, 168, 169].
Prieigos žurnalų (angl. access logs) analizė naudojama siekiant identifikuoti regionus, iš kurių kyla didesnė kenkėjiškos veiklos koncentracija. Dažniausiai tai apima bandymus nuskaityti svetainės struktūrą, prisijungimo formų atakas ar žinomų pažeidžiamumų išnaudojimą. Tokiais atvejais tikslingai pritaikytas geografinis ribojimas, veikiantis kartu su papildomomis saugumo priemonėmis, pavyzdžiui, loginių užduočių sprendimu ar tiesioginiu užklausų blokavimu, padeda efektyviai sumažinti atakų riziką ir optimizuoti serverio išteklių naudojimą, kadangi kenksmingas srautas atmetamas dar ankstyvoje stadijoje [327, 328, 329].
Geografinio ribojimo įgyvendinimui dažnai pasitelkiamos debesijos pagrindu veikiančios saugumo platformos, tokios kaip „Cloudflare“. Viena iš šios platformos funkcijų – žiniatinklio programų ugniasienė (angl. Web Application Firewall, WAF), kuri veikia kaip tarpinis apsaugos sluoksnis tarp naudotojo ir svetainės serverio. Kai „Cloudflare“ veikia atvirkštinio įgaliotojo serverio (angl. reverse proxy) režimu, visas įeinantis srautas pirmiausia nukreipiamas per jos globalų duomenų centrų tinklą [82, 90, 172].
Šis srautas yra analizuojamas dar prieš jam pasiekiant pagrindinį svetainės serverį. Vienas iš analizės kriterijų – naudotojo buvimo vieta. Gauta informacija lyginama su iš anksto apibrėžtomis prieigos taisyklėmis, leidžiančiomis riboti prieigą pagal geografinius parametrus. Jeigu užklausa neatitinka nustatytų sąlygų, sistema gali automatiškai taikyti įvairias apsaugos priemones. Vienas iš dažnai naudojamų metodų – papildomas patikrinimas, pavyzdžiui, CAPTCHA užduotis, padedanti atskirti automatizuotą srautą nuo realių lankytojų. Tuo tarpu užklausoms iš padidintos rizikos regionų, kuriuose paslaugos nėra teikiamos arba fiksuojama daug kenkėjiškos veiklos, gali būti taikomi griežtesni apribojimai, tokie kaip IP adresų blokavimas [172, 330, 331].
Nors debesijos sprendimai leidžia filtravimą perkelti į išorinę infrastruktūrą, „WordPress“ svetainėse gali būti pasitelkiami įskiepių pagrindu veikiantys ribojimo mechanizmai. Tokių įskiepių veikimas remiasi IP adresų geolokacijos duomenų bazėmis, leidžiančiomis nustatyti lankytojo buvimo vietą ir taikyti atitinkamus prieigos apribojimus pagal iš anksto apibrėžtas taisykles. Tokių įskiepių pavyzdžiai:
- IP2Location Country Blocker (virš 30 tūkst. aktyvių įdiegimų, kūrėjas „IP2Location“) [332];
- iQ Block Country (virš 20 tūkst. aktyvių įdiegimų, kūrėjas „Pascal“) [333];
- IP Location Block (virš 10 tūkst. aktyvių įdiegimų, kūrėjas „Darko G.“) [334].
Svarbu pažymėti, kad šie įskiepiai gali kelti suderinamumo problemų su talpinimo spartinimo (angl. cache) įskiepiais, todėl būtina nuodugniai įvertinti ir ištestuoti visą svetainės funkcionalumą. Taip pat reikia atkreipti dėmesį, kad šie įskiepiai nepalaiko papildomo patikrinimo mechanizmo, pavyzdžiui, CAPTCHA užduočių, kurios padeda atskirti realius naudotojus nuo automatizuotų sistemų. Vis dėlto, tokie įskiepiai gali būti veiksmingi tais atvejais, kai yra identifikuoti didelės rizikos regionai, kuriuose paslaugos neteikiamos, arba kai svetainėje fiksuojamas intensyvus automatizuotas srautas, reikalaujantis greitos apsaugos reakcijos.
Taip pat rekomenduojama įvertinti, kad daugelis „WordPress“ įskiepių pagrindu veikiančių blokavimo priemonių taikomos tik toms užklausoms, kurios yra apdorojamos pačios turinio valdymo sistemos. Tiesioginės užklausos į atskirus failus, pavyzdžiui, paveikslėlius ar dokumentus, dažnai apeina šias apsaugas. Dėl šios priežasties rekomenduojama įvertinti, ar esami saugumo sprendimai apima ir šias užklausas, o esant didesniam grėsmių lygiui – svarstyti papildomus serverio ar tinklo lygmens filtravimo metodus.
Geografinio filtravimo funkcija taip pat yra integruota į daugelį kompleksinių saugumo įskiepių, kurie buvo plačiau aptarti ankstesnėse šio straipsnio dalyse. Tokiuose įskiepiuose geografinis ribojimas dažnai veikia kaip papildomas apsaugos sluoksnis kartu su kitomis priemonėmis, pavyzdžiui, prisijungimų stebėsena, IP adresų blokavimu ar automatizuotų atakų aptikimo mechanizmais. Šių funkcijų derinimas leidžia sukurti daugiasluoksnę apsaugą, kuri ne tik riboja prieigą pagal geografinę kilmę, bet ir padidina bendrą sistemos atsparumą įvairaus pobūdžio kibernetinėms grėsmėms.
Galiausiai, geografinio ribojimo sprendimai gali būti taikomi skirtinguose infrastruktūros lygmenyse – nuo aplikacinio (pvz., turinio valdymo sistemos įskiepių) iki serverio ar tinklo filtravimo mechanizmų. Tinkamos priemonės pasirinkimas turėtų būti pagrįstas sistemos architektūra, identifikuotomis rizikomis ir našumo reikalavimais. Siekiant maksimalaus efektyvumo, svarbu, kad nepageidaujamas srautas būtų atmetamas kuo ankstesniame etape – vadinamajame perimetro lygyje, t. y. dar prieš jam pasiekiant vidinius serverio resursus. Tokie sprendimai, kaip debesijos pagrindu veikiančios ugniasienės, leidžia ne tik sumažinti serverių apkrovą, bet ir neutralizuoti potencialias atakas ankstyvoje jų stadijoje. Todėl geografinio ribojimo priemonės turėtų būti vertinamos strategiškai, atsižvelgiant į tai, kuriame infrastruktūros sluoksnyje jų taikymas suteiks didžiausią saugumo ir veikimo efektyvumo naudą.
2) CAPTCHA taikymas interaktyviosiose formose
CAPTCHA (angl. Completely Automated Public Turing test to tell Computers and Humans Apart) – tai saugumo mechanizmas, skirtas nustatyti, ar tam tikri veiksmai sistemoje atliekami žmogaus, ar automatizuotos programinės įrangos. Atsižvelgiant į taikomą atpažinimo metodą, sprendimai gali būti tekstiniai (reikalaujantys įvesti iškraipytą tekstą), vaizdiniai (paremti objektų identifikavimu paveikslėliuose) ar veikiantys elgsenos pagrindu (analizuojantys pelės judėjimą, įvesties greitį bei naršymo modelius). Šios priemonės integruojamos į interaktyvias svetainių dalis, kur kyla didelė automatizuoto piktnaudžiavimo rizika – pavyzdžiui, prisijungimo ir registracijos puslapiuose, kontaktinėse formose ar elektroninės komercijos užsakymo procesuose [336, 337].
Žemiau pateikiami keli plačiai naudojami šios srities sprendimai:
- „Advanced Google reCAPTCHA“ (virš 200 tūkst. aktyvių įdiegimų, kūrėjas „WebFactory“) [163];
- „hCaptcha for WP“ (virš 70 tūkst. aktyvių įdiegimų, kūrėjas „hcaptcha“) [164].
3) „Honeypot“ metodika
„Honeypot“ (pažodžiui – „medaus puodynė“, IT srityje reiškia tyčinius spąstus kenkėjiškai veiklai aptikti) – tai informacinių sistemų apsaugos priemonė, pagrįsta tyčia sukurtais apgaulingais resursais. Šių resursų tikslas atitraukti automatizuotas ar piktavališkas veiklas nuo realių sistemų ar jų komponentų, taip pat rinkti informaciją apie potencialius pažeidėjus ir jų veiklos pobūdį. Priklausomai nuo taikymo konteksto, „honeypot“ gali būti realizuotas skirtingais lygmenimis – nuo paslėptų įvesties laukų internetinėse formose iki atskirų serverių ar paslaugų, imituojančių realius taikinius [338, 339, 340].
Šie masalai dažnai veikia kaip sąveikos spąstai – fiksuojami netipiniai prisijungimo bandymai, laukų užpildymai ar kiti veiksmai, kurie leidžia identifikuoti ir analizuoti kenkėjišką veiklą. Toks stebėjimas leidžia ne tik aptikti žinomus grėsmių modelius, bet ir atskleisti naujai atsirandančias pažeidžiamumo formas bei atakų vektorius. Todėl „honeypot“ metodas tampa vertinga priemone kuriant prevencines gynybos strategijas bei tobulinant bendrą saugumo architektūrą [338, 339, 340].
Turinio valdymo sistemose, tokiose kaip „WordPress“, „honeypot“ metodas dažniausiai taikomas integruojant vizualiai nematomus įvesties laukus į internetinių formų struktūrą. Šie laukai nėra matomi ar pasiekiami naudotojui įprastomis naršyklės sąsajomis, todėl nėra užpildomi rankiniu būdu. Tuo tarpu automatizuotos sistemos, kurios apdoroja visus formos elementus, šiuos laukus dažnai užpildo. Toks veiklos modelis leidžia identifikuoti kenksmingas užklausas, taip sudarant sąlygas ankstyvam jų atmetimui. Šiem sprendimai įgyvendinti gali būti pasitelkiami šie specializuoti įskiepiai:
- „WP Armour – Honeypot Anti Spam“ (virš 300 tūkst. aktyvių įdiegimų, kūrėjas „Dnesscarkey“) [341];
- „AntiSpam for Contact Form 7“ (virš 10 tūkst. aktyvių įdiegimų, kūrėjas „Erik“) [342].
Kita plačiai taikoma aptikimo masalo forma – tyčia į svetainės puslapio struktūrą įterptos ir naudotojo sąsajoje paslėptos nuorodos. Tokios nuorodos nėra prieinamos naudotojui per grafinę naršyklės sąsają, tačiau jas gali aptikti ir aktyvuoti automatizuotos programos. Sąveika su šiomis nuorodomis gali būti naudojama identifikuojant automatizuotą duomenų rinkimą vykdančias sistemas bei inicijuojant jų veiklos ribojimą, pavyzdžiui, taikant IP adreso blokavimą. Tokių slaptų nuorodų integravimas gali būti pasiekiamas šiuo įskiepių:
- „Blackhole for Bad Bots“ (virš 30 tūkst. aktyvių įdiegimų, kūrėjas Jeff Starr) [343].
Aukščiau aprašyti metodai „WordPress“ aplinkoje dažniausiai diegiami praktiniais sumetimais – siekiant sumažinti serverio apkrovą ir filtruoti žalingą automatizuotą srautą. Vis dėlto tokių priemonių veiksmingumas yra ribotas, nes pažangesnės automatizuotos sistemos gali analizuoti puslapio struktūrą, identifikuoti netipinius elementus ir apeiti šiuos mechanizmus. Todėl aptikimo masalai labiausiai veiksmingi masinių, mažiau išvystytų grėsmių kontekste, tačiau apsaugai nuo tikslingų, labiau sofistikuotų atakų būtina platesnė, daugiasluoksnė saugumo strategija.
Svarbu pažymėti, jog „honeypot“ metodika nėra ribojama tik įskiepiais ar naršyklės sąsajos lygiu. Platesniame informacinių sistemų kontekste gali būti kuriami netikri administravimo puslapiai, suklastoti failai, imituojantys jautrius duomenis, ar dirbtiniai API galiniai taškai. Kai kuriais atvejais tokie masalai naudojami ne tik prevencijai, bet ir kaip aktyvi priemonė suklaidinti atakuojantį subjektą – nukreipiant jo veiksmus nuo realių resursų ar sistemų. Tokios strategijos sėkmė priklauso nuo gebėjimo lanksčiai prisitaikyti prie besikeičiančio grėsmių pobūdžio ir kūrybinio galimų techninių priemonių išnaudojimo.
4) Naršyklės ir HTTP antraščių analizė
Vienas iš plačiai taikomų metodų, skirtų riboti automatizuotų sistemų prieigą prie internetinių paslaugų, yra klientų identifikavimas pagal užklausų metu perduodamus duomenis. Šie duomenys automatiškai fiksuojami serverio, kai naudotojas inicijuoja prisijungimą prie svetainės. Dažniausiai vertinami parametrai apima naudotojo agento (angl. user-agent) informaciją, IP adresą, slapukus bei kitus HTTP antraščių požymius, tokius kaip priimami turinio formatai ar kalbos nustatymai. Analizuojant šiuos parametrus galima preliminariai identifikuoti, ar užklausa buvo inicijuota žmogaus naudojantis naršykle, ar suformuota automatizuotos sistemos [344, 345].
Iš minėtų parametrų ypač reikšminga laikoma naudotojo agento informacija – tai HTTP antraštės laukas, kuriame pateikiami duomenys apie kliento programinę įrangą: naršyklės tipą, versiją, operacinę sistemą ir kitus techninius aspektus. Ši informacija dažnai naudojama kaip vienas iš pirminių kriterijų klasifikuojant užklausas, siekiant atskirti įprastą naršyklės naudotoją nuo paieškos sistemos roboto ar galimos automatizuotos priemonės. Kai kurios sistemos atvirai deklaruoja savo tapatybę, todėl dažnai taikomas raktinių žodžių paieškos metodas, identifikuojantis tokias eilutes, kuriose pasitaiko terminai „bot“, „crawler“ ar „spider“. Žemiau pateikiami reprezentatyvūs naudotojo agentų pavyzdžiai [346, 347, 348, 349, 350, 351]:
- „Google Chrome“ naršyklė: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 [347];
- „Google“ paieškos sistemos robotas: Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Googlebot/2.1; +http://www.google.com/bot.html) Chrome/W.X.Y.Z Safari/537.36 [348];
- „Ahrefs“ SEO analizės robotas: Mozilla/5.0 (compatible; AhrefsBot/7.0; +http://ahrefs.com/robot/) [349].
Vis dėlto tokio metodo patikimumas yra ribotas. Viena vertus, jis gali klaidingai apriboti teisėtus robotus, todėl būtina numatyti išimtis paieškos sistemų, tokių kaip „Google“ ar „Bing“, veiklai. Kita vertus, naudotojo agento reikšmė yra deklaratyvi ir gali būti suklastota [352]. Šią spragą dažnai išnaudoja kenkėjiškos sistemos, kurios pateikia suklastotas reikšmes, imituojančias teisėtas naršykles ar net paieškos robotus [353, 354]. Todėl patikimam identifikavimui rekomenduojama taikyti papildomus verifikavimo mechanizmus, grindžiamus oficialiais paslaugų teikėjų techniniais reikalavimais, pavyzdžiui, „Google“ siūloma dviejų etapų DNS tikrinimo procedūra arba remtis oficialiais IP adresų sąrašais [355].
Papildomai reikšminga yra HTTP antraščių struktūros ir stabilumo analizė. Empiriniai tyrimai rodo, kad vienas iš įtartinos veiklos požymių yra nuolatinė naudotojo agento reikšmės kaita – tai situacijos, kai iš vieno IP adreso per trumpą laikotarpį gaunamos užklausos su skirtingomis agento reikšmėmis. Įprasta naršyklės sesija pasižymi stabilia naudotojo agento reikšme, todėl tokie nuokrypiai laikomi netipiniais. Be to, automatizuotą veiklą gali išduoti ir kiti nestandartinės antraščių formos aspektai, tokie kaip ne visų įprastai pateikiamų antraščių buvimas, jų išdėstymo neatitikimai, nenuoseklus didžiųjų ir mažųjų raidžių vartojimas ar kelių vienodo antraščių versijų pateikimas. Šių anomalijų visuma sudaro patikimą indikatorių, leidžiantį identifikuoti automatizuotas užklausas ir jas atskirti nuo teisėto naršyklės srauto [356, 357, 358, 359, 360].
Be HTTP antraščių analizės, svarbu atsižvelgti ir į kitus techninius požymius, leidžiančius tiksliau nustatyti automatizuotas sistemas. Vienas iš tokių požymių – kliento gebėjimas vykdyti „JavaScript“ kodą. Remiantis tyrimų duomenimis, tik maža dalis automatizuotų sistemų palaiko tokį funkcionalumą: iš daugiau nei 1,7 mln. analizuotų sesijų tik 0,63 % sugebėjo aktyviai atlikti veiksmus naršyklėje, pavyzdžiui, atnaujinti turinį ar gauti papildomą informaciją neperkraunant puslapio [356].
Praktinėje aplinkoje šie metodai dažnai papildomi statinių taisyklių pagrindu veikiančiomis filtravimo priemonėmis. Tarp jų – „8G Firewall“ – serverio lygmeniu veikiantis filtravimo mechanizmas, atliekiantis bazinio lygmens ugniasienės funkcijas. Ši priemonė remiasi iš anksto nustatytais taisyklių rinkiniais ir blokuoja užklausas, atitinkančias kenksmingos veiklos požymius, pavyzdžiui, neleistinus URL parametrus ar piktavališkus robotus, identifikuojamus pagal naudotojo agentą, taip užtikrindama pirminio gynybos sluoksnio funkciją [361].
5) Reputacija pagrįstas blokavimas
Reputacija pagrįstas blokavimas yra viena iš proaktyvių kibernetinės gynybos priemonių, leidžiančių iš anksto identifikuoti ir atmesti užklausas iš šaltinių, turinčių neigiamą veiklos istoriją. Šis metodas grindžiamas išorinėmis duomenų bazėmis bei stebėsenos sistemomis, kurios kaupia informaciją apie IP adresus ar kitus identifikatorius, susijusius su kenkėjiška veikla. Tokia prevencinė strategija leidžia sumažinti rizikas dar iki galimo išpuolio inicijavimo ir efektyviau panaudoti sistemos resursus [362, 363].
Viena iš plačiausiai taikomų reputacijos analizės priemonių yra IP adresų juodieji sąrašai (angl. IP blacklists). Tai specializuotos duomenų bazės, kuriose kaupiami IP adresai, susiję su nepageidaujama ar kenksminga veikla, pavyzdžiui, šlamšto siuntimu, automatizuotu turinio skenavimu arba paslaugų trikdymo atakomis. Šie sąrašai nuolat atnaujinami pasitelkiant tiek automatizuotus stebėsenos mechanizmus, tiek bendruomenės pranešimus. Įgyvendinus juoduosius sąrašus ugniasienės konfigūracijoje, tinklo filtravimo sistemose ar kitose serverio lygmens apsaugos priemonėse, įtartinos užklausos gali būti automatiškai blokuojamos. Kaip pavyzdžius galima išskirti kelis viešai prieinamus ir plačiai taikomus sąrašus, tokius kaip „AbuseIPDB“, „Project Honeypot“ ir „FireHOL“, kurie yra aktyviai palaikomi ir dažnai integruojami į įvairias kibernetinio saugumo platformas [364, 365, 366].
Vis dėlto IP adresų blokavimo sąrašai turi reikšmingų ribotumų. Tyrimai rodo, kad jų aprėptis yra fragmentiška: pavyzdžiui, iš daugiau nei 76 tūkst. IP adresų, demonstravusių kenkėjišką elgseną, tik 13 % buvo užfiksuota populiariuose sąrašuose [356]. Panašias išvadas pateikė ir kiti autoriai, pabrėžę, jog viešųjų duomenų bazių rezultatai smarkiai varijuoja – vienais atvejais aprėptis siekia keliolika procentų, kitais gali būti gerokai aukštesnė, tačiau nė vienu atveju neužtikrinamas išsamus kenkėjiškų adresų identifikavimas [367, 368]. Šie ribotumai reiškia, kad blokavimo sąrašai neturėtų būti suvokiami kaip savarankiška gynybos priemonė, bet veikiau kaip papildomas komponentas platesnėje saugumo architektūroje.
Apibendrinant galima teigti, kad, nepaisant ribotos aprėpties, IP adresų blokavimo sąrašai išlieka svarbi kibernetinės gynybos dalis. Jie padeda sušvelninti masinių kenkėjiškų užklausų poveikį, optimizuoja sistemų išteklių naudojimą ir užkerta kelią daliai automatizuotų atakų. Todėl šių sąrašų integravimas į daugiasluoksnę apsaugos strategiją yra svarbus veiksnys, siekiant užtikrinti informacinių sistemų atsparumą kibernetinėms grėsmėms.
6) Srauto analizė
Vienas iš veiksmingų automatizuotų užklausų identifikavimo metodų yra sisteminga HTTP 404 klaidų analizė, leidžianti atpažinti užklausas, nukreiptas į neegzistuojančius resursus. Tokios užklausos dažniausiai kyla iš automatizuotų įrankių, kurie, siekdami aptikti saugumo spragas, metodiškai tikrina didelį kiekį įvairių adresų, pavyzdžiui, prisijungimo formas, administravimo sąsajas, konfigūracijos ar kitus potencialiai pažeidžiamus failus. Kadangi tikrinamų adresų apimtis paprastai yra labai plati, didelė jų dalis tikslinėje sistemoje neegzistuoja, todėl serveris grąžina 404 klaidos atsakymus. Nors pavieniai tokie atvejai yra įprasta teisėto naršymo dalis, didelis jų skaičius per trumpą laikotarpį iš vieno šaltinio laikomas reikšmingu kenkėjiškos veiklos indikatoriumi. Identifikavus tokį srautą, galima taikyti atsakomąsias priemones, pavyzdžiui, laikiną IP adreso blokavimą [369, 370, 371].
Kitas reikšmingas apsaugos metodas yra užklausų dažnio ribojimas (angl. rate limiting). Ši technika apibrėžia maksimalų leistiną užklausų skaičių, kurį vienas šaltinis gali pateikti per nustatytą laikotarpį. Viršijus šią ribą, tolesnės užklausos gali būti laikinai blokuojamos arba sulėtinamos. Svarbu pažymėti, jog taikant šį metodą turi būti nustatytos tinkamos ribos: per griežtas apribojimas gali sutrikdyti teisėtų vartotojų veiklą, o per laisvas – neapsaugoti nuo automatizuotų atakų [372, 373, 374].
Būtina pažymėti, kad abu aptarti metodai grindžiami kliento IP adreso veiklos stebėsena, todėl jų efektyvumas mažėja tais atvejais, kai atakos vykdomos paskirstytu būdu iš daugybės skirtingų šaltinių arba kai pasitelkiami lėto tempo skenavimo metodai. Tokiose situacijose užklausų skaičius iš vieno adreso gali neviršyti nustatytų ribų, todėl kenkėjiška veikla lieka nepastebėta. Nepaisant šio apribojimo, minėti metodai gali atlikti svarbų vaidmenį kaip papildomas apsaugos sluoksnis, padedantis sumažinti riziką nuo mažiau sudėtingų automatizuotų atakų.
Galiausiai, siekiant užtikrinti veiksmingą apsaugą nuo automatizuotų užklausų, būtina taikyti kompleksinį apsaugos priemonių rinkinį, sudarantį daugiasluoksnę gynybos sistemą. Svarbu pažymėti, kad kibernetinių grėsmių infrastruktūra yra itin dinamiška, todėl apsaugos metodai turi būti adaptyvūs ir apimti nuolatinį žurnalų auditą, anomalijų identifikavimą bei filtravimo taisyklių ir IP reputacijos sąrašų atnaujinimą. Tik nuoseklus stebėsenos, analizės ir reagavimo ciklas gali užtikrinti ilgalaikį bei patikimą atsparumą nuolat kintančioms grėsmėms.
Atsarginės kopijos
Duomenų atsarginės kopijos (angl. backup) yra esminė informacinių sistemų saugumo ir veiklos tęstinumo priemonė, užtikrinanti duomenų prieinamumą, vientisumą ir atkūrimo galimybes po techninių gedimų, kibernetinių atakų ar kitų nenumatytų incidentų. Šio mechanizmo taikymas yra ypač svarbus turinio valdymo sistemų kontekste, nes jos leidžia atkurti stabilią svetainės veiklą po sutrikimų, susijusių su kenkėjiško kodo poveikiu, turinio praradimu, programinės įrangos komponentų nesuderinamumu ar klaidomis atnaujinimo metu. Atsarginės kopijos paprastai apima duomenų bazę, kurioje saugomas turinys ir naudotojų informacija, bei programinę infrastruktūrą, įskaitant įskiepius ir temas, taip užtikrinant visos sistemos atstatymą ir veiklos tęstinumą [375, 376, 377, 378, 379].
Numatytosios turinio valdymo sistemos „WordPress“ funkcijos nesuteikia integruoto ir visapusiško atsarginių kopijų mechanizmo, todėl atsarginių kopijų užtikrinimas dažniausiai remiasi svetainių talpinimo paslaugų teikėjų siūlomomis galimybėmis arba specializuotais įskiepiais. Žemiau pateikiamas įskiepių, suteikiančių atsarginių kopijų kūrimo funkcionalumą, sąrašas, atspindintis plačiai taikomus sprendimus:
- „All-in-One WP Migration and Backup“ (virš 5 mln. aktyvių įdiegimų, kūrėjas „ServMask“) [380];
- „UpdraftPlus: WP Backup & Migration Plugin“ (virš 3 mln. aktyvių įdiegimų, kūrėjas „Team Updraft“) [381];
- „Duplicator – Backups & Migration Plugin – Cloud Backups, Scheduled Backups, & More“ (virš 1 mln. aktyvių įdiegimų, kūrėjas Syed Balkhi) [382];
- „Migration, Backup, Staging – WPvivid Backup & Migration“ (virš 800 tūkst. aktyvių įdiegimų, kūrėjas „wpvividplugins“) [383];
- „BackWPup – WordPress Backup & Restore Plugin“ (virš 500 tūkst. aktyvių įdiegimų, kūrėjas „WP Media“) [384].
Atsarginių kopijų kūrimas dažnai grindžiamas plačiai žinoma „3-2-1“ taisykle, kurią 2009 m. apibrėžė fotografas P. Krogh. Pagal šią praktiką rekomenduojama turėti ne mažiau kaip tris duomenų kopijas, saugomas mažiausiai dviejose skirtingose laikmenose, o bent viena kopija turi būti laikoma nutolusioje vietoje, nepriklausančioje pagrindinei infrastruktūrai, pavyzdžiui, debesijos saugykloje arba fiziniame objekte, apsaugotame nuo kenkėjiškų atakų bei vietinių incidentų. Tokia diversifikacija sumažina riziką, kad vieno incidento metu bus prarastos visos atsarginės kopijos [385, 386, 387, 388, 389].
Nors „3-2-1“ metodas yra plačiai žinomas ir dažnai taikomas, jis nėra vienintelis atsarginių kopijų kūrimo modelis. Išplėstinė strategija „3-2-1-1-0“ papildomai reikalauja, kad bent viena atsarginė kopija būtų saugoma neprisijungus prie tinklo arba būtų nustatyta kaip nekintama (angl. immutable), užtikrinant, jog jos duomenys negali būti keičiami ar ištrinami nustatytą laikotarpį. Be to, ši metodika pabrėžia nuolatinę atsarginių kopijų kokybės kontrolę: kopijos turi būti reguliariai tikrinamos, o atkūrimo procesai – testuojami siekiant užtikrinti duomenų vientisumą ir veiksmingą atkūrimą be klaidų [389, 390, 391]. Tokiu būdu „3-2-1-1-0“ metodika sustiprina duomenų atsparumą įvairiems incidentams bei sumažina galimų duomenų praradimo riziką. Vis dėlto, nėra vieno visoms situacijoms tinkamo sprendimo, todėl kiekviena organizacija turėtų formuluoti atsarginių kopijų politiką, atsižvelgdama į savo veiklos ypatybes ir rizikos veiksnius, o minėti modeliai gali sudaryti patikimą pagrindą šio proceso organizavimui.
Analizuojant atsarginių kopijų kūrimo procesą, svarbu ne tik nustatyti kopijų skaičių ar laikymo vietų įvairovę, bet ir užtikrinti jų kokybinį patikimumą. Pirmasis aspektas – atsarginių kopijų užbaigtumas. Vien tik kopijavimo proceso inicijavimas neužtikrina patikimo rezultato, todėl būtina patikrinti, ar kopija apima visus esminius svetainės komponentus: branduolio failus, duomenų bazę, individualiai pritaikytas konfigūracijas bei įskiepius ar temas. Nors dalinės kopijos gali būti naudingos greitam duomenų atkūrimui, visiškas svetainės atkūrimas įmanomas tik remiantis pilnomis atsarginėmis kopijomis. Be to, būtina nuolat stebėti atsarginių kopijų amžių ir taikyti aiškią saugojimo politiką, nes pasenusios kopijos gali sukelti klaidingą saugumo pojūtį. Pavyzdžiui, jei svetainė atnaujinama kasdien, o naujausia atsarginė kopija yra mėnesio senumo, tokia neatitiktis didina dalies duomenų praradimo riziką [392, 393, 394, 395].
Kitas esminis aspektas – atsarginių kopijų saugojimas ir saugumas. Kopijos neturėtų būti laikomos tame pačiame serveryje kaip pagrindinė sistema, nes galimi pažeidžiamumai gali suteikti neautorizuotiems asmenims prieigą prie duomenų. Rekomenduojama naudoti geografiškai arba techniškai izoliuotas saugyklas, reguliariai prižiūrint jų techninę būklę, talpą ir tinklo ryšį. Tokiu būdu sumažinama rizika, kad kopijavimo procesas bus nutrūkęs ar nepilnas. Be to, būtina įgyvendinti griežtus prieigos kontrolės mechanizmus, leidžiančius kopijas pasiekti tik autorizuotiems vartotojams. Ši kontrolė gali būti papildyta duomenų šifravimu, siekiant apsaugoti informaciją nuo neteisėto pasisavinimo ar nutekėjimo [392, 393, 394, 395].
Galiausiai, atsarginių kopijų vertinimo kriterijus yra jų atkuriamumas. Nepavykusi kopija praranda praktinę vertę, todėl būtina periodiškai atlikti testinius atkūrimus izoliuotoje aplinkoje, tikrinti ne tik techninį procesą, bet ir sistemos funkcionalumą po atkūrimo. Kiekvieną testavimo metu nustatytą trūkumą reikia analizuoti ir šalinti. Praktika rodo, kad dauguma klaidų išryškėja tik atkūrimo metu, todėl nuoseklus ir reguliariai atliekamas testavimas yra kertinis organizacijos duomenų patikimumo ir veiklos tęstinumo elementas [392, 393, 394, 395].
Išoriniai internetiniai svetainių saugumo skenavimo įrankiai
Išoriniai internetiniai svetainių saugumo skenavimo įrankiai – tai dažniausiai naršyklės pagrindu veikiantys automatizuoti sprendimai, leidžiantys identifikuoti galimus saugumo trūkumus interneto svetainėje. Reguliarus jų naudojimas suteikia reikšmingą naudą: padeda laiku pastebėti pažeidžiamumus, tokius kaip pasenusių turinio valdymo sistemų ar įskiepių versijos, nesaugios serverio konfigūracijos, SSL/TLS sertifikatų klaidos, neautorizuoti nukreipimai ar į svetainės turinį įterptas kenkėjiškas kodas [396, 397, 398].
Kadangi šie įrankiai veikia išorinėje aplinkoje ir nereikalauja papildomos programinės įrangos diegimo serveryje, jų analizė apsiriboja tik iš išorės prieinama informacija. Tai reiškia, kad jie negali identifikuoti serverio pusės grėsmių ar sudėtingesnių aplikacijų lygmens pažeidžiamumų. Nepaisant šių ribotumų, išoriniai internetiniai skeneriai išlieka vertingi kaip pirminė diagnostikos priemonė, padedanti įvertinti bendrą svetainės saugumo būklę.
Vieną iš tokių išorinių skenavimo įrankių, pasiekiamą per svetainę „site-check.nksc.lt“, nemokamai teikia Nacionalinis kibernetinio saugumo centras (NKSC). Patikrinimas vykdomas automatizuotu būdu, pasitelkiant „OWASP ZAP“ programinę įrangą ir remiantis „OWASP“ metodika, orientuota į žinomų saugumo spragų identifikavimą. Patikrinimo rezultatai pateikiami detalia pažeidžiamumų analizės ataskaita elektroniniu paštu, leidžiančia įvertinti atrastas spragas ir imtis nuoseklių priemonių svetainės saugumo stiprinimui bei potencialių rizikų mažinimui [399, 400].
Toliau nurodomi keli reikšmingi išoriniai svetainių saugumo skenavimo įrankiai, galintys prisidėti prie sistemingo svetainės pažeidžiamumų vertinimo [401, 402, 403, 404, 405, 406]:
- „Sucuri SiteCheck“ (https://sitecheck.sucuri.net)
- „HostedScan – OWASP Vulnerability Scan“ (https://hostedscan.com/owasp-vulnerability-scan)
- „Barrion Scanner“ (https://barrion.io)
- „HackerTarget – WordPress Security Scan“ (https://hackertarget.com/wordpress-security-scan)
- „Quttera Website Malware Scanner“ (https://quttera.com/website-malware-scanner)
- „Pentest Tools – WordPress Scanner“ (https://pentest-tools.com/cms-vulnerability-scanning/wordpress-scanner-online-wpscan)
Ilgalaikis saugumo užtikrinimas
Apibendrinant galima teigti, kad „WordPress“ turinio valdymo sistemos saugumo iššūkiai daugiausia kyla ne dėl branduolio pažeidžiamumų, bet dėl plačios trečiųjų šalių komponentų ekosistemos, nepakankamo administravimo ir netinkamų saugumo praktikų taikymo. Straipsnyje aptartos priemonės – nuo savalaikio programinės įrangos atnaujinimo, atsakingo komponentų pasirinkimo, griežtos prieigos kontrolės, paremtos stipriais slaptažodžiais ir daugiaveiksniu autentifikavimu, iki techninio sistemos stiprinimo naudojant specializuotus saugumo įskiepius, ugniasienes ar serverio lygmens konfigūracijas – sudaro daugiasluoksnės gynybos pagrindą. Ne mažiau svarbus aspektas yra reguliarus atsarginių kopijų kūrimas ir jų patikimas saugojimas, užtikrinantis veiklos tęstinumą po galimų incidentų.
Vis dėlto net ir nuosekliai įgyvendintos rekomendacijos negarantuoja absoliutaus saugumo. Kibernetinių grėsmių aplinka yra dinamiška: nuolat atsiranda naujų pažeidžiamumų ir tobulėja atakų metodikos. Todėl svetainės apsauga turi būti suvokiama kaip nuolatinis, proaktyvus procesas, apimantis veiklos žurnalų stebėseną, periodinius saugumo auditus, aktualių pažeidžiamumų sekimą specializuotose duomenų bazėse bei nuolatinį saugumo priemonių adaptavimą prie kintančių rizikų. Tik toks holistinis požiūris leidžia užtikrinti ilgalaikį „WordPress“ sistemų atsparumą.
