Mivel segítem elő, hogy feltörjék a WordPress honlapomat?
Honnan tudom, hogy fertőzött WordPress honlapom van?
Előfordulhat, hogy nem is vesszük észre. Ezért fontos a megfelelő karbantartás, miután a vírusvédelem kialakításra került. Ezért szerintem a hathatós megoldás az, hogy eltávolítjuk a vírust, kialakítjuk a védelmet és vállaljuk a karbantartást. Ennek az együttes alkalmazása oldja meg hosszú távon a problémát, és nem árt ha ez egy kézben van.
Ha „nagy a baj”, akkor a hosting szolgáltatótól kapsz egy levelet, hogy lekapcsolta a honlapodat (mostantól nem elérhető), mely automatizált folyamat és általában akkor fordul elő, ha már 72 órája vírus van rajta, mely a szerverüket is fenyegeti.
Árulkodó jelek:
Vírusos WordPress honlap helyreállítása és megelőzés
Találkoztunk olyan esettel feltört WordPress weblap helyreállítása során, mikor az ügyfél tévesen hitte azt, hogy fel lett törve a honlap. Eleve vannak gyanús elemek, amik nem biztos, hogy negatív szándékkal lettek elhelyezve a honlapon. A legegyszerűbb megoldás a régi back up visszaállítása, amikor még minden megfelelően működött és nem volt vírus a honlapon.
Azonban itt még nem dőlhetünk hátra, mert ha fel tudták törni a honlapot, akkor csak idő kérdése, hogy ezt újra megteszik. Mindenképpen cseréljünk le minden jelszót az összes felületen valamennyi felhasználó esetében (FTP, adatbázis, admin felületek, tárhely stb.). Frissítsük le a WordPress-t, a pluginokat és a grafikai sablont.
Tapasztalatok alapján a fertőzött WordPress oldal megtisztításához nem elég a WordPress szoftvereket használni, mert a vírus más (külső) mappába is elhelyezésre kerülhet, ha például egy külső szoftver is integrálva van. Egyik alkalommal például egy hírlevélküldő szoftver volt telepítve a WordPress-en kívül, melyről elfeledkeztek… Arra is volt példa, hogy aldomain-ek voltak elhelyezve egyazon mapparendszerben és azok is megfertőződtek.
Ellenőrizzük a honlap vírusmentesítés során a funkciókat, tartalmat, például a kapcsolat oldalon lévő elérhetőségeket, amik akár egy kamu linkkel is rendelkezhetnek. Tesztelve küldjünk magunknak üzenetet a formokon keresztül, hogy lássuk megkapjuk-e azt (ha kevés az ügyfél megkeresés, akkor ezt érdemes rendszeresen ellenőrizni).
A tárhelyszolgáltató is segíthet a megfertőződött honlap monitoringban, főleg a nem publikus mappák tekintetében. A legfontosabb file átnézése a htaccess, wp-config és wp-content mappára terjedjen ki, az is megoldás lehet, hogy ha a többit töröljük miután elkészült a back up az aktuális állapotról is, és visszatöltjük a legfrissebb változatú WordPress file-okat. A phpMyAdmin-ban ismeretlen táblákat is érdemes átnézni (wp_post, wp_users). Ugyanis a pluginok is létrehoznak táblát telepítés alkalmával.
A gyökér könyvtárban is sok nem odavaló file szokott tündökölni, így ez is az eljárás részét képezi a vírusos WordPress honlap helyreállítása során. Érdemes azt is megnézni, hogy ezek közül a szerveren milyen file-ok kerülnek leggyakrabban meghívásra, ugyanis ez is árulkodó lehet számunkra. A plugins és languages mappákban is szeretnek megbújni a vírusok.
Érdemes a wp-config file-ban a titkosító kulcsokat megváltoztatni generátorral. Ez alapján salt-ként működik a sütikkel a honlap biztonságosabb módon. Meglévő php file kiterjesztésű dokumentumokban szoktak elhelyezni kódokat. Ezt össze is hasonlíthatod a legfrissebb eredeti változattal, hogy lásd, ha van különbség benne.
Érdemes a widgeteket átnézni vírusos honlap esetén, mert ott is megbújhatnak rosszindulatú kódok. Nézd át továbbá a szerveren történő file-ok módosítási dátumát. Emellett az emoji is okozhat problémát a Google számára, a megoldás: wp-includes\js\wp-emoji-loader.min.js és wp-includes\formatting.php” 5536-os sor törlése.
Jó megoldás lehet letiltani a gyökérkönyvtárban a xmlrpc.php file-t, hogy megelőzzük a vírusos weboldal kialakulásának lehetőségét. Ez ugyanis a trackback/pingback funkciót működteti, de szerepe kezd eltűnni, viszont általa könnyen feltörhető a honlap. A törléssel frissítésnél újra megjelenik, így például a htaccess-be ezt bemásolva megoldhatjuk a problémát végérvényesen:
# Block WordPress xmlrpc.php requests
<Files xmlrpc.php>
order deny,allow
deny from all
</Files>
De mielőtt ezt megtennénk alaposan gondoljuk végig, mert a JetPack bővítmény is használja és külső API vagy közvetlen XML-RPC alkalmazás pl. WooCommerce (raktárkészlet kezelése) is ugyanezt teszi. De utasításokra alkalmas, így a rosszindulatú robotok egyik barátja.
A WordPress-be belépve a beállítás / beszélgetés menüponton belül ezt ne pipáljuk be: „Engedélyezzük a hivatkozás értesítéseket más weboldalak új bejegyzéseiről (visszajelzések és visszakövetések).”
Letilthatod a dashboardon keresztül a szerkesztési lehetőséget. A file-ok és mappák ne listázódjanak szerver beállítás alapján. Nem érdemes a weblap jelszavát böngészőben tárolni. A hozzászólásokat kikapcsolhatod, ha nem használod, de ha igen, akkor spam szűrővel tedd. Figyelj a file-ok, mappák jogosultságára is és érdemes azt beállítani megfelelően. Töröld a readme és egyéb felesleges file-okat.
Ha kész vagy a vírusmentesítéssel (leellenőrizted), akkor érdemes a Search Console-ban jelenteni ezt feltéve, hogy ott már megjelent a figyelmeztetés. A vírusos WordPress honlap helyreállítása a vírus irtása után a megfelelő védelem kialakításával és folyamatos karbantartással fejeződik be.
Használjunk megfelelő plugint a víruskeresésre. Erről és egyéb infókról itt írtam korábban: Feltört WordPress honlap vírusmentesítése és weboldal feltörés elleni beállítások
Néhány konkrétum a szemrevételezés fontossága jegyében
A végigfuttatok 30 perc alatt egy scan programot és elkérek az ügyféltől pár tízezer forintot, az szakmailag hagy némi kívánni valót maga után. Ugyanis az összefűzött file-okat hogyan tudná egy mintakereső plugin kimutatni? Időt és energiát rászánva, át kell nézni manuálisan is a file-okat és a log mappa hibaüzenet bejegyzései is árulkodóak lehetnek. Íme néhány példa:
A dashboardba (admin felület) belépve a bal side bar-on bármire klikkelt az ügyfél csak ez a hibaüzenet jött be (azaz semmit sem tudott megnézni, vagy beállítani a honlapján):
A honlap tartalmában kutakodva rengeteg vírust találtunk.
Jól látható a 786. sorban, hogy egy rendezetlen, oda nem illő szövegrész található. Ezt a sokezer file-ban meg kell találnunk, belenézve külön-külön… A wp-includes/sodium_compat/namespaced/Core elérési útvonalon is láthatunk gyanús elemeket:
A ChaCha20 mappára klikkelve ezt látjuk:
Ez frissíti a lock 360-at, ami máshol, konkrétan a gyökérkönyvtárban van és 0 KB a mérete, ami már eleve gyanús egy file esetében.
A htaccess pedig néhány file-nak engedi, más file-oknak tiltja, hogy lefussanak:
Amikor sok száz vírus, kapu van a honlapon, akkor egyszerűbb újra építeni a honlapot, kivéve belőle azt, ami nem fertőzött pl. képek, szöveg stb. Tele van vírussal a honlap, de kívülről a user ebből semmit sem lát. A hosting szolgáltató lehet, hogy idővel jelzi, hogy pár napon belül oldjuk meg a problémát, különben fel kell függesztenie a honlap elérhetőségét. Ilyenkor ugyanis, akár az ő szerverét használva tömeges spam kiküldésre is használhatják a honlapunkat.
A WordPress vírus elleni harc különleges esetei
A vírusos WordPress honlap helyreállítása kapcsán fontos infó, hogy minden szituáció más. Máshogyan és máshol megfertőzött honlap vírusokról beszélhetünk az egyes eseteket tárgyalva. Ezért a munka nagysága is különböző. Olyan is előfordult, hogy később újra egy elfelejtett kapun beléptek a honlapra, sőt olyat is láttam már, hogy egy új vírus jelent meg a honlapon, mely a karbantartás és védelem hiánya miatt látogatta meg ugyanazt a honlapot.
Volt olyan ügyfél, aki az iránt érdeklődött, hogy a fertőzött WordPress oldal kialakulásáért ki a felelős? Hol és mikor jöttek be az oldalra? Sőt, találkoztam olyan esettel is mikor pontosan sejtette az illető, hogy ki áll a háttérben és mikor rendőrségi ügy lett belőle és kihallgatták az illetőt, akkor hirtelen megszűnt a honlap rendellenes működése. Azután a leendő ügyfelek újra kapcsolatba tudtak lépni a szolgáltatóval a honlapon keresztül, ami előtte blokkolva volt.
De mégis mikor, miért és mi vagy ki miatt fertőződött meg a honlap?
Nyilván az ember keresi a felelőst és tanulni szeretne az esetből, hogy legközelebb ne kelljen a honlap vírusmentesítésével foglalkoznia. Ez érthető is. Az, hogy milyen grafikai sablont, pluginokat használunk azonnal kideríthető, de vannak egyéb szoftverek, amikkel a weblap gyenge pontjai kifürkészhetőek.
Az alábbiak mind okozhatják a megfertőződött honlap kialakulását
Millió oka lehet annak, hogy feltörik a honlapot és az is előfordulhat, hogy nem történt mulasztás. Ráadásul, főleg egy ingyenes plugintól / sablontól nem várható el, hogy „örökké” működjön. De erről már volt szó ebben a cikkben… A feltört WordPress helyreállítása előtt az egyes file-ok dátuma lehet árulkodó, de a kaput hamarabb is létrehozhatták, illetve nem egy vírust szoktak elhelyezni a weboldalon.
Elképzelhető, hogy kisebb tudással is le tudjuk törölni a vírust a honlapról, ezért is írtam ezt a cikket, de egy bizonyos szint fölött programozói tudás kell hozzá. Meg kell találnunk a malware kódrészleteket, vírusos file-okat és nemcsak azt, hanem a kaput is likvidálnunk kell. Ha az egyik kimarad, akkor nincs megoldva a dolog. A fertőzött WordPress oldal megtisztítása után pedig jöhet a jelszócsere.
A honlap tartalmán, a vírussal együtt másik szerveren is lehet dolgozni a migrálás után. De ez nem feltétlen szükséges, mert a honlapon történő folyamatos, látogatók által történő böngészés letiltható és így nem feltétlenül indulnak be újabb folyamatok a vírusos honlapon emiatt azáltal, hogy nézegetik a user-ek.
A vírusos WordPress honlap helyreállítása és annak lépései
A fent leírtakat azzal egészíteném ki, hogy a backup elkésztése után vannak olyan file-ok, mappák, amiket sok esetben nyugodtan letörölhetünk, például a wp-login, wp-includes mappák. A legfrissebb WordPress file-okkal ezeket fogjuk tudni pótolni. Az index és htaccess (ezekbe a pluginok beszúrhatnak saját szabályokat), wp-config file-t át kell néznünk. Ezután a wp-content mappa következik, amit manuálisan is meg kell vizsgálnunk.
Ellenőrizzük a pluginokat és az egyedi fejlesztésűeket tüzetesen nézzük át. A grafikai sablon legfrissebb változatát nem árt feltöltenünk, de elképzelhető, hogy child van használatban, hogy a frissítés ne írja felül a „magyarított” és egyedi fejlesztésű WordPress-ünket. Természetesen ha a grafikai sablon és a pluginok módosítva lettek, akkor ne az eredeti változatot töltsük fel.
Ezután, ha az uploads mappában php file-okat találunk az általában elég gyanús. Itt ugyanis például képeknek kellene lenniük, de találkoztam már teleszórva htaccess file-okkal is. Át kell néznünk a felhasználókat és az adatbázist is.
A wp-configban új titkos kulcsokat is érdemes készíteni, mert a jelszócsere kevés lehet. Az egyéni JavaScript kódrészletek tisztázására is szükség van a pluginok és grafikai sablon kapcsán, HTML módban figyelve a titkosításra is, hogy biztosan lássuk és megtaláljuk őket. Blogbejegyzésekben, aloldalakon is elbújhatnak spam linkek, Javascript kódok, így ebbe is nézzünk bele HTML módban.
Természetesen szoftverekkel is scanneljük az oldalt. A jelszócseréről sem szabad megfeledkezni sehol sem. Érdemes a log file-t is átnézni, mert az esetleges hibákból is visszafejthető lehet, hogy melyik file-ok lettek átírva. Azt is megnézhetjük, hogy a legtöbb lekérést, mely file-ok kapják, ami szintén árulkodó. Töröljük továbbá az inaktív grafikai sablonokat, pluginokat. A feltört honlap helyreállítása után kell kérvényeznünk, hogy levegyék a honlapunkat a fekete listáról, ha esetleg arra is felkerültünk.
Figyeljünk a megelőzésre, különben csak idő kérdése, hogy mikor következik be a „katasztrófa”
Nem győzöm hangsúlyozni a rendszeres, teljes honlapról elkészített backup elmentését a gépedre, felhőbe stb., és a biztonság kialakítását, megfelelő karbantartást. Komoly profitot is bukhatsz, ha pénztermelő honlapod ideiglenesen nem működik vagy akár teljes mértékben tönkremegy.
Találkoztam olyan tárhelyszolgáltatóval is, melyen blokkolva volt a back up visszatöltése és éppen probléma volt a tárhellyel, hiába volt az ügyfél abban a tudatban (sok ezer termékes vírusos webshopjával), hogy baj esetén azonnal segítenek a srácok visszatölteni a régi honlap tartalmát.
Arra is van példa, hogy a hosting szolgáltató nem értesíti a vírusos honlap kapcsán a website tulajdonosát, mely elképzelhető, hogy nem is feladata (lásd szerződéskötés alkalmával lefektetett feltételek és megállapodás alapján). Láttam olyat is, hogy a backup visszatöltésénél derült ki, hogy sérültek a file-ok. Rendelkezzünk megfelelő alappal, mert az a bizonyos lóláb előbb utóbb (általában a legrosszabbkor) kilóg és az fájni fog…