Statikus WordPress · Hitelesítés
Statikus WordPress-hitelesítés egyszerűen: telepítés az AWS SAR-sablonnal
A statikus WordPress-frontend eltávolítja a PHP-futtatási környezetet a nyilvános kérések útjából, ezzel azonban a natív WordPress-bejelentkezés is kikerül a kiszolgált webhelyből. A védett portálokhoz, letöltésekhez és tagsági útvonalakhoz ezért statikus kiszolgálásra tervezett identitás- és peremhálózati hozzáférési modellre van szükség.
Fontos frissítés
Ezt a telepítési megoldást új váltotta fel
A cikkben ismertetett AWS Serverless Application Repository (SAR) sablon már nem érhető el. A WP Suite mostantól a Deployment Access megoldást használja, amelynek CloudFormation-sablonjai minden WP Suite-bővítményhez biztosítják a szükséges backend-infrastruktúrát.
Hamarosan: egy új útmutató mutatja be a frissített Deployment Access munkafolyamatot és a kibővített megoldást.
A minta
Hitelesítés Cognitóval, a kiszolgálás engedélyezése CloudFronttal.
A Gatey bejelentkezteti a felhasználót
A böngésző a WordPress által létrehozott oldalakba ágyazott Gatey-felületen keresztül hitelesít az Amazon Cognito User Poolban.
Egy aláíró cookie-kat bocsát ki
Egy védett API ellenőrzi a hitelesített felhasználót, majd korlátozott útvonalú és élettartamú aláírt CloudFront-cookie-kat ad vissza.
A CloudFront védi a tartalmat
A CloudFront-viselkedések és egy megbízható kulcscsoport még azelőtt kikényszerítik a hozzáférési szabályokat, hogy a védett statikus objektumok kiszolgálásra kerülnének az S3-ból.
01 · Miért
Miért igényel más bejelentkezési architektúrát a statikus közzététel?
Miután a WordPress-t statikus fájlokba exportálta, a nyilvános útvonalon már nincs PHP-munkamenet vagy WordPress-adatbáziskérés. A webhely továbbra is megjeleníthet interaktív JavaScriptet, de a natív WordPress-hitelesítési rendszer már nincs jelen a peremhálózaton.
A helyettesítő megoldásnak magát a tartalomkiszolgálási útvonalat kell védenie, nem csupán elrejtenie a hivatkozásokat a böngészőben. Az aláírt CloudFront-cookie-k akkor megfelelőek, ha egy hitelesített felhasználónak ugyanazon disztribúció alatt több védett fájlhoz vagy útvonalhoz kell hozzáférnie.
- Hozzáférés-vezérlésként ne támaszkodjon kliensoldali láthatósági szabályokra.
- Védje az origint, hogy a látogatók ne kerülhessék meg a CloudFrontot, és ne olvashassák közvetlenül az S3-objektumokat.
- A cookie-szabályzatokat korlátozza a szükséges domainre, útvonalra és élettartamra.
Így a statikus webhely gyorsítótárazható és globálisan kiszolgálható marad, miközben a kijelölt tartalmat kikényszeríthető peremhálózati szabályzat védi. A teljes problémafelvetésből megtudhatja, hogyan adhat bejelentkezést a statikus WordPresshez a PHP-munkamenetek visszahozása nélkül, valamint azt is, hogyan tarthatja meg a dinamikus funkciókat a statikus közzététel után.
Statikus és dinamikus WordPress
| Jellemző | Dinamikus WP (PHP/MySQL) | Statikus WP (S3 + CloudFront) |
|---|---|---|
| Sebesség | Szerveroldali renderelés, PHP-től/adatbázistól függ | CDN-peremhálózaton gyorsítótárazott, rendkívül gyors |
| Biztonság | A mag és a bővítmények nagyobb támadási felületet jelentenek | Minimális támadási felület (statikus fájlok) |
| Skálázhatóság | A szerver erőforrásai korlátozzák | CloudFronttal gyakorlatilag korlátlan |
| Hitelesítés | Beépített WordPress-bejelentkezés | SAR + Gatey (aláírt cookie-k) |
| Karbantartás | Javítócsomagok és adatbázis-mentések | Fájlszinkronizálás és gyorsítótár-érvénytelenítés |
02 · Összetevők
Mit biztosít a Static Site Guardian stack?
A telepítési minta egy S3-origint, egy CloudFront-disztribúciós viselkedést, egy nyilvános CloudFront-kulcsot és kulcscsoportot, továbbá olyan API Gateway- és Lambda-végpontokat egyesít, amelyek a hitelesítés után aláírt cookie-kat bocsátanak ki és törölnek.
A kiegészítő erőforrások biztonságosan tárolhatják az aláíráshoz szükséges anyagokat, egyéni domaint és tanúsítványt kapcsolhatnak a rendszerhez, WAF-védelmet alkalmazhatnak, valamint a Gatey vagy a WordPress-konfiguráció által használható kimeneteket adhatnak.
- Privát S3-origin és CloudFront-kiszolgálás.
- Cookie-kibocsátó és kijelentkeztetési végpontok útvonalspecifikus engedélyezéssel.
- Ügyfél-tulajdonú kulcsok, naplók, domainek és AWS-szolgáltatási költségek.
A pontos erőforrások a kiválasztott telepítési paraméterektől függenek, a hozzáférés-vezérlés azonban az exportált HTML-fájlokon kívül marad. A kiszolgálási határ részletesebb ismertetéséhez tekintse át az aláírt CloudFront-cookie-k architektúráját.

03 · Integráció
Hogyan kapcsolja össze a Gatey a bejelentkezést a védett statikus útvonalakkal?
A Gatey kezeli a Cognito-fiókfolyamatot a böngészőben. Sikeres bejelentkezés után a frontend a szükséges hitelesített környezettel meghívja a beállított cookie-kibocsátó végpontot. A válasz aláírt cookie-kat állít be a CloudFront-domainhez, ezután a látogató a megszokott módon kérheti le a védett útvonalat.
Kijelentkezéskor az alkalmazás munkamenetét és a CloudFront-cookie-kat egyaránt törölni kell. Az átirányítási célokat egyértelműen kell megadni, hogy a lejárt vagy jogosulatlan kérések egy hasznos bejelentkezési útvonalra, ne pedig általános kiszolgálási hibára vezessék a látogatót.
- Hangolja össze a Cognito visszahívási címét, a webhely domainjét és a cookie domaint.
- Tesztelje a bejelentkezést, a védett URL közvetlen elérését, a lejáratot és a kijelentkezést.
- Kerülje az olyan cookie-hatóköröket, amelyek nem kapcsolódó webhelyekre vagy útvonalakra is kiterjednek.
A felhasználó szokásos fiókfolyamatot lát, miközben a kiszolgálási döntést továbbra is a CloudFront kényszeríti ki.

04 · Üzemeltetés
Mit kell tesztelni a telepítés után?
A sikeres CloudFormation-telepítés csak a kezdet. Tegye közzé a statikus fájlokat a várt S3-prefix alatt, érvénytelenítse a megfelelő CloudFront-útvonalakat, és ellenőrizze, hogy a nyilvános útvonalak elérhetők maradnak, míg a védett útvonalak elutasítják a névtelen kéréseket.
Ezután teszteljen több felhasználóval, ellenőrizze a cookie-k lejáratát, a böngésző adatvédelmi módjait, az egyéni domaineket, az aláíró API CORS-viselkedését, a kulcsrotációt, a naplókat, a riasztásokat és a visszaállítási eljárásokat. Győződjön meg arról, hogy a WordPress-oldal módosítása nem távolítja el véletlenül az exportált frontendhez szükséges integrációs beállításokat.
- Tesztelje a névtelen, hitelesített, lejárt és kijelentkezett állapotokat.
- Figyelje az aláíró hibáit és a váratlan engedélyezési válaszokat.
- Dokumentálja, hogyan rotálhatók a kulcsok és a konfiguráció leállás nélkül.
A statikus kiszolgálás csökkenti a WordPress nyilvános támadási felületét, de nem szünteti meg az identitással, kulcsokkal, API-kkal és üzemeltetéssel kapcsolatos felelősséget.

Hozzáférés-vezérlési szabály
Egy statikus oldal lehet interaktív, de a böngésző nem lehet a biztonsági határ.
A böngészőlogikát a felhasználói élmény javítására használja. Arról, hogy a védett tartalom ténylegesen kiszolgálható-e, a Cognito, a védett API-k, a CloudFront-szabályzatok és egy privát origin döntsön.
Következő lépés
A stack telepítése előtt tervezze meg a védett útvonalakat.
Tekintse át a Static Publisher és a Deployment Access megoldást, és térképezze fel, hogyan exportálja és hol szolgálja ki a webhelyet, valamint mely útvonalak igényelnek aláírt cookie-val biztosított védelmet.
