A WordPress egy sokoldalú és népszerű tartalomkezelő rendszer, amely különböző méretű webhelyek létrehozására szolgál, több célra. A kis személyes blogoktól a nagy léptékű vállalati webhelyekig és e-kereskedelmi üzletekig a WordPress számos funkciót és testreszabást kínál a különböző igényeknek megfelelően. Azonban a telepítések különböző méretei és használati esetei miatt a WordPress egyedi üzemeltetési követelményekkel is rendelkezik, amelyek olyan tényezőktől függnek, mint a forgalom mennyisége és a tárolási igények.
Ez a cikk a WordPress Azure-beli üzembe helyezését ismerteti. Útmutatást nyújt a biztonságos, skálázható és költséghatékony telepítés biztosításához megfontolandó és implementálandó szempontokhoz.
Általános WordPress biztonsági és teljesítménytippek
Elsöprő népszerűsége miatt a WordPress a hackerek célpontja. A platformon futó webhelyek sebezhetőek lehetnek az olyan biztonsági fenyegetésekkel szemben, mint a kártevők és az adathalászati támadások. Az alábbi tippek segíthetnek ezeknek a kockázatoknak a megoldásában egy biztonságosabb és hatékonyabb WordPress-telepítés létrehozásával.
Akár virtuális gépet (VM-et) vagy Azure App Service használ az üzemeltetési architektúrához, akár más megoldást használ, ezek a tippek érvényesek.
Az Azure Web Application Firewall használata
Web Application Firewall segít a webhely biztonságossá tételében a gyakori webes támadások ellen. Ez szűrőként működik a webhely és az internet között. Ebben a kapacitásban Web Application Firewall figyeli a bejövő forgalmat, és blokkolja azokat a rosszindulatú kéréseket, amelyek kihasználhatják a webhely kódjában található biztonsági réseket. Web Application Firewall segít megvédeni webhelyét számos támadástól, beleértve az SQL-injektálást, a helyek közötti szkriptelést (XSS) és a helyek közötti kérelemhamisítást (CSRF).
A webalkalmazások központosított védelméhez az Azure Front Dooron Web Application Firewall kell használnia. Az Azure Front Door egy tartalomkézbesítési hálózat, amely gyors, megbízható és biztonságos hozzáférést biztosít a felhasználóknak az alkalmazások statikus és dinamikus webes tartalmaihoz. A Web Application Firewall az Azure Front Dooron való üzembe helyezése segít megvédeni a webszolgáltatásokat a gyakori biztonsági résekkel és biztonsági résekkel szemben.
A nem használt beépülő modulok és témák eltávolítása
Távolítsa el a nem használt beépülő modulokat és témákat a WordPress-telepítésből. Ez a lépés fontos a WordPress-webhely biztonságának és teljesítményének optimalizálásának elősegítéséhez. Még egy olyan beépülő modul vagy téma is, amelyet nem használ aktívan, biztonsági kockázatot jelenthet azáltal, hogy belépési pontot biztosít a támadóknak az elavult vagy nem felügyelt kódban található biztonsági rések kihasználásához. Emellett, ha sok beépülő modul és téma van telepítve a webhelyen, a terhelési idő és a kiszolgálói erőforrás-használat növelésével lelassíthatja a teljesítményét.
Statikus tartalom kiszervezése a PHP-processzortól
A PHP-processzor terhelésének csökkentése érdekében ki kell töltenie a statikus tartalmakat, például képeket, videókat és CSS-fájlokat. A statikus tartalom kiszervezése segít optimalizálni a webhely teljesítményét és csökkenteni a kiszolgáló terhelését. Amikor egy felhasználó felkeres egy webhelyet, a kiszolgáló PHP-kódot dolgoz fel, és dinamikusan generál HTML-tartalmat. Ez a folyamat erőforrás-igényes. A statikus tartalom azonban nem változik gyakran, így a statikus tartalmakat közvetlenül kiszolgáló fájlrendszerből vagy tartalomkézbesítési hálózatból is kiszolgálhatja. Ezeknek az eszközöknek a kiszervezésével csökkentheti a kiszolgáló processzorára és RAM-jára vonatkozó terhelést. Ez a konfiguráció gyorsabb lapbetöltési időt, jobb webhelyteljesítményt és jobb felhasználói élményt eredményez.
A tartalomkézbesítési hálózati szolgáltatás, például az Azure Front Door statikus erőforrásainak kiszolgálása más előnyökkel is jár. Ha például statikus tartalmat tölt ki, csökkentheti a késést, és növelheti a webhely sebességét azáltal, hogy a kiszolgálókat a felhasználók földrajzi helyéhez közel helyezi.
Megjegyzés
Ahhoz, hogy az Azure Front Door egy privát végpont használatával biztonságossá tegye a forrást, az Azure Front Door prémium termékváltozatát kell használnia. További információ: A forrás védelme Private Link.
A tartalomkézbesítési hálózati gyorsítótár érvénytelenítése
A tartalomkézbesítési hálózatot (például az Azure Front Doort vagy az Azure Content Delivery Networket) használó nagy WordPress-telepítések esetében gyorsítótár-érvénytelenítési logikát kell implementálnia. Amikor új esemény történik, érvénytelenítenie kell a gyorsítótárat az érintett oldal tartalomkézbesítési hálózatában. Az események közé tartozik például egy új cikk közzététele, egy meglévő lap frissítése és egy megjegyzés hozzáadása. Az érvénytelenítési logikának meg kell keresnie a módosítás által érintett összes URL-címet. A logikának konkrétan meg kell keresnie és érvénytelenítenie kell a dinamikusan létrehozott lapokat, például a kategóriákat és az archívumokat a tartalomkézbesítési hálózati gyorsítótárban. Néhány telepített téma és beépülő modul esetén még egy kisebb módosítás is hatással lehet minden oldalra.
A felderítési logika megvalósításának egyszerű módja egy beépülő modul használata, amely lehetővé teszi a gyorsítótár érvénytelenítésének manuális aktiválását az összes URL-cím esetében. Ha azonban az összes URL-címet egyszerre érvényteleníti, a forgalom megugrik a WordPress-webhelyen. A Content Delivery Network gyorsítótár-érvénytelenítési logikáját az Azure Cache kiürítése és a Kampó üzembe helyezése a GitHubon című cikkben talál.
A kéttényezős hitelesítés engedélyezése
A kétfaktoros hitelesítés növeli a telepítés biztonságát, és segít megvédeni a rendszergazdai fiókokat a jogosulatlan hozzáféréstől és támadásoktól. A kéttényezős hitelesítés előnyeinek kihasználásához használhat egy beépülő modult, például a miniOrange hitelesítési beépülő modult. Ez a beépülő modul többek között lehetővé teszi a Microsoft Authenticator kéttényezős hitelesítési módszerként való konfigurálását azoknak a felhasználóknak, akik rendszergazdaként jelentkeznek be a WordPress-webhelyre.
XML-RPC-hozzáférés letiltása
Az XML-RPC egy távoli protokoll, amellyel külső alkalmazások kommunikálhatnak a webhely kiszolgálójával. Ez a protokoll azonban gyakori célpont a hackerek számára is, akik találgatásos támadások indítására vagy a tartalomkezelő rendszer biztonsági réseinek kihasználására használják. Ha az Azure Front Doort használja, letilthatja az XML-RPC-t úgy, hogy beállít egy megtagadási szabályt az URL-címekhez a formátummal /xmlrpc.php
.
Hozzáférés korlátozása a felügyeleti panelhez
Alapértelmezés szerint a WordPress felügyeleti panelje bárki számára elérhető a fiók hitelesítő adataival és a megfelelő URL-címmel, amelynek formátuma /wp-login.php
vagy /wp-admin
. Ennek eredményeképpen a hackerek és más rosszindulatú szereplők megpróbálhatják kitalálni a hitelesítő adatait, munkamenet-eltérítést hajthatnak végre, találgatásos támadásokat indíthatnak, vagy kihasználhatják a WordPress biztonsági réseit a hozzáférés megszerzéséhez.
Web Application Firewall segíthet megelőzni bizonyos támadásokat, de sok rendszergazda inkább hálózati szinten korlátozza a WordPress felügyeleti panelhez való hozzáférést.
Letilthatja például a privát URL-címekhez való hozzáférést az Azure Front Doorban. Ezután a Azure Application Gateway használatával belső hozzáférést biztosíthat egy küllős topológiát használó magánhálózatról. A Application Gateway belső példányai támogatják Web Application Firewall szabályokat és az Azure Front Door-szabályokat. Ezek a szabályok segítenek megvédeni a WordPress-telepítést a belső támadásokkal szemben. Ha el tudja viselni a belső támadás kockázatát, használhatja a Azure Load Balancer belső példányát a Application Gateway helyett. Load Balancer az Open Systems-összekapcsolási (OSI) modell negyedik rétegében működik.
Töltse le az architektúra Visio-fájlját.
Egyes WordPress beépülő modulokhoz nyilvánosan elérhető és eltávolítandó formátumú /wp-admin/admin-ajax.php
URL-címekre van szükség.
Titkos kulcsok tárolása az Azure Key Vaultban
A WordPress azure-beli üzemelő példányainak biztonságának biztosítása érdekében javasoljuk, hogy a titkos kulcsokat, például az adatbázisjelszavakat, a TLS-t vagy az SSL-tanúsítványokat a Key Vault tárolja. Ez a felhőalapú szolgáltatás segít biztonságosan tárolni és felügyelni a titkosítási kulcsokat, tanúsítványokat és titkos kulcsokat.
Key Vault segít az engedélyezett alkalmazásoknak és szolgáltatásoknak a titkos kódok biztonságos elérésében. Nem kell egyszerű szövegben tárolnia őket a WordPress-tárolórendszerképben vagy az alkalmazáskódban.
Teljesítmény hangolása
A WordPress teljesítményének optimalizálásához különböző beállításokat kell hangolnia, és beépülő modulokat kell használnia. Az alábbi beépülő modulok hasznosak lehetnek a WordPress-telepítések hibakereséséhez:
- A Lekérdezésfigyelő az egyes SQL-lekérdezésekre és egyéb műveletekre fordított idő lebontását biztosítja. Ilyenek például a PHP-hibák, a horgok és a műveletek, a blokkszerkesztő blokkok, az enqueued szkriptek és stíluslapok, valamint a HTTP API-hívások.
- A Laps a WordPress-lapok betöltésének idejét részletezi.
A WordPress üzemeltetési kihívásai
A WordPress alkalmazásarchitektúrája számos üzemeltetési kihívást jelent, többek között a következőket:
- Skálázhatóság. Az üzemeltetési architektúrának képesnek kell lennie a csúcsforgalmi időszakokban történő vertikális felskálázásra.
- ReadWriteMany (RWX) tároló. Alapértelmezés szerint a WordPress a könyvtárban tárolja az
/wp-content/
összes statikus objektumot, beépülő modult és témaforráskódot. A vertikális felskálázás során minden csomópontnak képesnek kell lennie arra a könyvtárra való olvasásra és írásra. - A másodpercenkénti bemeneti/kimeneti műveletek (IOPS) tárolási osztálya. A WordPress több mint 1000 kis .php fájlból áll, amelyeket a PHP-processzor a bejövő kérések során hivatkozik, tölt be és futtat. Egyes protokollok esetén a sok kis fájl betöltése növelheti a többletterhelést. A teljes teljesítmény így lassabb, mint egy azonos teljes méretű fájl betöltése. Ennek eredményeképpen a tárolási megoldásnak támogatnia kell a magas IOPS-t.
- Gyorsítótár érvénytelenítése. Ha új tevékenység van az alkalmazásban, például amikor új cikket tesz közzé, érvénytelenítenie kell a gyorsítótárat az összes csomóponton.
- A gyorsítótár összeállításának ideje. Egy adott csomópont első felhasználója esetében a válaszidő lassú lehet, amíg a gyorsítótár létre nem jön.
A WordPress üzemeltetési lehetőségei az Azure-ban
A WordPress App Service, Azure Kubernetes Service (AKS) és Azure Virtual Machines futtatható. A telepítés mérete fontos tényező a kiválasztott gazdagépen. Kis és közepes telepítés esetén a App Service költséghatékony megoldás. Nagyobb telepítések esetén azonban érdemes megfontolni az AKS-t vagy a virtuális gépek üzemeltetését.
WordPress a App Service
A Microsoft teljes körűen felügyelt megoldást kínál a WordPress futtatásához App Service on Linux virtuális gépeken. Részletes információkért lásd: WordPress-webhely létrehozása. Ez a megoldás:
- A WordPress-telepítés gyors és egyszerű üzembe helyezéséhez készült.
- Ideális kis- és közepes méretű WordPress-telepítésekhez.
- Összetett konfiguráció vagy felügyelet nélkül biztosítja az Azure-platform méretezhetőségét, megbízhatóságát és biztonságát.
- Automatikus frissítéseket, biztonsági mentéseket és monitorozást hajt végre, hogy a webhely mindig elérhető legyen.
További információ: WordPress a App Service.
Tárigényes számítási feladatok
A nagy WordPress-telepítések tárhelyigényesek lehetnek. Ezekben a forgatókönyvekben magas IOPS-osztályt és alacsony késést tartalmazó tárolási megoldást kell használnia. Javasoljuk, hogy Azure NetApp Files. Azure NetApp Files támogatja a tárolóigényes WordPress-telepítéseket. Emellett olyan további funkciókat is biztosít, mint az adatvédelem, a biztonsági mentés és visszaállítás, a régiók közötti replikáció és a vészhelyreállítás.
A WordPress tároló üzembe helyezéséhez az AKS-t kell használnia. A Azure NetApp Files segítségével implementáljon tárolót egy Kubernetes Container Storage Interface (CSI) illesztővel. Azure NetApp Files olyan ReadWriteMany
módot kínál, amely lehetővé teszi, hogy az összes csomópont ugyanarra a tárolóra tudjon olvasni és írni. További információ: AKS WordPress architektúra.
A virtuális gépeken futó nagy WordPress-telepítés esetén a hálózati fájlrendszer (NFS) protokollon keresztül kell csatlakoztatnia Azure NetApp Files. További információ: WordPress virtuális gépeken.
Nem módosítható WordPress-tároló
A hagyományos üzemeltetési módszerek alternatív megközelítése a WordPress nem módosítható tárolóba való üzembe helyezése. Ennek a megközelítésnek előnyei és hátrányai vannak. A forráskód és a nem módosítható tárolókban lévő összes erőforrás javítva van, és az üzembe helyezés után nem módosítható. A tárolórendszerkép új verziójában minden módosítást el kell végeznie, beleértve az új beépülő modulok telepítését vagy a WordPress core frissítését. Bár ez a megközelítés segít biztosítani a konzisztenciát és leegyszerűsíti a visszaállításokat, a módosítások elvégzéséhez létre kell hoznia egy üzembehelyezési folyamatot. Emellett a nem módosítható tárolók korlátozottak lehetnek az általuk kínált állandó tárolási lehetőségekben. Előfordulhat, hogy ki kell dolgoznia egy megoldást a médiafájlok és más adatok kezelésére. A korlátozások ellenére a nem módosítható tárolótelepítések a biztonság, a méretezhetőség és a hordozhatóság szempontjából előnyökkel járnak.
A WordPress nem módosítható tárolóalapú verzióját különböző platformokon, például az Azure Container Appsben, az AKS-ben és App Service is üzembe helyezheti egyéni tárolórendszerképekkel. A tárolórendszerképet a Azure Container Registry tárolhatja.
Közreműködők
Ezt a cikket a Microsoft tartja karban. Eredetileg a következő közreműködők írták.
Fő szerző:
- Vaclav Jirovsky | Felhőmegoldás-tervező
Egyéb közreműködők:
- Adrian Calinescu | Vezető felhőmegoldás-tervező
A nem nyilvános LinkedIn-profilok megtekintéséhez jelentkezzen be a LinkedInbe.
Következő lépések
Termékdokumentáció:
- Mi az az Azure Front Door?
- Mi az az Azure Web Application Firewall?
- Információk az Azure Key Vaultról
- Mi az Azure Load Balancer?
- Mi az Azure Application Gateway?
- Mi az az Azure Virtual Network?
- Mi az Azure Firewall?
- Mi az a VPN-átjáró?
Képzési modulok:
- Az Azure Front Door bemutatása
- Az Azure Load Balancer konfigurálása
- Az Azure Key Vault implementálása
- Az Azure Virtual Network bemutatása