Fail2ban WordPress XMLRPC támadás elkerülése

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.fail2ban

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöljük.