WordPress på Azure

Azure App Service
Azure Front Door
Azure Kubernetes Service (AKS)
Azure Web Application Firewall
Azure Private Link

WordPress är ett mångsidigt och populärt innehållshanteringssystem som används för att skapa webbplatser av alla storlekar, för flera syften. Från små personliga bloggar till storskaliga företagswebbplatser och e-handelsbutiker erbjuder WordPress en rad funktioner och anpassningar som passar olika behov. Men på grund av installationernas varierande storlekar och användningsfall har WordPress också unika värdkrav som är beroende av faktorer som trafikvolym och lagringsbehov.

Den här artikeln beskriver WordPress-distributioner på Azure. Den ger vägledning om vad du bör överväga och implementera för att säkerställa en säker, skalbar och kostnadseffektiv installation.

Allmänna säkerhets- och prestandatips för WordPress

På grund av sin överväldigande popularitet är WordPress ett mål för hackare. Webbplatser som körs på plattformen kan vara sårbara för säkerhetshot som skadlig kod och nätfiskeattacker. Följande tips kan hjälpa dig att hantera dessa risker genom att skapa en säkrare och mer högpresterande WordPress-installation.

Oavsett om du använder en virtuell dator (VM) eller Azure App Service för din värdarkitektur, eller om du använder någon annan lösning, gäller dessa tips.

Använda Azure Web Application Firewall

Web Application Firewall hjälper till att skydda din webbplats mot vanliga webbaserade attacker. Det fungerar som ett filter mellan din webbplats och Internet. I den här kapaciteten övervakar Web Application Firewall inkommande trafik och blockerar skadliga begäranden som kan utnyttja sårbarheter i webbplatsens kod. Web Application Firewall hjälper dig att skydda din webbplats från en rad attacker, inklusive SQL-inmatningar, skriptkörning mellan webbplatser (XSS) och förfalskning av begäranden mellan webbplatser (CSRF).

Du bör använda Web Application Firewall på Azure Front Door för att få centraliserat skydd för dina webbprogram. Azure Front Door är ett nätverk för innehållsleverans som hjälper användare över hela världen att få snabb, tillförlitlig och säker åtkomst till dina programs statiska och dynamiska webbinnehåll. Genom att distribuera Web Application Firewall på Azure Front Door kan du skydda dina webbtjänster mot vanliga kryphål och sårbarheter.

Ta bort oanvända plugin-program och teman

Du bör ta bort oanvända plugin-program och teman från WordPress-installationen. Det här steget är viktigt för att hålla din WordPress-webbplats säker och optimera dess prestanda. Även ett plugin-program eller tema som du inte aktivt använder kan utgöra en säkerhetsrisk genom att tillhandahålla en startpunkt för hackare som utnyttjar sårbarheter i inaktuell eller oavsiktlig kod. Dessutom kan många plugin-program och teman installerade på webbplatsen göra att prestandan blir långsammare genom att öka belastningstiden och serverresursanvändningen.

Avlasta statiskt innehåll från PHP-processorn

För att minska belastningen på PHP-processorn bör du avlasta statiskt innehåll, till exempel bilder, videor och CSS-filer. Om du avlastar statiskt innehåll kan du optimera webbplatsens prestanda och minska serverbelastningen. När en användare besöker en webbplats bearbetar servern PHP-kod och genererar HTML-innehåll dynamiskt. Den här processen är resurskrävande. Statiskt innehåll ändras dock inte ofta, så du kan hantera statiskt innehåll direkt från ett serverfilsystem eller ett nätverk för innehållsleverans. Genom att avlasta dessa tillgångar kan du minska belastningen på serverns PROCESSOR- och RAM-minne. Den här konfigurationen resulterar i snabbare sidinläsningstider, bättre webbplatsprestanda och en bättre användarupplevelse.

Det finns också andra fördelar med att hantera statiska resurser från en nätverkstjänst för innehållsleverans, till exempel Azure Front Door. När du till exempel avlastar statiskt innehåll kan du minska svarstiden och öka webbplatshastigheten genom att placera servrar nära användarnas geografiska platser.

Anteckning

För att skydda ett ursprung med Azure Front Door med hjälp av en privat slutpunkt måste du använda Premium-SKU:n för Azure Front Door. Mer information finns i Skydda ditt ursprung med Private Link.

Ogiltig cache för innehållsleveransnätverk

För stora WordPress-installationer som använder ett nätverk för innehållsleverans, till exempel Azure Front Door eller Azure Content Delivery Network, måste du implementera logik för ogiltig cachelagring. När en ny händelse inträffar måste du ogiltigförklara cachen i nätverket för innehållsleverans för den berörda sidan. Exempel på händelser är att publicera en ny artikel, uppdatera en befintlig sida och lägga till en kommentar. Ogiltighetslogiken måste hitta alla URL:er som ändringen påverkar. Mer specifikt behöver logiken hitta och ogiltigförklara dynamiskt genererade sidor, till exempel kategorier och arkiv, i nätverkscachen för innehållsleverans. Med vissa installerade teman och plugin-program kan även en mindre ändring påverka varje sida.

Ett enkelt sätt att implementera identifieringslogik är att använda ett plugin-program som möjliggör manuell utlösning av ogiltig cache för alla URL:er. Men att ogiltigförklara alla URL:er på en gång kan leda till att trafiken ökar på WordPress-webbplatsen. Ett exempel på logik för cacheintegrering för Content Delivery Network finns i Flush Azure cache and deploy hook implementation on GitHub (Rensa Azure-cache och distribuera hookimplementering på GitHub).

Aktivera tvåfaktorsautentisering

Tvåfaktorautentisering ökar säkerheten för installationen och skyddar dina administratörskonton mot obehörig åtkomst och attacker. Om du vill dra nytta av tvåfaktorautentisering kan du använda ett plugin-program, till exempel plugin-programmet för miniOrange-autentisering. Det här plugin-programmet innehåller bland annat ett sätt för dig att konfigurera Microsoft Authenticator som en tvåfaktorsautentiseringsmetod för användare som loggar in på din WordPress-webbplats som administratörer.

Inaktivera XML-RPC-åtkomst

XML-RPC är ett fjärrprotokoll som gör det möjligt för program från tredje part att interagera med webbplatsens server. Det här protokollet är dock också ett vanligt mål för hackare som använder det för att starta råstyrkeattacker eller utnyttja sårbarheter i ditt innehållshanteringssystem. Om du använder Azure Front Door kan du inaktivera XML-RPC genom att konfigurera en neka-regel för URL:er med formatet /xmlrpc.php.

Begränsa åtkomsten till administrationspanelen

Som standard är administrationspanelen för WordPress tillgänglig för alla med dina kontoautentiseringsuppgifter och rätt URL, som har formatet /wp-login.php eller /wp-admin. Därför kan hackare och andra skadliga aktörer försöka gissa dina autentiseringsuppgifter, utföra en sessionskapning, starta råstyrkeattacker eller utnyttja sårbarheter i WordPress för att få åtkomst.

Web Application Firewall kan hjälpa till att förhindra vissa attacker, men många administratörer föredrar att begränsa åtkomsten till Administrationspanelen för WordPress på nätverksnivå.

Du kan till exempel blockera åtkomst till privata URL:er i Azure Front Door. Du kan sedan använda Azure Application Gateway för att tillhandahålla intern åtkomst från ett privat nätverk som använder en topologi av typen hub-and-spoke. Interna instanser av Application Gateway stöder Web Application Firewall regler och Azure Front Door-regler. Dessa regler hjälper till att skydda din WordPress-installation från interna attacker. Om du kan tolerera risken för en intern attack kan du använda en intern instans av Azure Load Balancer i stället för Application Gateway. Load Balancer fungerar på nivå fyra i OSI-modellen (Open Systems Interconnection).

Arkitekturdiagram som visar blockerad offentlig åtkomst till en WordPress-administrationspanel. Ett VPN i en topologi av typen hub-and-spoke ger intern åtkomst.

Ladda ned en Visio-fil med den här arkitekturen.

Vissa WordPress-plugin-program kräver att URL:er med formatet /wp-admin/admin-ajax.php är offentligt tillgängliga och tas bort från den här neka-regeln.

Spara hemligheter i Azure Key Vault

För att säkerställa säkerheten för WordPress-distributioner i Azure rekommenderar vi att du lagrar hemligheter, till exempel databaslösenord och TLS- eller SSL-certifikat, i Key Vault. Den här molnbaserade tjänsten hjälper till att tillhandahålla säker lagring och hantering av kryptografiska nycklar, certifikat och hemligheter.

Key Vault hjälper dina auktoriserade program och tjänster att få säker åtkomst till hemligheter. Du behöver inte lagra dem i oformaterad text i din WordPress-containeravbildning eller i programkod.

Finjustera prestanda

För att optimera WordPress-prestanda bör du justera olika inställningar och använda plugin-program. Följande plugin-program kan vara användbara för felsökning av WordPress-installationer:

  • Frågeövervakaren ger en uppdelning av den tid som ägnas åt varje SQL-fråga och andra åtgärder. Exempel är PHP-fel, hookar och åtgärder, blockredigeringsblock, köade skript och formatmallar samt HTTP API-anrop.
  • Varv ger en uppdelning av hur tid som spenderas på WordPress-sidinläsningar.

Värdutmaningar för WordPress

Med WordPress-programarkitekturen finns det flera värdutmaningar, bland annat:

  • Skalbarhet. En värdarkitektur måste kunna skalas ut under perioder med hög trafikbelastning.
  • ReadWriteMany-lagring (RWX). Som standard lagrar WordPress alla statiska tillgångar, plugin-program och temakällkod i /wp-content/ katalogen. Under en utskalning måste alla noder kunna läsa från och skriva till den katalogen.
  • Lagringsklassen för indata/utdata per sekund (IOPS). WordPress består av över 1 000 små .php-filer som PHP-processorn refererar till, läser in och kör under inkommande begäranden. Med vissa protokoll kan inläsning av många små filer öka omkostnaderna. Den övergripande prestandan är sedan långsammare än att läsa in en fil med samma totala storlek. Därför måste lagringslösningen ha stöd för hög IOPS.
  • Cachen är ogiltig. När det finns ny aktivitet i programmet, till exempel när du publicerar en ny artikel, måste du ogiltigförklara cachen för alla noder.
  • Tiden för att skapa cachen. För den första användaren av en viss nod kan svarstiden vara långsam tills cacheminnet har skapats.

WordPress-värdalternativ i Azure

WordPress kan köras på App Service, Azure Kubernetes Service (AKS) och Azure Virtual Machines. Installationens storlek är en viktig faktor i den värd som du väljer. För små till medelstora installationer är App Service ett kostnadseffektivt alternativ. För större installationer bör du dock överväga AKS- eller VM-värdtjänster.

WordPress på App Service

Microsoft tillhandahåller en fullständigt hanterad lösning för att köra WordPress på App Service på Linux virtuella datorer. Detaljerad information finns i Skapa en WordPress-webbplats. Den här lösningen:

  • Är utformad för att hjälpa dig att snabbt och enkelt distribuera en WordPress-installation.
  • Är perfekt för små till medelstora WordPress-installationer.
  • Ger skalbarhet, tillförlitlighet och säkerhet för Azure-plattformen utan behov av komplex konfiguration eller hantering.
  • Utför automatiska uppdateringar, säkerhetskopieringar och övervakning för att säkerställa att webbplatsen alltid är tillgänglig.

Mer information finns i WordPress på App Service.

Lagringsintensiva arbetsbelastningar

Stora WordPress-installationer kan vara lagringsintensiva. I dessa scenarier bör du använda en lagringslösning med hög IOPS-klass och låg svarstid. Vi rekommenderar Azure NetApp Files. Azure NetApp Files har stöd för lagringsintensiva WordPress-distributioner. Den innehåller även extra funktioner som dataskydd, säkerhetskopiering och återställning, replikering mellan regioner och haveriberedskap.

För en containerdistribution av WordPress bör du använda AKS. Med Azure NetApp Files implementerar du lagring via en Kubernetes CSI-drivrutin (Container Storage Interface). Azure NetApp Files erbjuder ett ReadWriteMany läge så att alla noder kan läsa från och skriva till samma lagring. Mer information finns i AKS WordPress-arkitektur.

För en stor WordPress-installation som körs på virtuella datorer bör du montera Azure NetApp Files via NFS-protokollet (Network File System). Mer information finns i WordPress på virtuella datorer.

Oföränderlig WordPress-container

En alternativ metod för traditionella värdmetoder är att distribuera WordPress till en oföränderlig container. Den här metoden har fördelar och nackdelar. Källkoden och alla resurser i oföränderliga containrar är fasta och kan inte ändras efter distributionen. Du måste göra alla ändringar, inklusive nya plugin-installationer eller WordPress Core-uppdatering, i en ny version av containeravbildningen. Även om den här metoden hjälper till att säkerställa konsekvens och förenklar återställningar, måste du skapa en distributionspipeline för att göra ändringar. Oföränderliga containrar kan också begränsas i de beständiga lagringsalternativ som de erbjuder. Du kan behöva utveckla en lösning för hantering av mediefiler och andra data. Trots dessa begränsningar erbjuder oföränderliga containerdistributioner fördelar vad gäller säkerhet, skalbarhet och portabilitet.

Du kan distribuera en oföränderlig containerversion av WordPress på olika plattformar, inklusive Azure Container Apps, AKS och App Service med en anpassad containeravbildning. Du kan vara värd för containeravbildningen i Azure Container Registry.

Deltagare

Den här artikeln underhålls av Microsoft. Den skrevs ursprungligen av följande deltagare.

Huvudförfattare:

Andra deltagare:

  • Adrian Calinescu | Senior Cloud Solution Architect

Om du vill se linkedin-profiler som inte är offentliga loggar du in på LinkedIn.

Nästa steg

Produktdokumentation:

Utbildningsmoduler: