Amikor nem a vásárlók, hanem a botok töltik meg a szervert
Egyre több PrestaShop-bolt kerül ugyanabba a helyzetbe: a szerver hirtelen lelassul, a vásárlók 500-as vagy 503-as hibát kapnak, a tárhelyszolgáltató pedig csak annyit lát, hogy elfogyott az erőforrás. A háttérben botok állnak, amelyek a szűrt kategóriaoldalakat és a keresőt hívják tömegesen, véletlenszerű szűrőkombinációkkal. Minden ilyen kérés nehéz adatbázis-lekérdezést indít, és a gyorsítótár sem segít, mert minden kombináció új.
Egy valódi támadásnál, amelynek a naplójára a modul épül, egyetlen délelőtt alatt 478 ezer szűrt kérés érkezett 364 ezer különböző IP-címről, és a kérések nagyjából 60%-a hibával végződött. IP-tiltással ez nem fogható meg, mert egy címről jellemzően csak egy-két kérés jön.
A WSC Bot Guard nem IP-ket tilt, hanem a viselkedést figyeli. A támadó kérések árulkodó mintát mutatnak (böngészőnek adják ki magukat, de referer és süti nélkül érkeznek), a valódi vásárló viszont a bolt saját oldaláról kattint a szűrőre. Erre a különbségre épül a védelem.
Amiért megéri
🛡️ Böngésző-ellenőrzés, ami az embert átengedi
A gyanús szűrt, kereső- és belépési kérés egy pillanatnyi, kb. 1 KB-os ellenőrző oldalt kap. Ez JavaScripttel aláírt sütit tesz, és újratölti ugyanazt az oldalt a szűrőkkel együtt. Az ember ebből szinte semmit nem vesz észre, a JavaScriptet nem futtató bot viszont nem jut tovább, és a nehéz szűrőlekérdezés el sem indul.
✅ A vásárlókat és a keresőket nem zavarja
Nem kap ellenőrzést, aki már járt a boltban, aki hírlevélből, hirdetésből vagy Google-találatról érkezik, aki a bolton belül kattint a szűrőre, és a Google és a Bing robotja sem. A normál, szűretlen oldalakhoz a modul nem nyúl. Az irodád, az árösszehasonlítók vagy a figyelőszolgáltatás IP-címeit külön is átengedheted.
🧪 Próbaüzemben indul
Telepítés után a modul senkit nem állít meg, csak számolja, kit állított volna meg. Néhány nap után a számokból pontosan látod, mit fogna meg élesben, és csak akkor kapcsolod be, ha meggyőztek.
⚡ Szerverszintű védelem nagy rohamhoz
Ha a roham akkora, hogy már a PrestaShop elindulása is megterheli a szervert, egy gombnyomással a .htaccess-be írhatod ugyanezt a szűrést. Ilyenkor a gyanús kéréseket már a webszerver megfogja, a PHP el sem indul. A modul előtte mentést készít, három próbakéréssel ellenőrzi, hogy a bolt rendben működik, és ha bármelyik próba elbukik, azonnal visszaállítja az eredeti fájlt.
📊 Látod, mi történik a boltodban
Az adminban óránkénti bontásban látszik, mennyi a gyanús, a keresőrobot-, az egyéb bot- és az emberi forgalom, mennyi kérés végződött hibával, és mennyi PHP-időt vittek el. Kiderül a leggyakoribb User-Agentek és hálózatok listája is, mintákkal. Így egy lassulásnál nem találgatni kell, hanem látod az okát.
🔔 E-mail-riasztás
Ha a gyanús kérések száma 15 perc alatt átlépi a beállított küszöböt, a modul e-mailt küld a részletekkel: osztályonkénti táblázat, top User-Agentek és hálózatok, példa URL-ek. Két riasztás között legalább egy óra telik el, hogy ne árassza el a postafiókodat.
🪶 Nem terheli a boltot
Kérésenként egyetlen gyors adatbázis-művelet fut, az írás pedig a válasz elküldése után történik. Támadás alatt a részletes adatokból csak minta kerül az adatbázisba, így a napló sem tölti meg. Ha bármi elakad, a kérés változatlanul lefut: a modul soha nem állítja meg a boltot a saját hibája miatt.
Teljes védelem három modullal
A Bot Guard a túlterheléses támadások ellen véd. A bolt sebezhetőségeit az ingyenes WSC Biztonsági ellenőrzés mutatja meg, a Pro változat pedig egy kattintással javítja is őket. Ha mindezt inkább ránk bíznád, a WSC karbantartási csomagjában mi állítjuk be és figyeljük.
Amit érdemes tudnod
- A modul a ps_facetedsearch szűrőire és a PrestaShop keresőjére van hangolva. Más szűrőmodul paraméterei a beállításokban felvehetők.
- A szerverszintű szabályokhoz Apache vagy .htaccess-t olvasó LiteSpeed szerver kell. Apache 2.4-en teszteltük, nginx alatt csak a PHP-szintű védelem működik.
- Az elemzéshez a modul a gyanús kérések IP-címét és User-Agentjét a saját szervereden naplózza, legfeljebb 7 napig. Kifelé nem küld adatot.
- Cloudflare vagy más proxy mögött a valódi IP-fejlécet be kell állítani a modulban.
Műszaki adatok
- PrestaShop 1.7.1 – 9.x
- PHP 7.1 vagy újabb
- Override nélkül, csak hookokkal
- Multistore: a statisztika boltonként és összesítve is látható
- Magyar adminfelület
- Frissítés a Webstart Updater modullal
A botok fennakadnak, a vásárlók nem. A bolt pedig akkor is gyors marad, amikor támadják.