Poslední obranná linie WordPress

Počet útoků na redakční systémy roste. Je jedno jestli používáte WordPress, Joomla! anebo Drupal, jakmile je dostatečně rozšířený stává se potenciálně zajímavým. Napadený web se totiž mění v zdroj příjmu pro útočníka, který jej na dálku může ovládat.

Tvůrci redakčních systému to dobře ví, a proto se snaží je zabezpečovat jak jen je to možné. Nutno podotknout, že samotné redakční systémy jsou často zabezpečené nadstandardně a jakákoliv bezpečnostní díra je velice rychle nalezena a opravena, díky široké komunitě. Často se v ní nachází lidé, kteří jsou experti v různých oborech a své schopnosti a čas investují do vývoje v rámci svého volného času. Přitom u komerčních aplikací byste za jejich služby zaplatili velmi velké částky.

Redakční systémy mají v podstatě dvě slabiny. Jednou z nich je otevřený kód, do kterého může nahlédnout kdokoliv. Komerční projekty si své zdrojové kódy dobře chrání, protože pokud nikdo do nich nevidí významně se tím snižuje šance na proniknutí do systému. Potenciální útočníci tak nemusí hledat díry metodou pokus omyl a odhadovat slabiny, prostě je rovnou najdou v kódu.

Druhou slabinou jsou různé pluginy a šablony, které vytváří komunita. Ne každý je profesionální programátor. Spousta lidí jsou jen nadšenci a vytváří věci pro zábavu anebo podle potřeb dalších lidí. V jejich šablonách a pluginech se mohou nacházet bezpečnostní slabiny. Zvláště pokud neprošli kontrolou WordPress týmu a nejsou v databázi na wordpress.org.

Pokud si u svého WordPress aktivujte access log uvidíte jak každý den někdo zkouší odolnost vašeho webu. Nejčastěji různé SQLi útoky, popřípadě šmátrání po často používaných starších verzích oblíbených pluginů. Občas z toho jde až strach, tak se na to připravte.

Jestliže pravidelně aktualizujete své weby a používáte pouze originální rozšíření z wordpress.org, většinou se nemáte čeho bát. Většinou …

I mistr tesař se někdy utne, jak se ukázalo tento rok u několika oblíbených pluginů. Díky zranitelnosti v pluginu mailpoet má spousta WordPressů v sobě backdoor aniž by o tom jejich majitelé věděli. Zero day exploit jsou hold nepříjemná záležitost, zvláště když se odhalí až po delší době.

První obranná linie

První obrannou linii jsou pluginy jako Wordfence Security anebo All In One WP Security. Oba při dobrém nastavení dokáží některým útokům předejít. Zároveň v sobě mají nástroje, které minimalizují bezpečnostní riziko dalších forem útoků. Velmi dobrá obrana je třeba povolení přístupu do administrace jen určitým IP adresám. Pokud máte statickou IP anebo používáte vlastní VPN určitě tuto možnost ochrany využijte. V případě početné uživatelské základy určitě využijte fail2ban, který zajistí ochranu před brute force útoky.

Druhá obranná linie

Druhá obranná linie je tu spíše od toho, aby se dalo něco dělat, když už došlo k napadení. Opět zmíním plugin Wordfence Security, který dokáže „vyčistit“ instalaci WordPress. Využívá k tomu porovnávání souborů v repositáři wordpress.org. Prostě porovná co máte na disku s originálem a když najde rozdíl, tak vás upozorní. Ještě lepší na tom je, že umožňuje takto napadený soubor nahradit a teoreticky se zbavit problémů. Teoreticky …

Existují však velice komplexní útoky, které se dokáží různými způsoby maskovat a schovávat. Navíc jeden ze způsobů jak zabránit nalezení je zmanipulovat program co bude hledat.

Poslední obranná linie

Váš WordPress byl napaden. Útočník našel slabinu. Druhá obranná linie je infiltrována, aby nic nehlásila. Ale všechno nešlo podle plánu. Je tu totiž poslední obranná linie, která tomu všemu nějak dokázala zabránit…

Tvůrci škodlivého kódu moc dobře vědí, že nejjednodušší způsob jak se zbavit infikovaných souborů je jednoduše je smazat a nahradit novými (vše se dá opatřit z originálního zdroje a přes FTP provést v řádech minut). Jediné co nenahradíte (pokud máte zálohu) jsou texty (ukládají se do databáze) a multimédia. Právě tyto dvě místa jsou jediná bezpečná uložiště škodlivého kódu.

Takže do adresáře wp-content/uploads/, kam se nahrávají obrázky a další multimédia, stačí nahrát .htaccess s následujícím kódem

<Files *.php>
Order allow,deny
Deny from all
</Files>

Tento krátký kus kódu způsobí, že se v něm nesmí spouštět žádné PHP soubory. Pro většinu backdoorů je právě toto místo kam se schovat. Celá invaze tak může selhat na tom, že nejde zapsat jeden soubor.

Mimochodem tento htaccess se doporučuje nahrát ještě do adresářů /wp-includes/ a /wp-content/. Ovšem je třeba brát v úvahu, že ne všude to může fungovat.

Samozřejmě pokud mu nastavíte práva na 404, tak s ním nepůjde dělat nic jiného než číst a jakákoliv úprava bude možná jen přes FTP.

Share Button

Tento článek byl byl přečten 1543 krát

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *