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.

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.

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.

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

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.

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.

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.

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.