Statikus WordPress · Hitelesítés

Statikus WordPress-hitelesítés egyszerűen: telepítés az AWS SAR-sablonnal

A statikusan publikált WordPress-oldalak kiszolgálásához nincs szükség PHP-futtatásra, a WordPress saját bejelentkezése azonban önmagában nem működik a statikus fájlokból. A védett portálokhoz és letöltésekhez ezért külön hitelesítésre és a statikus fájlok kiszolgálásakor érvényesített hozzáférés-védelemre van szükség.

A jelenlegi telepítési mód

A korábban az AWS Serverless Application Repositoryn (SAR) keresztül közzétett WP Suite-sablon már nem érhető el. Új telepítéshez a Deployment Access AWS Marketplace-előfizetés biztosít hozzáférést a WP Suite által közzétett CloudFormation-sablonhoz. A Quick Launch a WP Suite saját telepítési varázslóját nyitja meg, amely végigvezeti a beállításon és a saját AWS-fiókba történő telepítésen.

Az útmutató használata: a képernyőképek a korábbi SAR-munkafolyamatot mutatják. A Cognito által végzett hitelesítés és a CloudFront által biztosított tartalomvédelem szétválasztása a jelenlegi architektúrában is érvényes.

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ó sütiket bocsát ki

Egy védett API ellenőrzi a hitelesített felhasználót, majd korlátozott útvonalú és élettartamú aláírt CloudFront-sütiket ad vissza.

A CloudFront védi a tartalmat

A CloudFront útvonalankénti kiszolgálási beállításai és egy megbízható kulcscsoport már az S3-ból történő kiszolgálás előtt érvényesítik a védett statikus fájlok hozzáférési szabályait.

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-sütik 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. Ezt a kiszolgálási módot az AWS aláírt sütikről szóló dokumentációja ismerteti.

  • Hozzáférés-vezérlésként ne támaszkodjon kliensoldali láthatósági szabályokra.
  • Védje az S3-forrást, hogy a látogatók ne kerülhessék meg a CloudFrontot, és ne olvashassák közvetlenül az S3-objektumokat.
  • A sütik érvényességét 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 A nem gyorsítótárazott kérések PHP-t és adatbázist igényelnek Statikus fájlok kiszolgálása a CloudFront gyorsítótáraiból
Biztonság A mag és a bővítmények nagyobb támadási felületet jelentenek Nincs nyilvános WordPress-futtatás; az API-kat és a hitelesítést továbbra is védeni kell
Skálázhatóság A tárhelytől, gyorsítótárazástól és adatbázis-kapacitástól függ Felügyelt skálázás a szolgáltatási kvóták és beállítások keretei között
Hitelesítés Beépített WordPress-bejelentkezés Cognito és Gatey; aláírt sütik védik a kiszolgálást
Karbantartás Javítócsomagok és adatbázis-mentések Tartalomszinkronizálás, gyorsítótár-frissítés, hitelesítési és kiszolgálási beállítások

Mit biztosít a Static Site Guardian infrastruktúrája?

A telepítés egy S3-forrást, CloudFront-kiszolgálást, nyilvános CloudFront-kulcsot és kulcscsoportot, továbbá olyan API Gateway- és Lambda-végpontokat kapcsol össze, amelyek a hitelesítés után aláírt sütiket bocsátanak ki, illetve kijelentkezéskor 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-forrás és CloudFront-kiszolgálás.
  • Sütikibocsátó és kijelentkeztetési végpontok útvonalspecifikus engedélyezéssel.
  • Kulcsok, naplók és domainek az ügyfél AWS-fiókjában; az AWS használati díjait is az ügyfél fizeti.

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-sütik architektúráját.

Hogyan kapcsolja össze a Gatey a bejelentkezést a védett statikus útvonalakkal?

A Gatey kezeli a Cognito bejelentkezési folyamatát a böngészőben. Sikeres bejelentkezés után a látogatói felület a szükséges hitelesítési adatokkal meghívja a beállított sütikibocsátó végpontot. A válasz aláírt sütiket állít be a CloudFront által kiszolgált 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 aláírt CloudFront-sütiket 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 sütik domainjét.
  • 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 sütikre vonatkozó 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 sütik 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 cserélhetők a kulcsok és módosíthatók a beállítások 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őben futó kód a felhasználói élményt javítsa. A védett tartalom kiszolgálását a Cognito, a védett API-k, a CloudFront hozzáférési szabályai és a közvetlenül nem elérhető S3-forrás szabályozza.

Következő lépés

A telepítés 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 sütivel biztosított védelmet.