A WordPress oldalak egyik ismert sebezhetősége az xmlrpc.php tömeges hívása. Lelassulhat az oldal betöltése, rosszabb esetben az oldal elérhetetlenné válhat. Az xmlrpc.php fájl felel a trackback, pingback funkció működéséért. Ha nincs használva a funkció, akkor a 100%-os védelmet a fájl törlése jelenti. Frissítések után a fájl meglétét ellenőrizzük mindig! Rengeteg plugin érhető el biztonság témában, köztük jó-néhány erre a problémára is kínál megoldást, de vannak akik nem szeretik a pluginok használatát. Ezek közé tartozom én is. Amennyiben rendelkezel ssh eléréssel a webszerveredhez, és van magasabb jogosultságod egy mezei felhasználónál, (csomag telepítés, /etc mappába írási jog) akkor néhány lépéssel kivédhető ez a hiba.
- A fail2ban telepítése. (ha még nem lenne, működő fail2ban esetén ez a lépés felesleges, ugorhatunk a következő pontra.)
pistike@host:$ apt-get update pistike@host:$ apt-get install fail2ban # A fail2ban beállítása nem kerül ismertetésre, érdemes utánaolvasni, sok # mindent tud, számtalan beállítással
- Hozzunk létre egy fájlt /etc/fail2ban/filter.d/apache-xmlrpc.conf néven, melynek tartalma a következő legyen:
[Definition] failregex = ^<HOST> .*POST .*xmlrpc\.php.* ignoreregex = # log elemzéskor minden IP címet rögzítünk amiről az xmlrpc-t hívják, # ezeket az IP címeket blokkolja az iptables az előre meghatározott ideig.
- Adjuk hozzá az új filterünket az /etc/fail2ban/jail.conf fájlhoz.
[apache-xmlrpc] enabled = true port = http,https filter = apache-xmlrpc logpath = /var/apache2/access.log # a log fájl pontos helye maxretry = 5 # a próbálkozások száma
- Indítsuk újra a fail2ban szolgáltatást.
pistike@host:$ service fail2ban restart
Sikeres konfigurálás után, azonnal működésbe lép a szabály. Minden IP címet amiről 5 próbálkozás érkezik, az azonnal kizárásra kerül a fail2ban konfigurációjában meghatározott ideig. Ezt állíthatjuk percek, órákra, napokra stb. Az idő lejárta után a tiltás megszűnik. Automatikusan frissül a blokkolt IP-k listája, nem igényel további karbantartást. Egy logwatch-al párosítva, elég pontos képet kaphatunk a hatékonyságáról. Nekem nagyon bevált ez a módszer.