Nejčastější věta po levném „vyčištění“ z fóra: Bylo to dobré čtyři dny a pak zase.
To není smůla. To je nedokončený zásah.
Tři důvody, proč se infekce vrací
1. Zůstalo staré heslo
Útočník měl FTP, databázi nebo administrátora. Vy smažete PHP v uploads, ale heslo necháte. Druhý den je backdoor zpátky — často v jiném souboru, aby to nevypadalo stejně.
2. Zůstal backdoor mimo WordPress
Nejhorší kousky sedí ve wp-includes, v mu-plugins, v cronu na hostingu nebo v .user.ini. Běžný „security plugin“ je nevidí, protože vypadají jako jádro.
3. Zůstal otvor, kudy to přišlo
Zastaralý formulář, nulled téma, plugin bez aktualizace tři roky, otevřený xmlrpc.php s hrubou silou. Když díru nezacelíte, čištění je jen pauza.
Jak to děláme jinak
Nečistíme „soubory, které vypadají divně“. Porovnáváme jádro a oficiální pluginy s čistými balíčky, databázi bereme jako důkaz a po zásahu měníme všechna hesla. Teprve pak dává smysl záloha a monitoring.
Když se klient vrátí v záruce, bereme to jako stejný incident — stejné ID, stejný web. Pokud se malware vrátí kvůli tomu, že jsme něco přehlédli, jdeme do toho znovu.
Co si pohlídat sami
- 2FA na každém administrátorovi
- Žádné nulled šablony
- Aktualizace do týdne, ne „až bude čas“
- Oddělená hesla pro hosting, FTP, databázi a wp-admin
- Pravidelná záloha mimo stejný hosting
Virus se nevrací proto, že je WordPress „nebezpečný“. Vrací se proto, že někde zůstal klíč.