A vírusírtás alapok című cikkemben körbejártam, hogy mit kell tenni akkor, ha már megtörtént a baj. Azóta (2018. májusában) történt egy olyan eset, amely mellett nem tudok szó nélkül elmenni. Az egyik ügyfelemnek (ráadásul TOP20-as ügyfélről van szó) megfertőzték a weboldalát, de olyan módon, hogy az ékezetes karakterek helyére (mind helyére ugyanaz) kriksz-krakszok kerültek, és azokat hexaeditorral sem lehetett normális módon helyreállítani.
Mi vezetett idáig, mi volt a megoldás? Miért volt extrán peches az ügyfél? Hogyan lehetett volna enyhíteni a károkat előrelátó módon?
A helyreállítás sokkal könnyebb lehetett volna, ha pár helyen szerencsésebben alakulnak a körülmények. De ahogy a sportban sincs „ha”, úgy itt sem volt sajnos.
Azonnali jelzés – FONTOS!
Az első és legfontosabb hasonló esetben, hogy AZONNAL jelezni kell azt, ha ilyet tapasztalunk a weboldalon. Sokszor volt már olyan, hogy „azt hittem csak ideiglenes hiba, és megoldódik”. Magától az esetek többségében nem fog megoldódni a probléma, sőt, csak nagyobb bajt okozunk vele. Mint itt is. Amikor az ügyfél jelezte, hogy mi van az oldallal, mondta, hogy már 2-3 hete ilyen az oldal, akkor szóltak neki. Csak a gond ezzel az volt, hogy a tárhelyszolgáltatónak 2 hétre visszamenőleg volt mentése, így a tartalmak – azonnali jelzés esetén – 100%-osan helyreállíthatóak lettek volna. De így pont akkor lett jelezve a baj, amikor már a tárhelyesnek is csak vírusos állapotról volt mentése.
Itt volt még egy kör a tárhelyessel, mert azt mondta, hogy minden év végén készítenek egy biztonsági mentést, és azt egy széfben tárolják. Erre több mint két hetet vártunk (részben azért, mert nem fért hozzá, részben azért, mert pont szabadságra mentem egy hétre), amikor kiderült, hogy 2017 végén nem készült ilyen mentés, csak 2016-ban.
Amíg ez ki nem derült (illetve amíg szabadságra mentem), egy 2017. márciusi állapotot állítottunk vissza.
Miért kellett biztonsági mentés, nem lehetett volna leírtani a vírust az oldalról?
A tartalmak olyan mértékben sérültek, hogy erre sajnos nem volt mód.
Legyen havi biztonsági mentésed!
- A következő dolog, hogy legalább havonta készüljön biztonsági mentés a weboldalról.
- Amikor elkészül egy biztonsági mentés, az legyen elmentve tömörítve és kicsomagolva is. Ezt korábban nem kommunikáltam eléggé, ezért frissült az erre vonatkozó levelem is, hogy erre külön felhívjam a figyelmét a mentést kapó ügyfeleknek.
- Ha készül egy újabb mentés, a RÉGI mentések AKKOR SE legyenek törölve.
Itt bonyolította a dolgot, hogy tavaly novemberben készült biztonsági mentés az oldalról, de az ügyfél hibásan tárolta (nem futott végig a kicsomagolás, és az általam küldött zip fájlt pedig törölte – ergo használhatatlan volt).
A mentéseket én 7 napig tárolom, így nálam sem volt meg a novemberi mentés. Ha lett volna havi mentés, akkor max. egy hónapnyi tartalom veszik el és/vagy sokkal könnyebb a helyreállítás.
De szerencsére volt egy 2018. márciusi mentés, abból lett helyreállítva a weboldal váza. Azért írom így, mert az azóta eltelt több mint 400 napban számtalan cikket írt az ügyfél, és rengeteg módosítást is eszközöltünk a weboldalon. 60+ oldalas levelezést gyűjtöttem össze az ügyféltől ezen 400 napról, ezen (mint fejlesztési lista) végig kellett rágnom magam a tökéletes helyreállításhoz.
A havi mentések készítése plusz pénz (vagy egyszer meg kell tanulni, és becsülettel elvégezni havonta), de ha szükség van rá, akkor rengeteg időt és pénzt lehet megspórolni a felhasználásukkal.
Mi történjen két mentés között?
Ha havonta készül biztonsági mentés, mondhatjuk, hogy akkor történhet adatvesztés. Ennek megelőzésére, saját oldalaknál a következőt alkalmazom: Ha írok egy cikket, akkor a HTML nézetből (hogy a formázás is meglegyen) ki szoktam másolni a forráskódot egy jegyzettömbbe, és elmentem. Ez azért jó, mert a tartalom hiánytalanul rendelkezésre áll később. Ha kép is került a cikkbe, azt is egy külön mappában („backupig” a neve) tárolom a következő biztonsági mentés készítéséig.
Kinézet megmentése:
A kinézetben végzett módosítások egy export-import fájllal menthetőek voltak, így ez nem volt nagy gond.
Tartalmak megmentése:
A legfontosabb szempont ilyen esetben mindig a tartalmak megmentése. A tartalom nélkül nem ér semmit a weboldal, és azt a legnehezebb rekonstruálni (újraírni). A korábbi cikkek (157 db), oldalak (13 db) tartalma végül 95,3%-osan helyre lett állítva. Ahhoz képest, hogy 400+ napos mentés állt rendelkezésre, szerintem nem rossz arány. A helyreállítás során több helyről lettek kinyerve adatok: részben korábbi mentésekből, részben archive.org oldal használatával, részben pedig a WordPress revision fájljaiból való kimazsolázással. 8 olyan cikk volt, amit sehonnan nem tudunk megmenteni, ezért azokat újra kell gépelni. Illetve a meglévő cikkek, oldalak 400 napja eszközölt változtatásai elvesztek, és kb. 30-40 cikk formázása, címkézése, kategorizálása, SEO-zása (vegyesen, hol mi, attól függ, honnan lett helyreállítva) is odalett. Ezeket ismét be kell majd állítani.
Mivel úgy volt, hogy a tárhelyesnek van év végi mentése, ezért csak az idei megmenthető cikkeket mentettem le a weboldalról. Amikor kiderült, hogy mégsincs ilyen, akkor a vírusos verziót egy másik tárhelyen össze kellett raknom, hogy további tartalmakat menthessek onnan.
Mi volt a probléma?
Sajnos erre nem derült fény. Nagyrészt teljesen azonos konfigurációt használ sok más, érintetlen weboldallal.
- De más tárhelyen van a weboldal, lehet, hogy ott volt valamilyen gond.
- Az ügyfél telepített jópár olyan bővítményt, ami már elavult.
- Néhány admin felhasználónak „kismacska” szintű gyenge jelszava volt.
Ezeket orvosoltam, és már van az oldalon WordFence is, valamint egyéb biztonsági bővítmény is, így hasonló esetnél sokkal gyorsabban fogunk tudni reagálni. Illetve lett feltelepítve olyan bővítmény, amivel az ügyfél egy kattintásra tud biztonsági mentést készíteni a weboldalról.
Lehetett volna nagyobb baj?
Igen, ha nincs ~400 napos biztonsági mentés, akkor sokkal nagyobb baj lett volna. De így is több, mint 13 munkaórám ment el a teljes helyreállításig. Igaz, ez a nagy szám annak is betudható, hogy az elmúlt 400 nap fejlesztéseit is újra végig kellett csinálnom.