Az ingyenes, nyílt forráskódú tartalommenedzselő rendszerek, mint amilyen a WordPress, a Joomla, a Drupal, az e107 és még néhány, mindig is ki voltak téve a támadásoknak. Korábban a WordPress volt a legbiztonságosabb, de most, hogy piacvezetővé vált, és egyre több komoly, nagyforgalmú weboldal is használja, egyre gyakrabban kerül a hackerek célkeresztjébe.

Aki nem tesz meg mindent, hogy a weboldalát biztonságos állapotban tartsa, és kaput nyit a károkozóknak, az nemcsak a saját weboldalát, hanem a többiekét is veszélyezteti, akik vele egy szerveren vannak, és nemcsak a WordPress alapúakat, hanem az összeset, a szerver teljes működését. Márpedig ez – és ezt sokan nem tudják – a Büntető Törvénykönyvbe ütköző cselekedet, így rendkívül fontos a felelősségteljes magatartás, hiszen akár bűnvádi eljárás is lehet a figyelmetlenségből, nemtörődömségből.

Sokszor írtam már arról, hogy a megjelenő frissítéseket mindig azonnal le kell tölteni, mert ezek a felfedezett biztonsági réseket tömik be, de ezen kívül is rengeteget tehetünk weboldalunk megvédésre. Az alábbiakban összefoglalom a legfontosabb lépéseket.

1) Lépj be a WordPress oldalad Vezérlőpultjába, és ellenőrizd, van-e bármi, ami frissítésre szorul. Ha van, azt frissítsd, és ezt minimum heti szinten tedd meg.
(Gondot okoz számodra a frissítés? Bízz meg vele minket! »)

2) Futtass le egy vírusellenőrzést a weboldaladon: a domainedet például a http://sitecheck.sucuri.net/scanner/ ingyenes eszközével is ellenőrizheted.

3) Futtass le egy vírusellenőrzést a saját számítógépeden, illetve minden olyan számítógépen, amelyről be szoktál lépni a weboldaladra.

4) Semmiképpen ne legyen admin, admin1234 vagy hasonlóan egyszerű felhasználóneved. Ha ilyen, akkor hozz létre egy új Adminisztrátor felhasználót magadnak, lépj ki a Vezérlőpultból, lépj be újra az új névvel, és az eredetit töröld (az összes bejegyzésedet add át az új felhasználónak – törléskor erre rákérdez a WordPress).

5) Csak erős jelszavakat használj, és tartsd ezeket biztonságos helyen.

6) Olvasd el a WP-Suli “Biztonsági kérdések” című rovatát, és tartsd be, illetve vezesd be az ott leírtakat.

7) Kapcsold ki a Beállítások -> Interakció menüpontban a Trackback/Pingback funkciót, azaz vedd ki a pipát az oldal tetején a “Megpróbálja értesíteni a bejegyzésről az összes linkelt blogot.” és a “Jelzések fogadásának engedélyezése más blogokból (visszajelzés és visszakövetés)” funkciót. Ez egy több éve ismert probléma, de a WordPress fejlesztői semmit nem tesznek a megoldására.

Miért van a gond? Azért, mert ezen a funkción keresztül a támadók egy DDoS támadást tudnak indítani, és a weboldaladat egy botnetbe köthetik. Nem omlik össze tőle a weboldalad, “csak” zombivá válik, és amikor a támadó akarja, az összes, ily módon hálózatba kötött WordPress oldal egyszerre pingback hívásokat indít a cél-szerver felé, és ezzel megbéníthatja azt. További, részletes információt erről a kérdésről itt olvashatsz (angolul, de egy nagyon kifejező képpel is magyarázva).

Tehát a lényeg: kapcsold ki ezt a funkciót, és (FTP-vel vagy SFTP-vel a tárhelyedre belépve) töröld is le a xmlrpc.php nevű fájlt a WordPress telepítésed gyökérkönyvtárából.

8) Mivel a legtöbb támadás a WordPress belépési felületén keresztül éri a weblapokat, érdemes ezt alaposan megvédeni. Az első, hogy ne legyen egyszerűen kitalálható sem a felhasználóneved, sem a jelszavad, erről már írtam. Használj egy Captcha bővítményt, például a SI CAPTCHA nevűt. A wp-admin könyvtárat védd meg a “Biztos, ami biztos” című cikkben írtak szerint.

Megfontolandó a wp-login.php fájl átnevezése, hogy még egy erős védelmet építsünk a behatolók ellen. A fájlnév maga (és a benne lévő, szám szerint 13 hivatkozás erre a fájlnévre) átnevezhető lenne (lásd a WordPress support fórumán), csakhogy ez még nem oldja meg a problémát, hiszen ha azt írod be a böngésződ címsorába, hogy domainneved.hu/wp-admin és nem vagy bejelentkezve, akkor átirányít a domainneved.hu/wp-login.php oldalra. Vagyis ha a wp-login.php-t átnevezed mondjuk belepes.php-ra, akkor a domainneved.hu/wp-admin át fog irányítani a domainneved.hu/belepes.php -ra és ugyanott vagy, mintha nem csináltál volna semmit.

Ezt a problémát megoldja az, ha maga a wp-admin könyvtár is át van nevezve. Ez sem lehetetlen, a .htaccess fájlba kell beleírni, erről itt olvashatsz részletesen (angolul; a cikkből kimásolható a szükséges kód is).

9) Ha az előzőektől megijedsz, mert inkább csak felhasználóként kezeled a weboldaladat, akkor (de amúgy mindenkinek is) erősen javaslom a Limit Login Attempts nevű bővítmény használatát, amely korlátozza a belépési kísérletek számát. Ez a bővítmény úgy működik, hogy ha a beállított értéknél többször próbálkozik valaki (vagy inkább valami…) rossz jelszóval, akkor azt az IP-címet kitiltja, és onnan azután már nem lehet belépni. Ezzel a módszerrel a WordPress ellenáll a brute force* jellegű támadásoknak (amikor egy féreg megpróbál az összes lehetséges jelszóval belépni, és ezzel kvázi megbéníthatja a szervert).

10) Rendszeresen készíts biztonsági mentést a weboldaladról. Erről a “Frissítsünk, de okosan!” című cikkemben írtam részletesen, olvasd át újra.

* A  brute force támadás (szó szerint: “nyers erő”), más néven a teljes kipróbálás módszere – a titkosító rendszerekkel szemben alkalmazott támadási mód, amely elméletileg mindig eredményes. Lényege, hogy a rejtjelező rendszer ismeretében az összes lehetséges kulcsot kipróbálva határozza meg az alkalmazott kulcsot. Eredményességét csak a műszaki (informatikai) háttér és a rendelkezésre álló idő határozza meg. Gyors és nagy kapacitású hardverre (célhardverre) van szükség. A törési idő függ a lehetséges kulcsok számától, azaz a kulcs méretétől (hosszától) és bonyolultságától (a választható karakterek száma). A kulcs gyakori cseréjével a támadót folyamatos kulcskeresésre kényszeríthetjük. Vagy könnyen készíthetünk olyan kulcsot, amely feltörése akár több évet is igénybe venne, még ha a Föld összes személyi számítógépe annak feltörésén dolgozna is. Az ilyen titkosítást gyakorlatilag feltörhetetlennek hívjuk. (Forrás: Wikipédia.)

 

A jövőben a jelenleginél sokkal szigorúbban fogjuk ellenőrizni a szervereinken elhelyezett WordPress alapú weboldalakat. Aki nem tartja be a biztonsági előírásokat, és ezzel veszélyezteti a szerveren elhelyezett többi weboldal-tulajdonost is, az bűncselekményt követ el, ezért fokozottan kérlek, hogy tegyél meg mindent oldalad biztonsága érdekében – akár nálunk van a tárhelyed, akár nem.

Kiegészítés a szervereinknek otthont adó Silihost Kft (akiknek viszonteladói vagyunk) vezetőjétől:

A WordPress oldalak ellen öszetett támadás folyik. A legtöbb esetben a wp-login.php kapuoldalt támadják, igyekeznek jelszókombinációkkal feltörtni az adott rendszert. Ez a támadás – 48 órás statisztikákat figyelembe véve – több százas nagyságrendben folyik, eddig mintegy 6.000 támadó IP-cím lett bezonosítva. Ezt a támadási formát botnet-hálózatokkal hajtják végre, időszakosan, de visszatérő ciklikussággal. Több tízezres lehet a hálózatba kötött, fertőzött Windows-kliensek száma. Magyarországról nem észleltünk botnet támadó klienst, így ezt a listát felhasználva hamarosan elkezdjük tiltani ezeket az IP-címeket úgy, hogy az egész IP-tartományt blokkolni fogjuk. Ezzel a probléma súlyosságát csak csillapítani lehet, viszont némi szerencsével az adott botnet-hálózat által használt erőforrásokat hálózati szinten komoly mértékben lehet blokkolni. A honlaptámadások tehát igen sokrétűek, mind céljuk, mind módszerük, mind pedig az elkövetők tekintetében. Ennek okán az üzemzavar időtartama is változó szokott lenni.

 

Sajnos a WordPress – az igen rövid idő alatt elért népszerűsége miatt – a támadók elsődleges célpontjává vált. Tapasztalatból tudjuk, hogy eleddig csak a nem-frissített rendszerek okoztak komolyabb problémát, azonban az utóbbi időkben már a WordPress verziószámától függetlenül igyekeznek jelszótörési technikával behatolni a rendszerbe. Ezt a fajta, ún. brute force jelszótörési módszert ki lehet védeni azzal, ha átnevezzük a wp-login.php kapuoldalt. A legfrissebb támadási naplókat elemezve kijelenthető, hogy többfajta támadási technikával indult hadjárat a WordPress-oldalak ellen. A legnagyobb biztonságban azon felhasználók vannak, akik minden esetben gondoskodnak minden szükséges frissítésről, és igyekeznek egyéb védelmi megoldásokat is alkalmazni, mint például a jelen cikkben írtakat.

 

Antal Béla, Silihost Kft

 

FRISSÍTÉS (június 7.): a naplóban a Silihost Kft intézkedéseinek bevezetése óta kb 750 sor keletkezett 5 óra alatt; a korábbi, napi átlagban 40.000 támadási kísérlethez képest ez egészen biztató. Viszont más módokon is támadják a WordPresst: most éppen a tinymce (a szövegszerkesztő) helyesírás-ellenőrzőjén keresztül láttunk kísérleteket. Tegnap 2902 IP-címet tiltottunk ki, ma újabb 224-et, de folyamatosan jönnek az újabbak. A listavezető Ázsia, 13.265 feltörési kísérlettel, utána Japán (3.840), USA (2054) és Oroszország (1792). Mint látható, nem kicsi hálózat igyekszik befelé… (Adatok a Silihost Kft-től.)