Röviden: Hogy egy szervert feltörés után újratelepít vagy megtisztít, az attól függ, mennyire biztosan ismeri a behatolás terjedelmét. Ha a támadónak esetleg root-jogai voltak, a behatolás időpontja nem világos, vagy a naplók hiányoznak, a megbízható forrásokból végzett újjáépítés a megbízhatóbb választás. A tisztítás csak szűken körülhatárolt, jól igazolt fertőzésnél jön szóba. Mindkét esetben érvényes: előbb bizonyítékokat rögzíteni és a rést lezárni, azután rendet rakni.
Miért teszik fel ezt a kérdést a PHP2Shell után különösen gyakran
A PHP2Shell a php.net szerint bejelentkezés nélküli, távoli kártékony kódfuttatást tesz lehetővé. Aki javítatlan szervert üzemeltetett, annak ezért meg kell kérdeznie, történt-e valami 2026. 10. 17. óta, vagyis az első, a médiajelentések szerint megfigyelt támadási kísérlet óta. A javítás nem válaszolja meg ezt a kérdést, és nincsenek közzétett, megerősített Indicators of Compromise.
Ha ezután gyanús fájl, ismeretlen folyamat vagy idegen cron-feladat kerül elő, döntésre van szükség. A késztetés gyakran az, hogy gyorsan töröljenek vagy azonnal újratelepítsenek. Mindkettő lehet helyes, de nem első lépésként.
A sorrend a döntés előtt
Mielőtt a tisztítás és az újratelepítés között választ, három dolgot el kell végezni. Mindkét útra érvényesek.
- Megfékezés: A szervert levenni a hálózatról, vagy a hozzáférést a legszükségesebbre korlátozni, anélkül hogy kikapcsolná, ha a memóriát még rögzíteni kell.
- Bizonyítékok rögzítése: Naplók, fájlok, adatbázis és lehetőleg a rendszer lemezképének mentése, dátummal és ellenőrző összeggel. Hogy ez miért szükséges minden újratelepítés előtt, azt a Bizonyítékok rögzítése az újratelepítés előtt magyarázza el.
- A biztosító és az adatvédelem bevonása: Sok kiberbiztosítási kötvény elvárja, hogy a lényeges lépéseket egyeztessék. A tudnivalók a Kiberbiztosítás: mi számít kár esetén oldalon állnak. Hogy fennáll-e GDPR szerinti bejelentési kötelezettség, azt az adatvédelmi tisztviselő vagy az ügyvéd értékeli.
Csak ezután éri meg a tulajdonképpeni mérlegelés.
Szerver újratelepítése feltörés után vagy tisztítása: a szempontok
| Szempont | Tisztítás | Újratelepítés |
|---|---|---|
| A behatolás terjedelme | Szűken körülhatárolt, igazolt, például egy fájl a feltöltési mappában további nyomok nélkül | Nem világos, vagy a rendszerhozzáférésre utaló jelekkel |
| A támadó lehetséges root-jogai | Jó bizonyítékokkal kizárva | Nem zárható ki |
| A naplók rendelkezésre állása | Teljes a releváns időszakra | Hiányos, felülírt vagy manipulálható |
| Ráfordítás | Kisebb, ha a lelet egyértelmű | Nagyobb, de jobban tervezhető |
| Fennmaradó bizonytalanság | Nagyobb, a rejtett hátsó ajtókat nehéz kizárni | Kisebb, ha rendesen megbízható forrásokból építették fel |
| Kiesési idő | Többnyire rövidebb | Többnyire hosszabb, előkészítéssel jól irányítható |
| Alkalmasság régi rendszerekhez | Problémás, ha a rendszer amúgy is elavult | Jó alkalom a támogatott PHP-verzióra való váltásra |
Ökölszabályként: minél kevesebbet tud, annál inkább az újjáépítés mellett szól. A PHP-értelmezőben lévő résnél, amely a webszerver-felhasználó környezetében futtat kódot, a támadó további sebezhetőségeket használhat ki több jog megszerzésére. Ezt alapos vizsgálat nélkül aligha lehet kizárni.
Mindkét út a gyakorlatban
Mit jelent valójában az „újratelepítés”
Az újratelepítés nem azt jelenti, hogy a régi mentést egy friss szerverre másolják. Az újjáépítés egy hivatalos forrásból származó tiszta operációs rendszerrel, aktuális csomagokkal és javított PHP-verzióval kezdődik. Az alkalmazást a gyártó eredetijéből telepítik, a bővítményeket és témákat is.
Csak ezután jönnek a saját tartalmak, mégpedig ellenőrizve. A feltöltött fájlok nem tartalmazhatnak futtatható szkripteket, az adatbázis bejuttatott tartalmakat tartalmazhat, például rejtett admin-fiókokat vagy szkripteket a bejegyzésekben. A konfigurációs fájlokat újraírják a másolás helyett. Minden hozzáférési adatot megújítanak: adatbázis, CMS-adminok, SSH-kulcsok, API-kulcsok, tárhelypanel.
A mentések fontos szerepet játszanak, de csak akkor, ha az állapotuk a behatolás előtti, és maguk nem módosultak. Több generáció, elkülönített helyeken ellenőrizhetővé teszi ezt; többet erről a Mentések a 3-2-1 szabály szerint tartalmaz.
Mikor védhető a tisztítás
A tisztítás akkor lehet értelmes, ha a fertőzést korán felfedezték, teljes naplók állnak rendelkezésre, és a vizsgálat nem ad támpontot további hozzáférésekre. Ilyenkor a megtalált fájlokat a mentés után eltávolítják, a cron-feladatokat, felhasználói fiókokat és SSH-kulcsokat ellenőrzik, a magfájlokat pedig összevetik a gyártó eredetijével.
Fontos a reális megítélés: a webshellek gyakran jelentéktelenek és több helyen el vannak rejtve. Hogyan lehet megtalálni őket, azt a Webshellek felismerése és eltávolítása írja le. Egy tisztítás után a szervert szoros figyelemmel kell kísérni, hogy egy figyelmen kívül hagyott hátsó ajtó feltűnjön.
Ne töröljön semmit, mielőtt a naplókat és a fájlokat rögzítette, és zárja le a rést, mielőtt a szerver ismét a hálózatra kerül. Különben elveszíti a nyomokat, és meghívja a következő behatolást.
Mikor nincs szüksége szolgáltatóra
Egy egyszerű weboldalnál megosztott tárhelyen, ahol a tárhelyszolgáltató kezeli a rendszert és megerősíti a PHP-javítást, a döntés gyakran egyáltalán nem Önnél van. Az alkalmazást újratelepítheti az eredetiből, ellenőrizheti a tartalmakat és megújíthatja a hozzáférési adatokat, a tárhelyszolgáltató támogatásával. Egy tapasztalt belső csapat is maga megoldhatja az újjáépítést, ha a bizonyítékrögzítés és a dokumentálás megvan.
Külső segítség akkor éri meg, ha a root-jogok nem zárhatók ki, személyes adatok érintettek lehetnek, a biztosító részt vesz, vagy több rendszer függ össze.
Hogyan segít konkrétan a PHP SOS?
- Bizonyításra alkalmasan rögzítjük a naplókat, fájlokat és az adatbázist, mielőtt bármi megváltozna.
- Értékeljük a behatolás terjedelmét, és indoklással ajánljuk a tisztítást vagy az újjáépítést, igazolt, valószínű és ismeretlen szerint elkülönítve.
- Szükség esetén megbízható forrásokból újjáépítjük a szervert, javított PHP-verzióval és megújított hozzáférésekkel.
- Átvesszük a kártevő-eltávolítást ott, ahol a tisztítás védhető, és minden lépést dokumentálunk.
Összegzés
Az „újratelepítés vagy tisztítás?” kérdésre a behatolásról való tudás ad választ. Aki nem ismeri biztosan a terjedelmet, újjáépít. Aki jól igazolva körül tudja határolni, tisztíthat. Mindkét esetben ugyanaz a sorrend érvényes: megfékezés, rögzítés, a rés lezárása, azután rendrakás.
Gyakori kérdések
Az újratelepítés feltörés után mindig jobb?
Nem mindig, de gyakran. Ha nem világos, meddig jutott a támadó, a megbízható forrásokból végzett újjáépítés többnyire a megbízhatóbb választás. Egy szűken körülhatárolt, jól igazolt fertőzésnél elég lehet a tisztítás.
Visszaállíthatok egyszerűen egy régi mentést?
Csak ha biztos, hogy a mentés a behatolás előtt készült, és nem tartalmaz hátsó ajtót. Emellett a rést előtte le kell zárni, különben a szerver azonnal újra támadható. A frissebb adatokat külön kell ellenőrizni.
Mit kell az újratelepítés előtt rögzítenem?
A naplókat, a fájlok és az adatbázis másolatát, valamint ha lehet, a rendszer lemezképét. Ezekre a bizonyítékokra szüksége lesz az okelemzéshez, a biztosításhoz és egy esetleges bejelentéshez. A törlés után eltűnnek.
Elég a megtalált webshellt törölni?
Ritkán. A támadók gyakran több hátsó ajtót hoznak létre, például cron-feladatokat, felhasználói fiókokat vagy SSH-kulcsokat. Aki csak a látható fájlt törli, a többi hozzáférést nyitva hagyja.