You are here: Home » WordPress » Bezpečnostní hrozby WordPress v access log

Bezpečnostní hrozby WordPress v access log

Většina provozovatelů stránek na redakčním systému WordPress se naštěstí nikdy nesetká s důsledky útoků. Přitom pokud je váš web na internetu nějaký ten pátek, tak téměř každý den nějaký automatický robot zkouší jeho bezpečnostní slabiny. Běžný uživatel si toho však nemá šanci všimnout. Takový útok totiž klasické měření návštěvnosti jako Toplis anebo Google Analytics neukáže.

Co se děje v access log

Většina moderních webhostingů má někde v administraci zapnutí access log. Je to soubor, do kterého server zapisuje žádosti o jednotlivé soubory. Najdete v něm naprosto všechno, co si návštěvníci anebo roboti vyžádali po serveru, jak a také odpověď. Právě zde také uvidíte, to co běžní služby na měření návštěvnosti neukáží, protože je není možné umístit na stránky, které například neexistují.

Přeštěte si   Klávesové zkratky, které ulehčí psaní příspěvku ve WordPress

Jak vypadá zápis v access log

Abychom se mohli podívat jak takový útok vypadá nejdříve je třeba si ukázat, co vlastně každý řádek v access log znamená.

IP adresa – hostname – [datum, čas a formát] „druh žádosti URL“ Stavový kód velikost

Příklad

192.168.2.1 – localhost - [22/Dec/2014:20:15:05 +0100] „GET /index.php?atribut=1“ 200 46521

Formát access log se může měnit podle nastavení serveru. Za velikostí běžně najdete ještě druh prohlížeče. Takto se identifikují i někteří roboti.

Příklad útoku

Předchozí verze WordPress byly náchylné DoS útoky, které vytěžovaly xmlrpc.php brute force. Desítky, někdy i jednotky dotazů za vteřinu na tento soubor vedly k vyčerpání přidělených zdrojů, což vedlo k vrácení stavového kódu 503. Příklad takového útoku v access log, bylo velké množství následujících záznamů během velmi krátké doby.

111.222.333.444 - - [22/Dec/2014:10:11:12 +0000] "POST /xmlrpc.php HTTP/1.0" 200 604
 111.222.333.444 - - [22/Dec/2014:10:11:12 +0000] "POST /xmlrpc.php HTTP/1.0" 200 604
 111.222.333.444 - - [22/Dec/2014:10:11:12 +0000] "POST /xmlrpc.php HTTP/1.0" 200 604
 111.222.333.444 - - [22/Dec/2014:10:11:12 +0000] "POST /xmlrpc.php HTTP/1.0" 200 604
 111.222.333.444 - - [22/Dec/2014:10:11:12 +0000] "POST /xmlrpc.php HTTP/1.0" 503 323
 111.222.333.444 - - [22/Dec/2014:10:11:12 +0000] "POST /xmlrpc.php HTTP/1.0" 503 323

IP adresa je smyšlená 🙂

Přeštěte si   Co je největší slabinou WordPress

Tento log ukazuje, jak postupně server nestíhá vracet výsledky a z 200 (vše v pořádku) přejde na 503 (chyba serveru). Dá se říct, že je útok tedy úspěšný.

Ochranou proti podobnému druhu útoků by bylo zabanovat smyšlenou IP adresu 111.222.333.444 tím že se přidá do .htaccess. Existují i skripty, které takto činí automaticky. Pokud je odněkud podezřele velké množství dotazů tak jde IP adresa na blacklist. Více informací najdete pod pojmem fail2ban.

Jelikož zaznamenává access log všechny žádosti o soubory je možné prostřednictvím něj sledovat i komunikaci mezi klientem a serverem. Lze tak odhalit některé bezpečnostní hrozby. Například když máte v instalaci WordPress backdoor, tak uvidíte odkud kdo posílá instrukce. Výhodou je, že většina webhostingů má také access log umístěný mimo adresář se samotným webem, takže není pro útočníka možnost maskovat stopy.

Share Button

Programuju v PHP už několik let spíše pro zábavu. Baví mě WordPress, protože tak lenivým lidem jako jsem já ušetří spoustu času. A rád sbírám reklamní flash disky. Tento blog používám pro utřídění myšlenek.

http://n-host.cz

Napsat komentář

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