Spam komentáře ve WordPress

Jakmile se váš WordPress objeví v indexu Google, navštíví jej dříve anebo později automatický robot, který začne přidávat komentáře. Většinou se jedná o takzvaný spam. Často nesmyslné texty obsahující odkaz vedoucí na web s reklamou anebo v horším případě malware. Nepřemýšlejte nad nimi a okamžitě je mažte. Jednak znepříjemňují život vašim návštěvníkům a také váš blog nepůsobí důvěryhodně v očích vyhledávačů. Těm se obecně nelíbí, že se na vašem webu objevují odkazy vedoucí na nedůvěryhodné weby. Může se dokonce stát, že i ten váš označí za nedůvěryhodný.

Akismet

Proti spamům se bojuje pluginy. Existuje jich celá řada. Nejpoužívanější je Akismet, za nímž stojí Automattic, kterou založil spolutvůrce WordPress Matt Mullenweg. Využívá složitý algoritmus a napojení na externí databázi. Sice je často kritizován za falešně pozitivní označení legitimních komentářů, ale toho se bát nemusíte, protože anglické komentáře jsou na českém webu jako pěst na oko 🙂

Akismet je třeba aktivovat pomocí API klíče, který si musíte nechat vytvořit. Instalace se tak trochu protáhne. Na druhou stranu v roce 2015 už funguje opravdu dobře a patří mezi nejoblíbenější.

WP-SpamShield Anti-Spam

Nové antispam pluginy jsou postavené na technologii Javascript. Většinou nechávají pro roboty lákavé políčka formuláře, které ale uživatel nevidí. V momentě, kdy je robot vyplní plugin ví, že se nejedná o člověka. WP-SpamShield Anti-Spam navíc využívá ochranu přes cookies a algoritmus. Takže dosahuje velmi dobrých výsledků.

Za zmínku stojí i zvýšená ochrana před různými druhy útoků. Zabrání například SQLi a XSS útokům přes komentáře.

Velké nebezpečí, které se skrývá ve spam komentářích

Jak už jsem zmínil u pluginu WP-SpamShield Anti-Spam, komentáře jsou cestou jak může případný útočník dostat skrz komentáře do databáze škodlivý kód. Samotný WordPress je proti tomuto velmi dobře chráněn. Ovšem jak už se párkrát ukázalo, ne vždy vývojáři myslí na vše.

Pokud pomineme nepravděpodobné úspěšné útoky SQLi, kdy se prostřednictvím propašování dotazu skrz komentář na databází podaří útočníkovi například vytvořit nového administrátora, tak nebezpečí jsou javascriptové kódy anebo iframe. Tomuto útoku kdysi neunikl ani Twitter.

Útočník se pokusí protlačit do komentáře škodlivý kód, který když si prohlédne administrátor, tak se spustí příkaz (zavolá URL, odešle POST). Většinou je při kontrole komentářů administrátor přihlášený, takže příkaz bude autorizován. Zjednodušeně je to jako, když by iframe pořád dokola volal http://doména.cz/wp-login.php?action=logout a WordPress by vás automaticky ohlásil, když si prohlédnete komentáře (stáčí změnit doména.cz za vaší doménu s instalací). Jenomže WordPress má na podobné vtípky ochranu, takže vás vyzve k potvrzení 🙂 To ovšem nemusí platit o pluginech. Je to ale hodně zjednodušený příklad.

Na následujícím obrázku uvidíte, jak může být takový škodlivý komentář maskovaný.

podivny-komentar

Na první pohled tento druh komentářů vypadá jako nepovedený text, který vložil robot. Po editaci se však dozvíte, že to co vidíte je ve skutečnosti nebezpečný kód, který se spouští přejetím myši.

Ve většině případů se o jeho zneškodnění postará samotný WordPress. Pokud však někdo objeví zero day slabinu, může projít. Ochranou jsou pak antispam pluginy anebo bezpečnostní pluginy jako WordFence security, BulletProof Security anebo All In One WP Security & Firewall.

Zůstává zde jeden problém. Podobné útoky často obsahují velké množství znaků, běžně zakódovaných, aby se daly dobře „protlačit“. Ve výsledků se může jednat o desítky kilobajtů dat. Zmatení roboti v případě větší pandemie mohou takovýchto příspěvků odeslat desítky tisíc (jeden napadený WordPress posílá komentáře na ostatní). Takže v spamu máte desítky i stovky megabajtů dat. Což se odrazí na výkonu databáze.

Základem je nastavit si pravidelné promazávání komentářů adresáře se spamem. Stojí za to jednou za čas při pravidelné údržbě také zkontrolovat zdali k tomuto promazávání opravdu dochází. To zvláště platí o frontě komentářů pro schválení, pokud máte nastavené ruční schvalování.

Autor Ginoza

Pracuji na zákaznické podpoře jednoho známého webhostingu.

Připojte se k diskuzi

1 komentář

  1. Zajímavý článek, hlavně bych chtěl upozornit na to, že i při smazání spam komentářů, je databáze stále zahlcená a je nutné ji optimalizovat.

    Jen nevím jak mám smazat příslušné komentáře, které akismet pustí a jsou případnou hrozbou útoku. Jelikož když jsem přihlášen jako administrátor, může tyto práva zneužít.

Napsat komentář

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