Nečekal jsem to, ale na vlastní kůži jsem si vyzkoušel, jaké je to mít hacknutý vlastní web. Že by staré lidové moudro o kovářově kobyle? 🙂 Na začátku listopadu jsem se po dlouhé době potřeboval podívat na FTP server svého webu, a naprostou náhodou si tam mezi WP složkami souborů všiml cizokrajné složky /yeg49e0/. Vytvořena 1. 11. v 17:10. A ke stejnému času modifikovaný soubor wp-load.php, ve kterém přibyl jeden jediný řádek PHP kódu: include(‚…/yeg49e0/1a9ra.php‘). Tedy každé načtení stránky webu spouštělo i skript nějakého malwaru. Ten jsem deaktivoval, odmazal, a prozkoumal web – nikde nic zvláštního, nebyl doinstalován žádný podezřelý plugin, vytvořen nový administrátor, nebo články infikovány zpětnými odkazy nebo divným, javascriptem. Překvapující ale bylo, že malware neodhalil Ithemes Security bezpečnostní plugin.
Obrátil se na mě zákazník s prosbou o vyřešení problému s napadeným WordPress webem, který během posledních 24 hodin rozeslal cca 25 000 spamových emailů, a jejich hosting jim ho vypnul. Ihned jsem se pustil do práce. V přeposlaném e-mailu od hostingu byla ukázka z logu, kde byly spamové requesty očividně zastoupeny voláním „POST /wp-admin/admin-ajax.php“. Už to mi mělo napovědět, že to nebude úplně běžné napadení – to se totiž nesoustředí jen na jeden soubor, ale má rozesetá zadní vrátka po celém webu.
V pondělí ráno jsem usedl s kávou k počítači a přemýšlel, do které práce se pustím nejdříve, když mi přišel e-mail s prosbou o vyřešení „hacku“ WP webu mého několikaletého klienta (kterému jsem původně implementoval platební bránu). Provozovatel hostingu web vypnul, protože rozesílal tisíce spamových e-mailů denně – jasná známka napadení webu a jeho zneužití k nekalým účelům. Tyto problémy „mám rád“, protože je to vždy něco nového, souboj s neviditelným nepřítelem, zákopový boj digitální války 🙂
Nedávno jsem se dostal ke dvěma různým webům na WordPressu, které napadli neznámí útočníci. Každý z hacků byl naprosto odlišný, a obsa se mi povedlo – zdá se – zdárně vyřešit.
Toto není vyčerpávající návod, jak si web zabezpečit vlastními silami, i pokud nejste programátoři. Chcete-li svůj WordPress web podobně zabezpečit, kontaktujte mě.
WordPress je úžasný redakční systém, a používá jej celý svět. To má ale také jednu nevýhodu – webové stránky, které pohání, jsou často cílem automatizovaných útoků různých robotů. To proto, že jich je tolik, a je tak větší šance, že některá z nich bude hůře zabezpečená. Roboti se snaží uhodnout vaše přihlašovací jméno a heslo, „jakože“ se přihlásit do administrace, a pak do webových stránek vložit škodlivý kód. Nesnaží se vás tedy nijak okrást, ale váš web využijí k dalšímu šíření neplechy, a vy to ani nemusíte vědět.
V tomto článku vám chci popsat, jak své weby chráním já.
1. Plugin Limit Login Attempts
Toto rozšíření WordPressu doslova „omezuje přihlašovací pokusy“, protože WordPress samotný nijak nehlídá, jestli někdo nezkouší heslo za heslem. Po instalaci pluginu máte ve výchozím nastavení na přihlášení do administrace pouze 4 pokusy. Pokud se 4x spletete, budete na dvacet minut zablokován. Nebo kdokoli jiný, kdo se o to pokusí. A proč se držet při zemi? Já se nebojím si nastavit dva pokusy a dobu blokování na 9999 hodin 🙂
Plugin také umí poslat e-mail, pokud někoho zablokoval. Jenže když ráno vstanete, a v poště najdete 50 emailů o padesáti pokusech o vloupání se do vaší administrace, tak vám to na klidu nepřidá.