Modul 7 · 7.1
Kako se web-stranice hakiraju
Modul 7: Sigurnost · Vrijeme čitanja: 8 minuta
Cilj učenja: Nakon ove lekcije moći ćete realistično objasniti kako se WordPress web-stranice obično hakiraju, zašto su i male web-stranice mete te što napadači time žele postići.
Ključni pojmovi: ranjivost, propust u dodatku (pluginu) ili temi, automatsko skeniranje, credential stuffing, brute force (grubo nagađanje), nulled softver, zaraženo računalo, posljedice (spam, preusmjeravanje, phishing, zlonamjerni softver), površina napada
"Moja web-stranica je premala da bi bila zanimljiva"
To je najčešća zabluda. Gotovo niti jedan hakerski napad na WordPress nije usmjeren na jednu određenu web-stranicu. Napadači koriste programe koji automatski pregledavaju tisuće web-stranica na sat i traže samo jedno: poznatu slabu točku. Ako je program pronađe, provaljuje bez obzira na to je li riječ o web-stranici velike korporacije ili lokalnog nogometnog kluba.
Ono što žele nije Vaša web-stranica, nego ono što Vaša web-stranica može:
- Spam i zloupotreba tražilica: tisuće skrivenih stranica ili poveznica za lijekove, kockanje ili lažne trgovine, koje se koriste dobrim imenom Vaše domene na Googleu.
- Preusmjeravanje: posjetitelji (često samo oni s Googlea ili s mobitela) preusmjeravaju se na lažnu web-stranicu ili stranicu za prijevaru. Vi ne vidite ništa, jer Vi dolazite preko bookmarka.
- Phishing: lažirana stranica za prijavu banke ili dostavne službe, skrivena u Vašoj mapi uploads, s Vašim imenom domene u poveznici.
- Širenje zlonamjernog softvera prema posjetiteljima.
- Slanje e-pošte: Vaš poslužitelj šalje spam, a nakon toga Vaša vlastita e-pošta više ne stiže.
- Računalna snaga: Vaš paket se koristi za napade na druge web-stranice ili za rudarenje kriptovaluta.
- Podaci: kod web-trgovine ili stranice za članove, podaci Vaših kupaca.
Ulaz 1: propust u dodatku (pluginu) ili temi
Ovo je daleko najvažniji. Prema godišnjem izvještaju tvrtke Patchstack, koja prati WordPress propuste, u 2024. godini pronađeno je 7.966 novih ranjivosti u WordPress ekosustavu. 96% ih je bilo u dodacima (pluginima), 4% u temama, a u samom WordPressu svega sedam. Većina propusta se ne može tek tako zloupotrijebiti, ali dio može, i upravo te se masovno skeniraju unutar sati ili dana nakon objave.
Obrazac je gotovo uvijek isti:
- Pronađen je propust u verziji 3.2 popularnog dodatka (plugina).
- Autor izdaje verziju 3.2.1 s ispravkom. Propust postaje javno poznat.
- U kratkom vremenu programi pretražuju internet u potrazi za web-stranicama s verzijom 3.2 ili starijom.
- Tko još nije ažurirao, biva provaljen.
Opasnost dakle nije u tajnom propustu koji nitko ne poznaje, nego u poznatom propustu za koji već postoji nadogradnja koja nije instalirana. Zato su nadogradnje (lekcija 7.2) najvažnija mjera, a ono što ne koristite uklonite (lekcija 5.4): svaki dodatak (plugin) koji postoji, pa i deaktiviran, povećava Vašu površinu napada.
Poseban slučaj su napušteni dodaci (pluginovi): autor je prestao raditi na njima, ispravke više ne dolaze. I nulled softver (lekcija 5.3): ukradena kopija plaćenog dodatka (plugina), često s ugrađenim stražnjim vratima.
Ulaz 2: lozinke
Drugi veliki ulaz je prijava s valjanom lozinkom:
- Credential stuffing: kod curenja podataka neke druge usluge procure milijuni kombinacija e-pošte i lozinke. Programi te kombinacije isprobavaju na raznim web-stranicama, uključujući stranice za prijavu u WordPress. Koristite li istu lozinku kao kod te usluge čiji su podaci procurili, napadači ulaze bez problema.
- Brute force (grubo nagađanje): program jednostavno isprobava jako puno lozinki, često uz često korištena korisnička imena poput
admin. S dugom, jedinstvenom lozinkom to nema šanse uspjeti, ali troši računalnu snagu Vašeg poslužitelja. - Phishing: lažna poruka e-pošte „Vaš WordPress treba ažurirati, prijavite se ovdje” s poveznicom na lažiranu stranicu za prijavu.
Lekcija 7.3 govori o obrani: upravitelj lozinki, dvofaktorska autentifikacija (2FA) i ograničavanje pokušaja prijave.
Ulaz 3: sve oko WordPressa
Ne počinje svaki hakerski napad u WordPressu:
- Zaraženo računalo Vas ili Vašeg izrađivača web-stranice, s programom koji krade lozinke, primjerice one spremljene u FTP programu.
- Obični FTP bez enkripcije, na javnoj mreži.
- Druga web-stranica u istom paketu: zaboravljena stara testna instalacija, stari Joomla u podmapi. Sve web-stranice u jednom paketu obično dijele istog korisnika na poslužitelju. Ako je stara web-stranica hakirana, napadač može doći i do Vašeg WordPressa.
- Procurjela lozinka baze podataka, primjerice putem kopije datoteke wp-config.php u web mapi (lekcija 1.3).
- Obrasci bez provjere koji se zloupotrebljavaju za slanje spama.
Kod dobrog pružatelja hostinga Vaš paket je odvojen od paketa drugih klijenata na istom poslužitelju (kod DirectAdmin poslužitelja s CloudLinuxom to se radi primjerice uz pomoć CageFS-a). Ono što se događa unutar Vašeg vlastitog paketa, ipak ostaje Vaša odgovornost.
Što primjećujete (a što ne)
Dobar hakerski napad u početku ne primjećujete. Napadači žele koristiti Vašu web-stranicu što je dulje moguće. Znakovi upozorenja (lekcija 7.5 o tome govori detaljnije):
- Google prijavljuje „Ova web-stranica je možda hakirana”, ili u rezultatima pretrage vidite neobične stranice s Vaše domene (pokušajte pretražiti
site:example.com); - posjetitelji prijavljuju da završavaju negdje drugdje;
- postoje administratori ili datoteke koje ne prepoznajete;
- Vaš pružatelj hostinga ili skener zlonamjernog softvera nešto prijavljuje;
- Vaša e-pošta odjednom više ne stiže, ili je Vaš paket pun ili spor.
Obrana u slojevima
Nijedna mjera nije nepробojna. Sigurnost je slaganje slojeva, tako da pogreška u jednom sloju odmah ne otvara sve:
- Ažuriranje (lekcija 7.2): zatvara poznate propuste. Daleko najvažnije.
- Malo komponenti (lekcija 5.3 i 5.4): manje za ažurirati, manje propusta.
- Zaštita prijave (lekcija 7.3): duge jedinstvene lozinke, dvofaktorska autentifikacija, najmanja potrebna prava (lekcija 3.3).
- Očvršćivanje (hardening) (lekcija 7.4): prava, postavke i zaglavlja koja ograničavaju štetu.
- Sigurnosne kopije (lekcija 8.1): ako nešto ipak krene po zlu, možete se vratiti.
- Znati što napraviti kad nešto krene po zlu (lekcija 7.5).
Sažetak
- Gotovo svi hakerski napadi su automatski i neusmjereni; male web-stranice su jednako dobre mete.
- Napadači žele ono što Vaša web-stranica može: spam, preusmjeravanje, phishing, e-poštu, računalnu snagu, podatke.
- Najveći ulaz je poznati propust u dodatku (pluginu) ili temi za koji je već postojala nadogradnja (u 2024. godini 96% novih ranjivosti bilo je u dodacima).
- Drugi ulaz su lozinke: ponovno korištene, pogođene ili ukradene prevarom.
- I zaraženo računalo, obični FTP ili zaboravljena stara web-stranica u istom paketu mogu biti ulaz. Branite se u slojevima.
Kviz
Zadatak
Zadatak D7.1: Vaš vlastiti popis rizika. Napravite popis svega u Vašem hosting paketu što može biti ulaz: svaka WordPress instalacija (uključujući testne i stare web-stranice), svaki dodatak (plugin) i svaka tema (pa i neaktivna), svaki račun s administratorskim pravima (WordPress, FTP, kontrolna ploča hostinga), te računala s kojih se prijavljujete. Uz svaku stavku zabilježite: kada je zadnji put ažurirana, je li još potrebna (da/ne) i tko je za nju odgovoran. Označite koje tri stvari ćete ovaj tjedan urediti ili ažurirati i zabilježite zašto baš te.
Zadatak D7.1: Vaš vlastiti popis rizika
Ovaj zadatak rješavate sami; nitko ga ne provjerava. Označite što ste napravili i označite zadatak kao završen.
Navedite barem jedan element izvan samog WordPressa (nadzorna ploča hostinga, FTP račun, Vaše vlastito računalo) i odaberite radnje koje zatvaraju ulaz: uklanjanje onoga što ne koristite, ažuriranje, promjena lozinki, uključivanje 2FA.
Vaše kvačice i bilješke ostaju samo u ovom pregledniku; ne šaljemo ih nikamo. Ako ste prijavljeni, u Moji tečajevi čuvamo samo podatak da ste zadatak završili.
Dodatno čitanje
Ovi članci opisuju korake u kontrolnim pločama WebOké; u drugim pločama rade na sličan način.
- Upomoć! Moja web stranica je hakirana. Kako to riješiti ili spriječiti?
- DirectAdmin priručnik 18.2: Moja web stranica je hakirana: plan koraka
- State of WordPress Security in 2025 (Patchstack, na engleskom jeziku): https://patchstack.com/whitepaper/state-of-wordpress-security-in-2025/
- Beveiliging van WordPress (developer.wordpress.org, na engleskom jeziku): https://developer.wordpress.org/advanced-administration/security/hardening/
