Valós idejű tűzfal WordPresshez, amely minden fájlírást ellenőriz

Védelem, amely már a WordPress előtt elindul

A legtöbb biztonsági bővítmény csak akkor találja meg a webshellt, amikor az már a lemezen van. A Must-Have Security megakadályozza, hogy egyáltalán fájl legyen belőle. A védelmi motor a WordPress előtt töltődik be, és minden fájlírásnál ellenőrzi, mi kerülne a fájlba. Ha futtatható kódot talál, és annak létrehozására a webhelyed egyetlen összetevőjének sincs engedélye, blokkolja az írást. A telepítéskor már meglévő fájlokat pedig egy kártevőkereső ellenőrzi. Nem találgat, hanem bizonyítja, hogy ártalmatlanok.

A tűzfal szignatúrák és felhő nélkül működik Úgy készült, hogy ne zárhasson ki a saját adminfelületedről
A WordPress előtt indul
Nem szignatúrák, hanem tartalom alapján dönt
Passkey és útvonalhoz kötött írási engedélyek
Minden kísérletet bizonyítékkal együtt naplóz
0-day egy vadonatúj, szignatúra nélküli webshellt is fájlba kell írni – mi pedig éppen ezt figyeljük
3 lehetséges döntés fájlíráskor: kihagyás, védelem vagy vizsgálat. Hálózat és AI nélkül dönt, mindig ugyanazokkal a szabályokkal
~ms többletidő egy teljes adminfelületi kérésnél: fájlműveletenként körülbelül 2–45 µs, tesztszervereinken mérve
Miért nem elég a szignatúra?

A kártevőkereső utólag reagál. Ez még a fájlírás előtt közbelép.

A szignatúrák a már ismert, lemezre írt kártékony kódokat azonosítják. Az oldaladra legközelebb bejutó webshellhez viszont még sehol sincs szignatúra.

A Must-Have Security nem a kártékony kódot próbálja felismerni. Azt figyeli, ami minden tartós hozzáférést célzó támadásban közös: a kódot előbb-utóbb fájlba kell írni. A kiterjesztés önmagában nem bizonyít semmit, ezért a motor a fájl tartalmát vizsgálja: ha egy .txt fájlban <?php és mellette eval($_POST[…]) szerepel, az nem dokumentáció. Még a fájl létrejötte előtt letiltja az írást.

Ugyanaz az alapelv mindenhol

Az adminjog önmagában nem elég a kódíráshoz

A négy réteg mást-mást vizsgál, de ugyanazt az elvet követi. A WordPress túl könnyen ad jogot a futtatható kód módosítására. A bővítmény ezt a jogot visszaveszi, és csak célzottan, ideiglenesen adja meg.

Kódírás felügyelete

Íráskor lép közbe, mielőtt a fájl létrejönne

Minden fájlírásnál a tényleges tartalom alapján dönt, a feltöltéseknél is. Futtatható kód írásához a te kifejezett engedélyed kell.

  • Két lépésben vizsgálja a tartalmat, és a fájlnév minden kiterjesztését ellenőrzi
  • Útvonalhoz kötött, néhány percig érvényes írási engedélyek
  • A megbízható adminok adatait és hitelesítési tényezőit az adatbázison kívül tárolja
  • A whitelist a tartalom hash-éhez kötődik, nem az elérési úthoz

Tűzfal

Minden kérést ellenőriz, még a WordPress betöltése előtt

Eldönti, mi kérhető le, és mely kliensek kaphatnak választ.

  • Szabályozza, mely PHP-fájlok kérhetők le közvetlenül
  • Felismeri a támadó kéréseket, és igény szerint blokkolja az AI-botokat
  • Minden eseménynél rögzíti az országot (a beépített, alapból bekapcsolt DB-IP-listából vagy a CDN-ed country headeréből)
  • Összevetés előtt dekódolja és normalizálja az útvonalat

Az adatbázis és a cron figyelése

A háttérben működik, miközben az oldal fut

Az ütemezett feladatokat és az adatbázisba írást figyeli: ezekkel próbálkozhat a támadó, ha nem tud fájlt írni.

  • Jelzi az új és módosult cron-bejegyzéseket
  • Az adatbázisba író SQL-műveleteket a beírt tartalommal együtt naplózza
  • Minden találathoz mellékeli a bizonyítékokat
  • Opcionális napi vagy heti e-mailes összefoglaló

Kártevőkereső

Ütemezetten fut, és amikor csak kéred

A már lemezen lévő fájlokat vizsgálja. A WordPress alapfájljait a hivatalos checksumok alapján ellenőrzi, minden mást kódként elemez.

  • Két menetben vizsgál, először a futtatható tartalmakat
  • Az osztályozó igazolja, mely fájlok ártalmatlanok, így az AI-nak kevesebb mint 1%-ukat kell vizsgálnia
  • Megosztja az értékeléseket, így ugyanazt a fájltartalmat elég egyszer megvizsgálni
  • A találatokat bizonyítékokkal együtt jelzi, önállóan sosem töröl

Minden réteg ugyanabban az append-only naplóban rögzíti az írandó tartalmat, annak hash-ét és a stack trace-t. A blokkolt tartalmakat karanténban tárolja, így bármelyikre adhatsz egyszeri engedélyt, és megismételheted az írást. A bővítmény ekkor is ugyanazokat a szabályokat alkalmazza.

Nézd meg működés közben

Így blokkolja a tűzfal a webshellt már fájlíráskor

Élőben töltünk fel egy kártékony kódot tartalmazó fájlt. Megfigyelési módban pontosan láthatod, mit tenne a tűzfal éles védelem mellett. Egy valódi bővítményfrissítésen azt is megmutatjuk, hogyan engedélyezheted az írást csak a szükséges útvonalakon.

Amit engedélyezel

A frissítés átmegy, a támadó kódja nem.

Ha aktív a védelem, a PHP-fájlok írásához az adott útvonalra szóló írási engedély kell. Ezt te adod meg azon a felületen, ahol éppen dolgozol. Kattints a „Bővítmény frissítése” gombra, és erősítsd meg a műveletet passkey-vel. Ezzel néhány percre engedélyezed az írást a wp-content/plugins/** útvonalon.

És ha ugyanabban az adminisztrátori munkamenetben egy stored XSS próbálja módosítani a functions.php fájlt? A sablonok írására nincs engedély, ezért a védelem blokkolja a műveletet. Ezen az sem változtat, hogy a WordPress érvényesnek tekinti a munkamenetet. A hitelesítéssel csak az adott engedélyt hagyod jóvá, a védelmet nem kapcsolod ki. Minden új engedélyhez újabb megerősítés kell, így egy szkript nem élhet vissza a korábbi hitelesítéseddel.

Az első naptól véd, és sosem fordul ellened

Az egyetlen felület, ahonnan sosem zárhat ki

Ha egy biztonsági bővítmény kizár arról a felületről, ahol kikapcsolhatnád, már kudarcot vallott, bármilyen támadást hárított is el. A Must-Have Security már az első kéréstől véd, így a webshellt már az első napon blokkolja. A hozzáférést ellenőrző részek hiba esetén is beengednek. Ha egy megbízható admin már használt egy IP-címet, azt soha nem tiltja le. Egyetlen tűzfalszabály sem teheti elérhetetlenné az adminfelületet vagy a bejelentkezési oldalt, és minden tiltás automatikusan lejár.

Előbb inkább megfigyelnéd a működését? Kapcsold a fájlírások ellenőrzését megfigyelési módba: a bővítmény minden írást ellenőriz, és naplózza a teljes írandó tartalmat. Közben semmit sem blokkol, így pontosan látod, mit tenne az éles védelem a saját webhelyeden. A WP-CLI alapértelmezés szerint megfigyelési módban fut, így a parancssori deployok továbbra is működnek, és minden írás bekerül a naplóba.

Úgy terveztük, hogy ne okozzon leállást

A betöltőnél nincs helye hibának

A betöltő a WordPress előtt fut, így egyetlen hibás kódsor miatt minden URL 500-as hibát adhat, a wp-admin is. A bővítmény egyetlen más része sem okozhat ekkora bajt, ezért a betöltőt úgy terveztük, hogy ilyen leállást ne okozhasson.

A bővítmény a SAPI alapján választ betöltési módot, nem a szerver bannerére hagyatkozik. A betöltőt két lépésben távolítja el, nem egyszerűen törli. Először egy üres, semmit sem futtató fájlt tesz a helyére, mert ha az auto_prepend_file fájl hiányzik, a PHP fatal errort ad, nem warningot. Ha a védelmi motor fatal errorral leáll, kikapcsolja magát, hagyja elindulni a webhelyet, és e-mailt küld minden megbízható adminnak. Az automatikus kikapcsolást passkey-vel le is tilthatod, hogy a motor szándékos hibára futtatásával se lehessen megkerülni a védelmet.

Kinek van adminjoga?

Találd meg az adminfiókot, amelyet senki sem hozott létre

A támadók előszeretettel hagynak maguk után egy adminfiókot. Az Adminfiókok oldalon minden olyan fiókot látsz, amely kódot telepíthet vagy más fiókokat kezelhet. A bővítmény jelzi, ha egy fiók nem látszik a Felhasználók listájában, vagy a jelszavát közvetlenül az adatbázisban állították be. Az is gyanús, ha közvetlenül a fiókhoz rendeltek adminjogokat, vagy egy olyan szerepkör kapott adminjogot, amelynek nem járna. A hiányzó regisztrációs dátumot és a szkripttel generált felhasználónevet is jelzi.

Láthatod az egyes fiókok aktív munkameneteit és alkalmazásjelszavait is. A bővítmény figyelmeztet, ha bárki adminjogot adó szerepkörrel regisztrálhat. Ha egy fiók gyanús, elveheted az adminjogait, vagy törölheted, miután passkey-vel vagy kóddal megerősítetted a műveletet. Ezzel a funkcióval nem távolíthatod el a saját fiókodat, a megbízható adminok fiókjait vagy az utolsó adminfiókot.

Ami már korábban bekerült

Kártevőkereső, amely bizonyítja, hogy egy fájl ártalmatlan

A tűzfal nem engedi lemezre írni a kártékony kódot. A kártevőkereső azt vizsgálja, ami már korábban bekerült: FTP-n keresztül, egy backdooros bővítménnyel vagy egy szkriptet tartalmazó SVG-fájllal. Két menetben dolgozik. Először a futtatható fájlokat, a .htaccess fájlokat és az oda nem való feltöltéseket vizsgálja át. A PHP-fájlokat akkor is felismeri, ha a PHP-kiterjesztés nem a fájlnév végén áll. Ezután az összes többi fájlban rejtett PHP-kódot keres.

A WordPress alapfájljait a hivatalos checksumok alapján ellenőrzi. A többi fájlt egy osztályozó elemzi: tokenekre bontja a PHP-kódot, és végigköveti, hová jutnak a kérésből érkező adatok. Ha egyik bemenet felől sem érhető el backdoorként használható kódrész, a fájl ártalmatlan. Ezt AI nélkül is megállapítja. Az eval($_POST[…]) viszont egyértelműen kártékony: ezt az osztályozó szabály alapján felismeri. Az AI csak azokat a fájlokat vizsgálja, amelyekről az osztályozó nem tud egyértelműen dönteni. Egy éles webhelyen ez a fájlok kevesebb mint 1%-a, és csak ezek a fájlok hagyják el a webhelyedet. A kártevőkereső csak jelez, soha nem töröl. Minden találatot a fájl tartalmával együtt nézhetsz át.

A webshellből sosem lesz fájl.

Nem utólag vizsgálja a fájlt: már az írást blokkolja, még a WordPress betöltése előtt.

Kérem most a Must-Have Securityt
Egy kattintással bekapcsolhatod a megfigyelési módot, ha előbb megnéznéd, mit blokkolna
Úgy terveztük, hogy soha ne zárhasson ki

Egyszerű, átlátható árak

Minden csomagban megkapod az összes védelmi réteget. A bővítmény akkor is védi a webhelyedet, ha lejár az előfizetésed.

Egy webhely

$59.99 /év
  • 1 webhely
  • Fájlírás- és feltöltésvédelem
  • Kártevőkereső
  • Passkey és útvonalhoz kötött írási engedélyek
  • Tűzfal és közvetlen kérések szűrése
  • Bizonyítékok naplózása és karantén
  • Adminfiókok ellenőrzése
  • Frissítések és támogatás
Megvásárolom

Több webhely

$159.99 /év
  • 5 webhely
  • Fájlírás- és feltöltésvédelem
  • Kártevőkereső
  • Passkey és útvonalhoz kötött írási engedélyek
  • Tűzfal és közvetlen kérések szűrése
  • Bizonyítékok naplózása és karantén
  • Adminfiókok ellenőrzése
  • Frissítések és támogatás
Megvásárolom
Legjobb ajánlat

Must-Have Pack

$59.99 /hó
  • KORLÁTLAN számú webhely
  • Az ÖSSZES Must-Have bővítmény benne van
  • Biztonság
  • Biztonsági mentés
  • Analitika
  • Teljesítmény
  • Cookie
  • Finomhangolások
Megvásárolom
14 napos pénzvisszafizetési garancia

Próbáld ki kockázat nélkül. Nem neked való? Indoklás nélkül visszakapod a teljes összeget.

Gyakori kérdések

A szignatúraalapú keresők a lemezen már jelen lévő, ismert kártékony kódot keresik. A Must-Have Security eleve megakadályozza, hogy az ilyen kód fájlba kerüljön. A WordPress előtt indul, minden fájlírásnál ellenőrzi a tartalmat, és blokkolja az olyan futtatható kódot, amelynek létrehozására a webhely egyetlen összetevője sem kapott engedélyt. Így egy vadonatúj webshellt is blokkol, amelyhez még sehol nincs szignatúra. A már meglévő fájlok vizsgálatára is van keresője, de az más elven működik: a WordPress alapfájljait a hivatalos checksumok alapján ellenőrzi, minden mást pedig kódként elemez. Az elemző végigköveti a kérésből származó adatok útját a kódban: vagy bizonyítja, hogy a fájl ártalmatlan, vagy szabály alapján kártékonynak minősíti. A ritka, eldönthetetlen eseteket AI-ra bízza. Nem egy folyton lemaradó szignatúralistára hagyatkozik.

Nem. Amikor bővítményt, sablont vagy a WordPress alapfájljait frissíted, az éppen megnyitott felületen egyetlen érintéssel, passkey-vel adhatsz írási engedélyt. Ez kizárólag az adott útvonalra érvényes, néhány percig. Ha előbb megnéznéd, hogyan működik, kapcsold a fájlírások ellenőrzését megfigyelési módba. Így a saját webhelyeden láthatod, mit tenne a védelem, mielőtt újra bekapcsolod a tiltást.

Kifejezetten úgy terveztük, hogy ne zárhasson ki. A hozzáférésről döntő réteg hiba esetén engedi a belépést, és soha nem tilt le olyan IP-címet, amelyet egy megbízható admin már használt. Egyetlen tűzfalszabály sem blokkolhatja az adminfelületet vagy a bejelentkezési oldalt. A betöltőt sem egyszerűen törli, hanem két biztonságos lépésben kapcsolja ki. Ha a motor fatal errorba fut, kikapcsolja magát, hagyja elindulni a webhelyet, és e-mailben értesíti az összes megbízható admint. Ők a vezérlőpulton újra bekapcsolhatják a védelmet. (Az automatikus kikapcsolást letilthatod, ha motorhiba esetén inkább 500-as hibát szeretnél, mint védelem nélkül működő webhelyet. A beállítást passkey védi, mert az automatikus kikapcsolás engedélyezése gyengíti a védelmet.)

Minden fájlműveletnél lefut egy PHP-ban írt kódrészlet. Tesztszervereinken ez műveletenként körülbelül 2–45 mikroszekundum többletidőt jelentett, egy teljes adminfelületi kérésnél tehát néhány milliszekundumot. A teljesítmény tárhelyenként eltér, ezért nem ígérjük, hogy nálad is ugyanezeket az értékeket kapod.

WordPress és olyan PHP-környezet, ahol az auto_prepend_file beállítható .user.ini vagy .htaccess fájlból. Ezt szinte minden osztott és menedzselt tárhely biztosítja. Ahol egyik betöltő sem használható, ott a WordPress után indul el. Nem kell hozzá root jog, szervermodul vagy daemon.

A WordPress az adatbázisban tárolja az adminisztrátori szerepkört, ezt pedig egy SQL injection is átírhatja. Ezért a bővítmény a megbízható adminok nyilvántartását és minden hitelesítő adatot az adatbázison kívül, a motor saját, védett vezérlőfájljaiban tárolja. A WordPress-adminjog önmagában soha nem elég futtatható kód írásához, akkor sem, ha SQL injection támadással szerezték meg.

A WordPress a move_uploaded_file() függvénnyel mozgatja a feltöltött fájlokat, ami megkerüli a fájlírásokat ellenőrző stream wrappert. Ezért a bővítmény még az áthelyezés előtt ellenőrzi az ideiglenes fájl tartalmát és nevét is. A PHP-kódot rejtő JPEG-et éppúgy elutasítja, mint a shell.php.jpg fájlt, mert a fájlnév minden kiterjesztését ellenőrzi.

A fájlírásokat ellenőrző motor teljesen determinisztikus: nem használ hálózatot, adatbázist vagy AI-t. Ugyanazokból a bemeneti adatokból minden kérésnél ugyanarra az eredményre jut, és a döntését semmi nem írhatja felül. Egyedül a kártevőkereső kommunikál külső szolgáltatással. Alapértelmezés szerint ki van kapcsolva, a bekapcsolásakor pedig jóvá kell hagynod a külső szolgáltatás használatát. Még ekkor is a lehető legkevesebb adatot küldi el. A WordPress alapfájljait és a közös reputációs adatbázisban már ismert fájlokat hash alapján ellenőrzi. A többi fájl nagy részéről a saját szervereden futó elemző dönt. Csak azokat a fájlokat küldi el HTTPS-en keresztül AI-elemzésre, amelyekről nem tudja bizonyítani, hogy ártalmatlanok, és szabály alapján sem tudja őket kártékonynak minősíteni. Egy éles webhelyen ez a fájlok kevesebb mint 1%-a. A bizalmas adataidat (wp-config, .env, kulcsok, biztonsági mentések) viszont kizárólag a saját szervereden ellenőrzi, és semmilyen adatot nem küld róluk. A kereső óránkénti kerete előfizetésenként 3000 kérés és 300 AI-elemzés. Ha a vizsgálat eléri a kérési korlátot, szünetel, majd magától folytatódik. Ha az AI-elemzések kerete fogy el, az érintett fájlok kivárják a sorukat.

A támadó nem tudja tartósan megvetni a lábát a webhelyen, de amit a már futó kódjával tesz, azt a bővítmény nem akadályozza meg. Ha egy kérésben már fut a támadó kódja, meghívhatja az exec() függvényt, vagy kiiktathatja a stream wrappert. Ez a réteg azt akadályozza meg, hogy a kód fájlba kerüljön; a már futó kódot nem korlátozza. A dokumentáció egyértelműen leírja ezeket a korlátokat, nem állítja, hogy ezekre is van védelem.

Igen. A motor továbbra is érvényesíti a szabályokat, a biztonságod nem függ az előfizetéstől. A frissítésekhez és a támogatáshoz aktív előfizetés szükséges. Kikapcsoláskor a bővítmény maradéktalanul eltávolítja a betöltőt, törléskor pedig megtartja a beállításaidat, hacsak be nem jelölöd az „összes adat törlése” lehetőséget.

Ne utólag töröld a webshelleket. Akadályozd meg, hogy egyáltalán létrejöjjenek.

Csatlakozz azokhoz a WordPress-szakemberekhez, akik nem utólag keresik a támadás nyomait, hanem megelőzik a behatolást.

Kérem a Must-Have Securityt

Ez a weboldal sütiket használ a böngészési élmény javítása és a webhely megfelelő működésének biztosítása érdekében. A webhely használatának folytatásával elismeri és elfogadja a sütik használatát.

Összes elfogadása Csak a szükségesek elfogadása