pekarunagyker.hu — egy űrlap, amit a botok nem tudnak megenni
A feladat
Nagykereskedelmi ajánlatkérésnél a beérkező üzenet pénzt ér: minden egyes sor egy potenciális vevő. Ugyanez a beviteli pont viszont a legkedveltebb célpont is — az automata kitöltők óránként próbálkoznak. Két rossz kimenet van: a spam elönti a postafiókot (és a valódi megkeresés elvész benne), vagy a védelem annyira szigorú, hogy a valódi érdeklődő is fennakad.
A megoldás: öt réteg, sorrendben
- Eredet-ellenőrzés. A beküldés csak a saját oldalról érkezhet. Ami máshonnan jön, azt a szerver már az adatok kiolvasása előtt elutasítja.
- Csapda-mező. Egy rejtett mező, amit ember sosem lát és sosem tölt ki. Az automata kitöltő viszont minden mezőt kitölt — és ezzel leleplezi magát. A válasz szándékosan „sikeres”, hogy a bot ne tanuljon a hibából.
- Méretkorlát. A túl nagy kérés-törzs el sem éri az alkalmazást: a kiszolgáló szintjén elakad. Ez az a réteg, ami a legolcsóbban véd a terheléses próbálkozás ellen.
- Ember-ellenőrzés. Süti nélküli, adatvédelmi szempontból tiszta ellenőrzés, ami a látogatót nem terheli képválogatással.
- IP-korlát. Címenként korlátozott számú beküldés óránként. Ez nem a botok fő szűrője, hanem a maradék elleni védelem — és a költséges műveletek elé kerül, hogy egy támadó ne tudjon rajtuk keresztül munkát végeztetni a szerverrel.
Ami az űrlap után történik
A megkeresés először lemezre kerül, és csak utána megy a levél. Ez a sorrend szándékos: ha a levélküldő szolgáltatás kiesik, az érdeklődő akkor sem vész el. Ha a levél mégsem megy ki, arról a napló azonnal árulkodik.
A kimenő értesítés hitelesített feladóval megy (SPF és DKIM), válaszcímként pedig az érdeklődő címe szerepel — így a válasz egy kattintás, nem másolgatás.
A kiszolgálás oldala
Az űrlapot fogadó szolgáltatás önálló, korlátozott jogú folyamatként fut: nem lát a saját könyvtárán kívülre, nem tud jogot emelni, nem tud a rendszer többi részéhez nyúlni, és memória- és folyamatkorlát alatt dolgozik. Ha egy sebezhetőség mégis lenne benne, a kárt ez a keret határolja be.
Ellenőrizd magad
- pekarunagyker.hu — az élő oldal; az ajánlatkérő űrlap kipróbálható.
- Küldj el egy üres űrlapot: azonnal látszik, mit mond a rendszer, és hogy a hibaüzenet mennyit árul el (szándékosan keveset).
- PageSpeed Insights — sebességmérés a Google saját műszerével.
Mi tanulható belőle?
Hogy az űrlapvédelem nem egy kapcsoló, hanem sorrend. A rétegek olcsótól a drágáig épülnek egymásra: előbb az, ami egy fejléc olvasásából eldől, utoljára az, ami külső szolgáltatás hívását igényli. Ez a sorrend dönti el, hogy egy támadó tud-e munkát végeztetni a szervereddel.
Ha neked is űrlapon jön a bevétel: egyedi weboldal készítés. A védelmi rétegek részletes bontása külön írásban: hogyan véd egy ajánlatkérő űrlap a spam ellen.