Sokszor szegezik nekem a kérdést: „Hogy lehet, hogy mindig feltörik az oldalamat? Pedig frissíteni is szoktam, és az első feltörés után visszaállítottunk mentésből mindent!”
A válasz nem olyan bonyolult, mint amilyennek elsőre tűnik. Vegyük sorra a lehetséges fertőzési forrásokat!
Nem (időben) frissített rendszer
Bármennyire is azt állítja magáról valaki, hogy szokta frissíteni a WordPress-t, és annak komponenseit, nehezen tudom elhinni. Egyrészt kétlem hogy a nap 24 órájában, a hét minden napján a gép előtt ül, és amint megjelenik egy frissítés, azonnal telepíti. Másrészt pedig tapasztalatból beszélek. Számtalan olyan oldallal találkoztam, ahogy egy darabig frissítettek (még ha nem minden esetben azonnal), aztán ezek a karbantartások szép lassan elkezdtek elmaradni. Ahogy a frissítések elmaradnak, úgy nő a kockázata annak, hogy a frissítés sikertelenségbe fog fulladni. Azt pedig senki nem szeretné, így inkább nem frissít.
Ugyanakkor pedig a publikált hibák száma szépen nő (vess egy pillantást a https://wpvulndb.com/ oldalra), így az oldalad potenciális célponttá válik. Igazság szerint az is elég lehet, hogy ha a frissítés megjelenése, és a telepítés között 2-3 nap eltelik. Ez elég lehet arra, hogy megfertőzzék az oldaladat.
0-day sebezhetőség
A 0-day, vagy zero-day sebezhetőséget azért hívják így, mert már egy szűk kör számára ismert a hiba, de azt még nem publikálták – így frissítés sem érkezhet rá. Ez ellen a legnehezebb védekezni, hiszen nem elegendő frissítést telepíteni. Itt jól jönnek a tűzfal szabályok, a hozzáférési szintek megfelelő beállításai (a tárhelyen is!), és úgy általában bármilyen védelmi réteg.
A jó hír az, hogy a 0-day nem lesz mindig ismeretlen és publikálatlan, így várhatóan előbb-utóbb érkezik egy ezt befoltozó biztonsági frissítés is. Persze hogy ez néhány napot, vagy néhány hetet jelent, nem tudhatjuk előre.
Backdoor
A backdoor, avagy hátsó ajtó egy olyan kis kódrész, amelyen keresztül a támadó akkor is hozzáfér az oldalhoz, ha már nem az eredeti sérülékenységet használja. Arról van szó, hogy sérülékeny az XY bővítményed. Az oldalad megfertőződik, és a támadó telepít egy backdoort. Eltelik pár nap – a fertőzésből még lehet hogy semmit nem vettél észre – mikor frissíted a bővítményt. Innentől kezdve az XY-on keresztül már nem támadható az oldalad, de a backdoor-on keresztül igen.
A backdoorban az is szép, hogy nem a WordPress fájljaiba épül be, hanem egy- vagy több különállő fájlt hoz létre. Így ha az oldaladat frissíted is, a hátsó ajtó nem fog eltűnni.
Hasonlóan hatástalan az „állítsuk vissza mentésből” stratégia. Ha sikerül olyan állapotot visszaállítani, ahol még nem volt backdoor, akkor ott szinte garantált, hogy az XY bővítményből a sebezhető verzió kerül visszaállításra, és a kör újraindul. Ha olyan verziót állít vissza a tárhelyszolgáltató, ami már a frissített, biztonságos bővítményt tartalmazza, akkor cserébe a backdoor-t is visszaállítja.
Tárhelyszolgáltató
Bár hajlamos voltam azt gondolni, hogy a mai IT világban már nincsenek olyan hanyag / hozzá nem értő tárhelyesek (mint amilyen én is voltam 2001-ben), mégis szinte minden hónapban találkozok olyan feltöréssel, amikor kiderül, hogy a tárhelyszolgáltatónál lévő másik weboldalt törtek fel először, és onnan terjedt át a fertőzés a többi weboldalra.
Nos, ez baromira gáz. A tárhelyszolgáltatónak dolga és felelőssége, hogy az ügyfelei tárhelyét megfelelő módon, és biztonságosan szeparálja egymástól, hogy azok véletlenül se tudjanak hozzáférni egymás dolgaihoz. Ha a tárhelyedről kiderül, hogy egy másik ügyfél oldala fertőzött át hozzád, akkor azonnal menekülj onnan! Keress másik szolgáltatót, mert itt őrült nagy bajok vannak!
Jelszó
Szinte állandónak tekinthető probléma, hogy egy-egy felhasználó jelszavát törik fel a támadók. Ehhez két dologra van szükség: hogy valamilyen úton-módon kinyerhetőek legyenek a felhasználónevek a WordPressből, és hogy a rendszerben nem legyen korlátozva a belépési kísérletek száma. Ha egyszer megszerzik a jelszavát valamelyik felhasználódnak, akkor onnantól kezdve teljesen véletlenszerűen, és látszólag értelmetlen módon kerülnek újabb és újabb fertőzések az oldaladra.
Több ügyfelemnél is ez volt az fertőzések forrása. Ezt a hagyományos szerver naplókból nem is lehet észrevenni, hiszen ott nem látszik, hogy egy belépési kísérlet sikeres volt-e. A WebShield naplózását úgy alakítottam ki, hogy az ilyan belépések kiderüljenek, és meg lehessen mondani azt, hogy a gipsz.jakab nevű felhasználó jelszavát kellene sürgősen megváltoztatni.
FTP
Nem mondanám túl gyakorinak, de találkoztam már olyan támadással is, amikor az ügyfél számítógépe volt vírusos. Ilyenkor vagy az FTP programot nyitja meg a háttérben a vírus, és elkezd fertőzött tartalmakat feltölteni, vagy az FTP jelszót lopja el, és ennek a jelszónak az ismeretében majd egy botnet lesz felelős az oldalad fertőzéséért. Legegyszerűbben úgy veheted észre, hogy ezzel a típusú fertőzéssel van dolgod, hogy megkéred a tárhelyszolgáltatót, hogy tiltsa le / irányítsa át a weboldalad máshova. Ha ilyenkor is változnak / létrejönnek fájlok, akkor az FTP jelszót kell azonnal megváltoztatni.
„A kollektív tudat”
Az, hogy úgy érzed, egy adott időpillanattól kezdve gombamód szaporodnak a támadások az oldalad ellen, valamilyen adatbázis tehet. A tapasztalat azt mutatja, hogy minden oldalt érnek bizonyos időközönként támadási kísérletek. Azonban ha akár egyetlen támadás is célba ér, az oldal bekerül valamilyen adatbázisba, „kollektív tudatba” a sötét oldalon, és ettől kezdve szinte folyamatosan fogod a támadásokat kapni. Arról nincs információm, hogy erről a listáról hogyan lehet lekerülni, de van pár oldal a szárnyaim alatt, ahol sikerült már elérni. A legvalószínűbb az, hogy ha bizonyos ideig nem sikerül sikeres támadást végigvinni az oldalon, akkor lekerül a listáról, hogy a támadó(k) olyan célpontokra összpontosíthassanak, ahol nagyobb eséllyel tudják fertőzni az áldozatot.