WordPress je univerzální a oblíbený systém správy obsahu, který se používá k vytváření webů všech velikostí pro více účelů. Od malých osobních blogů až po rozsáhlé firemní weby a obchody elektronického obchodování nabízí WordPress celou řadu funkcí a přizpůsobení, které vyhovují různým potřebám. Vzhledem k různým velikostem a případům použití instalace má WordPress také jedinečné požadavky na hostování, které závisí na faktorech, jako jsou objemy přenosů a potřeby úložiště.
Tento článek se zabývá nasazeními WordPressu v Azure. Poskytuje pokyny k tomu, co zvážit a implementovat, aby se zajistila zabezpečená, škálovatelná a nákladově efektivní instalace.
Obecné tipy k zabezpečení a výkonu WordPressu
Vzhledem k jeho ohromující popularitě, WordPress je cílem pro hackery. Weby, které běží na platformě, můžou být ohrožené bezpečnostními hrozbami, jako jsou malwarové útoky a útoky phishing. Následující tipy vám můžou pomoct tyto rizika vyřešit vytvořením bezpečnější a výkonnější instalace WordPressu.
Tyto tipy platí bez ohledu na to, jestli používáte virtuální počítač nebo službu Aplikace Azure pro vaši architekturu hostování nebo jestli používáte jiné řešení.
Použití firewallu webových aplikací Azure
Firewall webových aplikací pomáhá zabezpečit web před běžnými webovými útoky. Funguje jako filtr mezi vaším webem a internetem. V této kapacitě firewall webových aplikací monitoruje příchozí provoz a blokuje škodlivé požadavky, které můžou zneužít chyby zabezpečení v kódu vašeho webu. Firewall webových aplikací pomáhá chránit váš web před celou řadou útoků, včetně injektáží SQL, skriptování mezi weby (XSS) a padělání požadavků mezi weby (CSRF).
K získání centralizované ochrany webových aplikací pro webové aplikace byste měli použít firewall webových aplikací ve službě Azure Front Door. Azure Front Door je síť pro doručování obsahu, která pomáhá uživatelům po celém světě poskytovat rychlý, spolehlivý a zabezpečený přístup ke statickému a dynamickému webovému obsahu vašich aplikací. Nasazení firewallu webových aplikací ve službě Azure Front Door pomáhá chránit webové služby před běžným zneužitím a ohrožením zabezpečení.
Odebrání nepoužívaných modulů plug-in a motivů
Z instalace WordPressu byste měli odebrat nepoužívané moduly plug-in a motivy. Tento krok je důležitý pro zajištění zabezpečení a optimalizace výkonu webu WordPress. I modul plug-in nebo motiv, který aktivně nepoužíváte, může představovat bezpečnostní riziko tím, že poskytnete hackerům vstupní bod, který zneužije ohrožení zabezpečení v zastaralém nebo neudržovaného kódu. Díky spoustě modulů plug-in a motivů nainstalovaných na vašem webu může také snížit výkon tím, že zvýšíte dobu načítání a využití prostředků serveru.
Snižování zátěže statického obsahu mimo procesor PHP
Pokud chcete snížit zatížení procesoru PHP, měli byste snížit zatížení statického obsahu, jako jsou obrázky, videa a soubory CSS. Snižování zátěže statického obsahu pomáhá optimalizovat výkon webu a snížit zatížení serveru. Když uživatel navštíví web, server zpracuje kód PHP a dynamicky generuje obsah HTML. Tento proces je náročný na prostředky. Statický obsah se ale často nemění, takže můžete statický obsah obsluhovat přímo ze serverového systému souborů nebo sítě pro doručování obsahu. Snížením zátěže těchto prostředků můžete snížit zatížení procesoru a paměti RAM serveru. Tato konfigurace vede k rychlejšímu načítání stránek, lepšímu výkonu webu a lepšímu uživatelskému prostředí.
Existují také další výhody poskytování statických prostředků ze služby sítě pro doručování obsahu, jako je Azure Front Door. Například při snižování zátěže statického obsahu můžete snížit latenci a zvýšit rychlost webu umístěním serverů blízko geografických umístění uživatelů.
Poznámka:
Pokud chcete zabezpečit původ pomocí služby Azure Front Door pomocí privátního koncového bodu, musíte použít skladovou položku Premium služby Azure Front Door. Další informace najdete v tématu Zabezpečení vašeho původu pomocí služby Private Link.
Neplatná mezipaměť sítě pro doručování obsahu
U rozsáhlých instalací WordPressu, které používají síť pro doručování obsahu, jako je Azure Front Door nebo Azure Content Delivery Network, musíte implementovat logiku zneplatnění mezipaměti. Kdykoli dojde k nové události, musíte pro ovlivněnou stránku zneplatnit mezipaměť v síti pro doručování obsahu. Mezi příklady událostí patří publikování nového článku, aktualizace existující stránky a přidání komentáře. Logika zneplatnění musí vyhledat všechny adresy URL, které změna ovlivňuje. Konkrétně musí logika v mezipaměti sítě pro doručování obsahu najít a zneplatnit dynamicky generované stránky, jako jsou kategorie a archivy. U některých nainstalovaných motivů a modulů plug-in může i menší změna ovlivnit každou stránku.
Způsob implementace logiky zjišťování spočívá v použití modulu plug-in, který umožňuje ruční aktivaci zneplatnění mezipaměti pro všechny adresy URL. Zneplatnění všech adres URL najednou ale může způsobit špičku provozu na webu WordPress.
Povolení dvouúrovňového ověřování
Dvojúrovňové ověřování zvyšuje zabezpečení instalace a pomáhá chránit účty správců před neoprávněným přístupem a útoky. Pokud chcete využít dvoufaktorové ověřování, můžete použít modul plug-in, jako je miniOrange authentication plug-in. Kromě dalších funkcí tento modul plug-in nabízí způsob, jak nakonfigurovat Microsoft Authenticator jako metodu dvojúrovňového ověřování pro uživatele, kteří se přihlásí k webu WordPress jako správci.
Zakázání přístupu XML-RPC
XML-RPC je vzdálený protokol, který umožňuje aplikacím třetích stran pracovat se serverem vašeho webu. Tento protokol je ale také běžným cílem hackerů, kteří ho používají ke spuštění útoků hrubou silou nebo zneužití ohrožení zabezpečení ve vašem systému pro správu obsahu. Pokud používáte Azure Front Door, můžete zakázat XML-RPC nastavením pravidla zamítnutí pro adresy URL ve formátu /xmlrpc.php
.
Omezení přístupu k panelu pro správu
Ve výchozím nastavení je panel pro správu WordPress přístupný komukoli s přihlašovacími údaji vašeho účtu a správnou adresou URL, která má formát /wp-login.php
nebo /wp-admin
. V důsledku toho se hackeři a další škodliví aktéři mohou pokusit uhodnout vaše přihlašovací údaje, provést napadení relace, spustit útoky hrubou silou nebo zneužít chyby zabezpečení ve WordPressu pro získání přístupu.
Firewall webových aplikací může pomoct zabránit některým útokům, ale mnoho správců dává přednost omezení přístupu k panelu pro správu WordPressu na úrovni sítě.
Můžete například zablokovat přístup k privátním adresám URL ve službě Azure Front Door. Bránu Aplikace Azure lication pak můžete použít k poskytování interního přístupu z privátní sítě, která používá hvězdicovou topologii. Interní instance služby Application Gateway podporují pravidla firewallu webových aplikací a pravidla služby Azure Front Door. Tato pravidla pomáhají chránit instalaci WordPressu před interními útoky. Pokud můžete tolerovat riziko interního útoku, můžete místo služby Application Gateway použít interní instanci Azure Load Balanceru. Load Balancer funguje ve vrstvě čtyři modelu Open Systems Interconnection (OSI).
Stáhněte si soubor aplikace Visio s touto architekturou.
Některé moduly plug-in WordPress vyžadují, aby byly adresy URL s formátem /wp-admin/admin-ajax.php
veřejně přístupné a odebrané z tohoto pravidla zamítnutí.
Uložení tajných kódů ve službě Azure Key Vault
Pokud chcete zajistit zabezpečení nasazení WordPressu v Azure, doporučujeme ukládat tajné kódy, jako jsou hesla databáze a certifikáty TLS nebo SSL, ve službě Key Vault. Tato cloudová služba pomáhá poskytovat zabezpečené úložiště a správu kryptografických klíčů, certifikátů a tajných kódů.
Key Vault pomáhá autorizovaným aplikacím a službám bezpečně přistupovat k tajným kódům. Nemusíte je ukládat ve formátu prostého textu v imagi kontejneru WordPress nebo v kódu aplikace.
Ladění výkonu
Pokud chcete optimalizovat výkon WordPressu, měli byste vyladit různá nastavení a používat moduly plug-in. Následující moduly plug-in můžou být užitečné pro ladění instalací WordPressu:
Monitorování dotazů poskytuje rozpis času stráveného na jednotlivých dotazech SQL a dalších akcích. Mezi příklady patří chyby PHP, háky a akce, bloky editoru bloků, skripty a šablony stylů a volání rozhraní API HTTP.
Laps je modul plug-in, který zobrazuje informace o výkonu o načtení stránky WordPress. Poskytuje vizuální souhrn, který se snadno kontroluje, automaticky sleduje události, jako je spouštění PHP, základní procesy, načítání modulů plug-in, načtení motivu, hlavní smyčky post, boční panely, databázové dotazy a síťové požadavky. Tento rozpis ukazuje, jak se načte čas na stránce WordPress.
Hostování výzev WordPressu
S architekturou aplikace WordPress existuje několik problémů s hostování, mezi které patří:
- Škálovatelnost: Architektura hostování musí být schopná škálovat na více instancí během období špičky provozu.
- Úložiště ReadWriteMany (RWX). WordPress ve výchozím nastavení ukládá všechny statické prostředky, moduly plug-in a zdrojový kód motivu
/wp-content/
v adresáři. Během horizontálního navýšení kapacity musí být všechny uzly schopny číst a zapisovat do tohoto adresáře. - Vstupně-výstupní operace za sekundu (IOPS) – třída úložiště. WordPress se skládá z více než 1 000 malých .php souborů, které procesor PHP odkazuje, načte a spouští během příchozích požadavků. Při některých protokolech může načítání mnoha malých souborů zvýšit režii. Celkový výkon je pak pomalejší než načtení jednoho souboru se stejnou celkovou velikostí. V důsledku toho řešení úložiště musí podporovat vysoké IOPS.
- Zneplatnění mezipaměti. Pokud je v aplikaci nová aktivita, například když publikujete nový článek, musíte zneplatnit mezipaměť napříč všemi uzly.
- Doba sestavení mezipaměti. Pro prvního uživatele daného uzlu může být doba odezvy pomalá, dokud nebude vytvořena mezipaměť.
Možnosti hostování WordPressu v Azure
WordPress může běžet ve službě App Service, Azure Kubernetes Service (AKS) a ve službě Azure Virtual Machines. Velikost instalace je důležitým faktorem v hostiteli, kterého vyberete. U malých až středních instalací představuje App Service nákladově efektivní možnost. U větších instalací byste ale měli zvážit hostování AKS nebo virtuálních počítačů.
WordPress ve službě App Service
Microsoft poskytuje plně spravované řešení pro spouštění WordPressu na virtuálních počítačích App Service v Linuxu. Podrobné informace naleznete v tématu Vytvoření webu WordPress. Toto řešení:
- Je navržený tak, aby vám pomohl rychle a snadno nasadit instalaci WordPressu.
- Je ideální pro malé až střední instalace WordPressu.
- Poskytuje škálovatelnost, spolehlivost a zabezpečení platformy Azure bez nutnosti složité konfigurace nebo správy.
- Provádí automatické aktualizace, zálohy a monitorování, které vám pomůžou zajistit, aby byl váš web vždy dostupný.
Další informace najdete v tématu WordPress ve službě App Service.
Úlohy náročné na úložiště
Velké instalace WordPressu můžou být náročné na úložiště. V těchto scénářích byste měli použít řešení úložiště s vysokou třídou IOPS a nízkou latencí. Azure NetApp Files doporučujeme. Azure NetApp Files podporuje nasazení WordPressu náročné na úložiště. Poskytuje také další funkce, jako je ochrana dat, zálohování a obnovení, replikace mezi oblastmi a zotavení po havárii.
Pro nasazení kontejneru WordPress byste měli použít AKS. S Azure NetApp Files implementujte úložiště prostřednictvím ovladače rozhraní CSI (Container Storage Interface) Kubernetes. Azure NetApp Files nabízí ReadWriteMany
režim, aby všechny uzly mohly číst a zapisovat do stejného úložiště. Další informace najdete v tématu Architektura AKS WordPress.
Pro velkou instalaci WordPressu, která běží na virtuálních počítačích, byste měli azure NetApp Files připojit přes protokol NFS (Network File System). Další informace najdete v tématu WordPress na virtuálních počítačích.
Neměnný kontejner WordPress
Alternativním přístupem k tradičním metodám hostování je nasazení WordPressu do neměnného kontejneru. Tento přístup má výhody a nevýhody. Zdrojový kód a všechny prostředky v neměnných kontejnerech jsou pevné a po nasazení není možné ho upravovat. Musíte provést všechny změny, včetně nových instalací modulů plug-in nebo aktualizace jádra WordPress, v nové verzi image kontejneru. I když tento přístup pomáhá zajistit konzistenci a zjednodušuje vrácení zpět, musíte vytvořit kanál nasazení, abyste mohli provádět změny. Neměnné kontejnery mohou být také omezené v možnostech trvalého úložiště, které nabízejí. Možná budete muset vyvinout řešení pro zpracování mediálních souborů a dalších dat. Navzdory těmto omezením nabízejí neměnná nasazení kontejnerů výhody z hlediska zabezpečení, škálovatelnosti a přenositelnosti.
Neměnnou kontejnerizovanou verzi WordPressu můžete nasadit na různých platformách, včetně Azure Container Apps, AKS a App Service s vlastní imagí kontejneru. Image kontejneru můžete hostovat ve službě Azure Container Registry.
Přispěvatelé
Tento článek spravuje Microsoft. Původně byla napsána následujícími přispěvateli.
Hlavní autor:
- Vaclav Jirovský | Architekt cloudového řešení
Další přispěvatelé:
- Adrian Calinescu | Vedoucí architekt cloudových řešení
Pokud chcete zobrazit nepublikované profily LinkedIn, přihlaste se na LinkedIn.
Další kroky
Dokumentace k produktu:
- Co je Azure Front Door?
- Co je Azure Web Application Firewall?
- O Azure Key Vault
- Co je Azure Load Balancer?
- Co je Aplikace Azure lication Gateway?
- Co je Azure Virtual Network?
- Co je Azure Firewall?
- Co je brána VPN Gateway?
Trénovací moduly:
- Úvod do služby Azure Front Door
- Konfigurace Azure Load Balanceru
- Implementace služby Azure Key Vault
- Úvod do služby Azure Virtual Network