Neaktualizované pluginy: najčastejšie dvere pre útočníkov
Keď sa ma ľudia pýtajú, ako sa útočník dostal na ich web, odpoveď býva vo väčšine prípadov rovnaká: cez doplnok, ktorý nikto dlho neaktualizoval. Nie cez slabé heslo, nie cez hosting, ale cez kus softvéru, ktorý na webe potichu starol.
Prečo je zastaraný plugin otvorenými dverami
Každý plugin je kód, ktorý napísal niekto iný. V kóde sa občas nájde chyba, ktorú možno zneužiť. Takej chybe sa hovorí zraniteľnosť. Keď ju autor pluginu opraví, vydá novú verziu. Kto aktualizuje, má opravu. Kto nie, má na webe chybu, o ktorej už vie celý svet.
Ako sa zraniteľnosti zverejňujú
Chyby v pluginoch hľadajú bezpečnostní výskumníci aj samotní autori. Keď niekto chybu nájde, zvyčajne ju najprv oznámi autorovi, ten pripraví opravu a potom sa chyba zverejní. Dostane medzinárodné označenie CVE a objaví sa vo verejných databázach zraniteľností.
Zverejnenie je dôležité, lebo sa vďaka nemu dozviete, že máte aktualizovať. Má to však aj odvrátenú stranu. Od chvíle, keď je chyba verejná, ju poznajú aj útočníci. Automatické programy začnú hľadať weby so starou verziou často už v priebehu niekoľkých dní. Čas medzi zverejnením a vašou aktualizáciou je presne to okno, ktoré útočníci využívajú. Prečo sa to deje aj malým webom, vysvetľujem v článku Prečo útočníci napádajú aj malé firemné weby.
Platené doplnky dodávané s témou
Osobitnou kapitolou sú platené doplnky, ktoré prišli spolu s kúpenou témou. Napríklad posuvník obrázkov alebo vizuálny editor, ktorý téma potrebuje. Na prvý pohľad je to výhoda, dostanete ich „zadarmo“. Lenže licencia často patrí autorovi témy, nie vám.
Výsledok je, že WordPress vám takýto doplnok neponúkne na automatickú aktualizáciu. Novú verziu dostanete len vtedy, keď ju autor zabalí do aktualizácie témy. A ak tému roky neaktualizujete, alebo ju autor prestal udržiavať, doplnok ostane starý. Roky. Aj s chybami, ktoré medzitým verejne opravili.
Presne tak sa útočník dostal na web, o ktorom píšem v prípadovej štúdii. Zastaraný doplnok dodávaný s témou mal známu chybu, cez ktorú sa dali bez prihlásenia čítať súbory na serveri vrátane konfigurácie s prístupom k databáze.
Čo je „nulled“ plugin a prečo sa mu vyhnúť
„Nulled“ plugin alebo téma je nelegálne šírená kópia plateného produktu, z ktorej niekto odstránil kontrolu licencie. Ponúkajú sa na rôznych stránkach zadarmo alebo za zlomok ceny. Znie to lákavo, ale je to jedna z najhorších vecí, ktoré môžete do webu nahrať:
- Často obsahujú skrytý škodlivý kód. Kto si dal prácu s „odomknutím“ plateného pluginu, málokedy to urobil z dobroty srdca. Do kódu býva vložený zadný vchod alebo kód, ktorý na web pridáva spamové odkazy.
- Nedostávajú aktualizácie. Takže aj keby boli čisté, chyby v nich ostanú navždy.
- Porušujete licenciu a nemáte nárok na podporu autora.
Ak potrebujete platený plugin, kúpte si licenciu. Je to lacnejšie než čistenie napadnutého webu.
Ako aktualizovať bezpečne
Mnohí aktualizácie odkladajú zo strachu, že sa web pokazí. Ten strach nie je úplne neopodstatnený, pluginy si niekedy navzájom nerozumejú. Odkladanie je však horšia voľba. Rozumný postup vyzerá takto:
- Pred aktualizáciou si urobte zálohu, súbory aj databázu. Ak sa niečo pokazí, máte sa kam vrátiť.
- Aktualizujte priebežne, nie raz za rok. Malé skoky sú bezpečnejšie než preskočenie desiatich verzií naraz.
- Prečítajte si, čo aktualizácia mení, najmä pri veľkých verziách.
- Po aktualizácii skontrolujte web. Hlavnú stránku, formuláre, pri e-shope košík a objednávku.
- Nezabudnite na doplnky dodávané s témou a na samotnú tému.
- Zmažte, čo nepoužívate. Aj vypnutý plugin je kód, ktorý leží na serveri.
Ak sa po aktualizácii niečo predsa len pokazí, pomôže článok Po aktualizácii sa web rozsypal. A ak pluginov máte viac, než potrebujete, pozrite si koľko pluginov je priveľa.
Keď sa o to nechcete starať
Aktualizácie, zálohy a kontrolu po nich môžem robiť za vás v rámci mesačnej správy. A ak máte podozrenie, že starý plugin už niekto zneužil, pozrite si, čo obsahuje vyčistenie napadnutého webu.
Zdroje: WordPress: Updating WordPress, WordPress: Správa pluginov, CVE: Čo je CVE.