A WordPress rendkívül elterjedt rendszer, ami egyszerre előny és hátrány: a népszerűsége miatt a hackerek egyik kedvenc célpontja is. Ha a weboldalát feltörték, az első reakció általában a pánik – pedig a helyzet sokkal kezelhetőbb, mint hinné. Ebben az útmutatóban megmutatjuk, hogyan állíthatja helyre lépésről lépésre a WordPress webhelyét egy támadás után: hogyan derítse fel a fertőzés forrását, miként tisztítsa meg a fájlokat és adatbázist, majd hogyan erősítse meg a biztonságot, hogy ez ne fordulhasson elő újra. Minden folyamatot konkrét példákkal és működő kódrészletekkel illusztrálunk, hogy pontosan tudja, mit kell tennie.
Tartalomjegyzék
- Bevezetés: Mi a teendő, ha WordPress oldalunkat feltörték?
- Helyreállítás előtti lépések (Backup és izoláció)
- Fertőzés felderítése, veszélyforrások behatárolása
- Adatbázis és fájlok helyreállítása
- Régi biztonsági mentés használata
- wp-config.php ellenőrzés, módosítás
- .htaccess fájl visszaállítása
- Tisztítás és ellenőrző lépések
- Felhasználók, jogosultságok vizsgálata
- Beágyazott kódok, hátsó kapuk felderítése
- Jelszavak, kulcsok cseréje
- Bővítmények, sablonok és frissítések kezelése
- Oldal újraindítása, visszaállítás tesztelése
- Megelőző lépések a jövőre nézve
- FAQ – Gyakran Ismételt Kérdések részletes válaszokkal
Bevezetés: Mi a teendő, ha WordPress oldalunkat feltörték?
Egy WordPress oldal feltörése elsőre káosznak tűnhet: elérhetetlenné válik a weboldal, furcsa linkek vagy reklámok jelennek meg, ismeretlen felhasználók bukkannak fel, vagy a Google „veszélyes oldalnak” jelöli webhelyét. Ilyenkor fontos a gyors reagálás és a rendszeres, lépésről-lépésre történő helyreállítás, hogy megakadályozzuk az adatvesztést és újabb károkat.
Előfeltételek:
- Hozzáférés a webtárhelyhez, adatbázishoz (pl. cPanel, phpMyAdmin, FTP/SFTP)
- Legutóbbi biztonsági mentések rendelkezésre állnak (ha nincs, rögtön készítünk)
- Néhány szabad óra a nyugodt és alapos helyreállításhoz
Helyreállítás előtti lépések (Backup és izoláció)
Mielőtt bármilyen helyreállítási folyamatot elindítanánk, gondoskodnunk kell az adatok izolálásáról és a jelenlegi – bármilyen fertőzött – állapot mentéséről:
1. Teljes mentés készítése
- Még ha vírusos vagy fertőzött is a jelenlegi rendszer, készítsünk teljes mentést (fájlok, adatbázis). Ez segíthet, ha helyreállítás közben további hibák jelentkeznek, vagy véletlenül elveszítünk adatokat.
FTP/SFTP-vel letöltjük:
- /wp-content (bővítmények, sablonok, képek)
- wp-config.php, .htaccess, index.php stb.
Adatbázis mentés phpMyAdmin-ból:
- Export funkcióval SQL fájl kimentése
2. Fertőzött oldal izolálása
Állítsuk át a site-ot karbantartási módra vagy ideiglenesen tiltsuk le a nyilvános elérést, pl.:
.htaccess használatával:
Order deny,allow
Deny from all
Allow from xx.xx.xx.xx
(csak saját IP-címünket engedélyezzük!)
Fertőzés felderítése, veszélyforrások behatárolása
Következő lépés: feltérképezni, hogy pontosan mi és hogyan fertőződött meg.
- Ellenőrizzük a fájlmódosítási dátumokat, keresünk gyanús új vagy megváltozott fájlokat főként a
/wp-content/uploads/,/wp-includes/,/wp-admin/és gyökérkönyvtárban. - Keressünk gyanús kódot (pl. base64, eval, gzinflate, shell_exec, stb.), például így terminálon (Linux):
grep -r --color=auto "eval(" .
grep -r --color=auto "base64_" .
- Bővítmények (plugins), sablonok (themes) ellenőrzése: Nincs-e ismeretlen, nem hivatalos, vagy frissen módosított elem?
Adatbázis és fájlok helyreállítása
Régi biztonsági mentés használata
Ha van elérhető, ismert tiszta biztonsági mentés, érdemes teljesen visszaállítani azt:
- FTP-n vagy cPanelen keresztül minden fájl TÖRLÉSE, majd mentés feltöltése
- Adatbázis cseréje: jelenlegi adatbázis törlése, újratelepítés a mentésből
Gyakori hiba: hacker által elhelyezett hátsó kapuk visszamaradnak, ha csak részlegesen állítunk vissza fájlokat/adatbázist!
wp-config.php ellenőrzés, módosítás
A wp-config.php fájl kritikus, hiszen tartalmazza az adatbázis hozzáférési adatokat és gyakori célpontja a hackereknek.
Példa: gyanús sorok eltávolítása
// Tisztítsuk ki a felesleges vagy ismeretlen kódokat!
// Példa rossz kódra:
if(isset($_REQUEST['cmd'])){
system($_REQUEST['cmd']);
}
- Állítsuk vissza az eredeti, ismert és ellenőrzött
wp-config.php-t, cseréljük benne a kulcsokat (lásd lentebb).
.htaccess fájl visszaállítása
.htaccess fájlban gyakori az átirányítás vagy reklamkód beillesztése.
Tipikus WordPress .htaccess:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
- Minden ettől eltérő, ismeretlen kódot el kell távolítani, visszaállítani az eredeti, tiszta változatot.
Tisztítás és ellenőrző lépések
Felhasználók, jogosultságok vizsgálata
- WordPress adminban TÁVOLÍTSUK EL az ismeretlen vagy gyanús fiókokat (különösen admin jogosultsággal rendelkezőket).
- Ellenőrizzük a /wp-admin/users.php oldalon a felhasználókat.
Beágyazott kódok, hátsó kapuk felderítése
- Kódos fájlokban keressünk gyanús PHP sorokat, inaktiváljuk, töröljük azokat.
- Egyes támadók backdoor-t helyeznek el a (pl.)
/wp-content/themes/vagy/wp-content/uploads/alá.
Hasznos keresőparancsok:
grep -r --color=auto "eval(" .
grep -r --color=auto "base64_decode" .
grep -r --color=auto "gzinflate" .
Automatikus vizsgálat
Telepíthető biztonsági plugin (pl. Wordfence, Sucuri) ideiglenesen, hogy átvizsgálja a rendszert, de ne erre bízzuk csak a tisztítást!
Jelszavak, kulcsok cseréje
A sikeres támadás után minden hozzáférési jelszavunk kompromittálódhatott, ezért az összes jelszót cserélni kell:
1. WordPress admin és felhasználói jelszavak cseréje
- Az adminisztrátori és egyéb (szerző, szerkesztő, stb.) fiókokhoz tartozó jelszavakat azonnal módosítsuk.
- Különösen fontos, ha több szerző dolgozik az oldalon!
2. FTP/SFTP, cPanel, tárhely jelszavak cseréje
- A tárhely adminisztrációs, FTP és adatbázis jelszavakat is azonnal frissítsük.
3. Adatbázis jelszó cseréje és wp-config.php módosítása
Az adatbázis jelszót megváltoztatjuk a tárhely vagy phpMyAdmin felületén, majd frissítjük azt a wp-config.php fájlban is:
Példa:
define('DB_USER', 'adatbazis_felhasznalonev');
define('DB_PASSWORD', 'UJ_EROS_JELSZO');
define('DB_NAME', 'adatbazis_nev');
define('DB_HOST', 'localhost');
4. WordPress salt (biztonsági kulcsok) frissítése
A salt kulcsok újra generálása tovább javítja a biztonságot:
- Új kulcsokat generálhatsz a következő hivatalos oldalon: https://api.wordpress.org/secret-key/1.1/salt/
- Ezeket cseréld ki a
wp-config.php-ban:
define('AUTH_KEY', 'új, egyedi karakterlánc');
define('SECURE_AUTH_KEY', 'új, egyedi karakterlánc');
define('LOGGED_IN_KEY', 'új, egyedi karakterlánc');
define('NONCE_KEY', 'új, egyedi karakterlánc');
define('AUTH_SALT', 'új, egyedi karakterlánc');
define('SECURE_AUTH_SALT', 'új, egyedi karakterlánc');
define('LOGGED_IN_SALT', 'új, egyedi karakterlánc');
define('NONCE_SALT', 'új, egyedi karakterlánc');
Bővítmények, sablonok és frissítések kezelése
1. Ismeretlen vagy elavult bővítmények/sablonok törlése
- Minden nem használt, elavult vagy ismeretlen forrásból származó bővítményt és sablont maradéktalanul töröljünk (nem elég inaktiválni!).
- Frissítsük az összes aktív sablont (theme) és bővítményt (plugin) a legújabb verzióra – kizárólag hivatalos forrásból.
2. WordPress főverzió frissítése
- Frissítsük a WordPress core rendszert is a legfrissebb stabil verzióra, hiszen a legtöbb támadás sikerességét régi hibák teszik lehetővé.
Parancssori frissítés WP-CLI-vel:
wp core update
wp plugin update --all
wp theme update --all
Oldal újraindítása, visszaállítás tesztelése
Miután elvégeztük a helyreállítási és biztonsági lépéseket:
- Távolítsuk el a .htaccess tilalmat, vagy vegyük le a karbantartási módot.
- Böngészőből több oldal megnyitásával ellenőrizzük, hogy az oldal megfelelően elérhető.
- Külön ellenőrizzük az admin felület működését.
- Futtassunk le automata és manuális malware szkennereket a teljes tárhelyen.
- Kérjünk újbóli ellenőrzést, ha a Google veszélyesként jelölte meg az oldalt (Google Search Console újraellenőrzés).
Megelőző lépések a jövőre nézve
A hack utáni visszaállítás önmagában nem fenntartató megoldás – hosszútávon is gondoskodnunk kell WordPress oldalunk biztonságáról:
- Rendszeres (lehetőleg automatizált) biztonsági mentések készítése
- Erős, egyedi jelszavak használata
- Kétlépcsős hitelesítés (2FA) bevezetése admin és szerzői fiókokhoz
- Szükségtelen bővítmények/sablonok azonnali törlése
- Site egészére kiterjedő, naprakész frissített komponensek
- Biztonsági plugin alkalmazása (Wordfence, Sucuri, iThemes Security, stb.)
- Fájlmódosítások, gyanús történések figyelése log elemzéssel
GYIK – WordPress visszaállítás hack után
Milyen jelek utalnak arra, hogy WordPress oldalamat feltörték?
Válasz: Általános jelek lehetnek: váratlan átirányítások, szokatlan tartalom (pl. reklám, víruskód), ismeretlen adminisztrátor fiókok, Google riasztás, levelezési problémák (spam), vagy a weboldal lassulása. Technikai oldalról gyanús fájlmódosítási dátumok, furcsa PHP kódok, ismeretlen bővítmények is árulkodók.
Mit tegyek, ha nincs friss biztonsági mentésem?
Válasz: Sürgősen készítsen mentést a jelenlegi (akár fertőzött) állapotról, majd igyekezzen a káros tartalmakat átvizsgálni és eltávolítani a fenti útmutató szerint. Ha szükséges, kérjen szakértői segítséget, illetve a fontos tartalmi részeket szelektíven emelje át egy tiszta WordPress telepítésbe.
Ki lehet deríteni, hogyan történt a feltörés?
Válasz: Gyakran visszakereshető: tárhelyszolgáltatói logok, WordPress logfájlok, vagy fájlmódosítási időpontok alapján. Zömében elavult bővítmények, sablonok vagy régi WordPress változat hibái segítik a támadókat. A pontos behatolási pont meghatározása segít a jövőbeli támadások kivédésében.
Szükséges szakértőt hívni, vagy magam is el tudom végezni a helyreállítást?
Válasz: Alapfokú technikai ismeretek mellett egy kisebb fertőzést, néhány bővítmény/téma-változtatást, egyszerűbb adatbázis helyreállítást saját maga is elvégezhet. Komolyabb esetekben, különösen ismeretlen eredetű támadásoknál, fájl- vagy adatvesztésnél ajánlott szakértő bevonása.
Hogy kérhetem a Google-tól oldalam „tiszta” státuszának visszaállítását?
Válasz: A Google Search Console felületén, a biztonsági problémák menüpontban kérheti újraellenőrzést, miután eltávolította a fertőzést. Részletesen írja le a megtett lépéseket, hogy növelje az újraaktiválás esélyeit.
Mennyi idő alatt véglegesíthető a WordPress újratelepítése hack után?
Válasz: Egyszerűbb támadások (pl. gyanús kódok eltávolítása, mentett adatbázis visszaállítása) akár néhány óra alatt elvégezhetők. Komplexebb, mély rendszerszintű betörések, vagy teljes adatvesztés esetén akár napokat vehet igénybe a teljes tisztítás és visszaállítás.
Ez az útmutató végigvezeti Önt a WordPress hack utáni visszaállítás teljes folyamatán, legyen szó akár kezdő, akár haladó felhasználóról – ügyelve arra, hogy oldala újra biztonságban és zavartalanul működjön. Ne feledje: a legtöbb támadás megelőzhető rendszeres frissítésekkel és alapvető biztonsági lépésekkel!


