Bewerken

Delen via


WordPress in Azure

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

WordPress is een veelzijdig en populair inhoudsbeheersysteem dat wordt gebruikt om websites van alle grootten te maken voor meerdere doeleinden. Van kleine persoonlijke blogs tot grootschalige bedrijfssites en e-commercewinkels biedt WordPress een scala aan functionaliteiten en aanpassingen aan verschillende behoeften. Vanwege de verschillende grootten en use cases van de installaties heeft WordPress echter ook unieke hostingvereisten die afhankelijk zijn van factoren zoals verkeersvolume en opslagbehoeften.

In dit artikel worden WordPress-implementaties in Azure behandeld. Het biedt richtlijnen voor wat u moet overwegen en implementeren om een veilige, schaalbare en rendabele installatie te garanderen.

Algemene tips voor beveiliging en prestaties van WordPress

Vanwege zijn overweldigende populariteit is WordPress een doelwit voor hackers. Websites die op het platform worden uitgevoerd, kunnen kwetsbaar zijn voor beveiligingsrisico's, zoals malware en phishingaanvallen. De volgende tips kunnen u helpen deze risico's aan te pakken door een veiligere en beter presterende WordPress-installatie te creëren.

Of u nu een virtuele machine (VM) of Azure-app Service gebruikt voor uw hostingarchitectuur of of u een andere oplossing gebruikt, deze tips zijn van toepassing.

Azure Web Application Firewall gebruiken

Web Application Firewall helpt uw website te beveiligen tegen veelvoorkomende aanvallen op internet. Het fungeert als een filter tussen uw website en internet. In deze capaciteit bewaakt Web Application Firewall binnenkomend verkeer en blokkeert schadelijke aanvragen die misbruik kunnen maken van beveiligingsproblemen in de code van uw website. Web Application Firewall helpt uw website te beschermen tegen allerlei aanvallen, waaronder SQL-injecties, CROSS-site scripting (XSS) en cross-site request forgery (CSRF).

U moet Web Application Firewall in Azure Front Door gebruiken om gecentraliseerde beveiliging voor uw webtoepassingen te krijgen. Azure Front Door is een netwerk voor contentlevering waarmee gebruikers over de hele wereld snel, betrouwbaar en veilig toegang hebben tot statische en dynamische webinhoud van uw toepassingen. Het implementeren van Web Application Firewall in Azure Front Door helpt uw webservices te beschermen tegen veelvoorkomende aanvallen en beveiligingsproblemen.

Ongebruikte invoegtoepassingen en thema's verwijderen

U moet ongebruikte invoegtoepassingen en thema's verwijderen uit uw WordPress-installatie. Deze stap is belangrijk om uw WordPress-website veilig te houden en de prestaties ervan te optimaliseren. Zelfs een invoegtoepassing of een thema dat u niet actief gebruikt, kan een beveiligingsrisico vormen door een toegangspunt te bieden voor hackers om misbruik te maken van beveiligingsproblemen in verouderde of niet-beheerde code. Als er veel invoegtoepassingen en thema's op uw website zijn geïnstalleerd, kunnen de prestaties worden vertraagd door de laadtijd en het resourcegebruik van de server te verhogen.

Statische inhoud offloaden buiten de PHP-processor

Als u de belasting van uw PHP-processor wilt verminderen, moet u statische inhoud, zoals afbeeldingen, video's en CSS-bestanden, offloaden. Het offloaden van statische inhoud helpt bij het optimaliseren van de prestaties van de website en het verminderen van de serverbelasting. Wanneer een gebruiker een website bezoekt, verwerkt de server PHP-code en genereert de HTML-inhoud dynamisch. Dit proces is resource-intensief. Statische inhoud wordt echter niet vaak gewijzigd, zodat u statische inhoud rechtstreeks vanuit een serverbestandssysteem of een netwerk voor contentlevering kunt leveren. Door deze assets te offloaden, kunt u de belasting van de CPU en het RAM-geheugen van uw server verminderen. Deze configuratie resulteert in snellere laadtijden van pagina's, verbeterde websiteprestaties en een betere gebruikerservaring.

Er zijn ook andere voordelen voor het leveren van statische resources van een netwerkservice voor contentlevering, zoals Azure Front Door. Wanneer u bijvoorbeeld statische inhoud offload, kunt u latentie verminderen en de snelheid van de website verhogen door servers dicht bij de geografische locaties van gebruikers te plaatsen.

Notitie

Als u een oorsprong wilt beveiligen met Azure Front Door met behulp van een privé-eindpunt, moet u de Premium-SKU van Azure Front Door gebruiken. Zie Uw oorsprong beveiligen met Private Link voor meer informatie.

Ongeldige inhoudsleveringsnetwerkcache

Voor grote WordPress-installaties die gebruikmaken van een netwerk voor contentlevering, zoals Azure Front Door of Azure Content Delivery Network, moet u ongeldige cachelogica implementeren. Wanneer er een nieuwe gebeurtenis optreedt, moet u de cache in het netwerk voor contentlevering ongeldig maken voor de betreffende pagina. Voorbeelden van gebeurtenissen zijn het publiceren van een nieuw artikel, het bijwerken van een bestaande pagina en het toevoegen van een opmerking. De ongeldige logica moet alle URL's zoeken die van invloed zijn op de wijziging. De logica moet met name dynamisch gegenereerde pagina's, zoals categorieën en archieven, vinden en ongeldig maken in de netwerkcache voor contentlevering. Met enkele geïnstalleerde thema's en invoegtoepassingen kan zelfs een kleine wijziging van invloed zijn op elke pagina.

Een manier om detectielogica te implementeren, is door een invoegtoepassing te gebruiken waarmee handmatige triggering van cache-ongeldigheid voor alle URL's mogelijk is. Maar als u alle URL's in één keer ongeldig maakt, kan dit leiden tot pieken in het verkeer op uw WordPress-site.

Tweeledige verificatie inschakelen

Tweeledige verificatie verhoogt de beveiliging van uw installatie en beschermt uw beheerdersaccounts tegen onbevoegde toegang en aanvallen. Als u wilt profiteren van tweeledige verificatie, kunt u een invoegtoepassing gebruiken, zoals de miniOrange-verificatieinvoegtoepassing. Deze invoegtoepassing biedt u onder andere een manier om Microsoft Authenticator te configureren als een tweeledige verificatiemethode voor gebruikers die zich als beheerders aanmelden bij uw WordPress-site.

XML-RPC-toegang uitschakelen

XML-RPC is een extern protocol dat een manier biedt voor toepassingen van derden om te communiceren met de server van uw website. Dit protocol is echter ook een veelvoorkomend doelwit voor hackers, die het gebruiken om beveiligingsaanvallen te starten of beveiligingsproblemen in uw inhoudsbeheersysteem te misbruiken. Als u Azure Front Door gebruikt, kunt u XML-RPC uitschakelen door een regel voor weigeren in te stellen voor URL's met de indeling /xmlrpc.php.

Toegang tot het beheervenster beperken

Standaard is uw WordPress-beheervenster toegankelijk voor iedereen met uw accountreferenties en de juiste URL, die de indeling /wp-login.php heeft of /wp-admin. Als gevolg hiervan kunnen hackers en andere kwaadwillende actoren proberen om uw referenties te raden, een sessiekaping uitvoeren, beveiligingsaanvallen starten of beveiligingsproblemen in WordPress misbruiken om toegang te krijgen.

Web Application Firewall kan helpen sommige aanvallen te voorkomen, maar veel beheerders geven er de voorkeur aan om de toegang tot het WordPress-beheervenster op netwerkniveau te beperken.

U kunt bijvoorbeeld de toegang tot privé-URL's in Azure Front Door blokkeren. Vervolgens kunt u Azure-toepassing Gateway gebruiken om interne toegang te bieden vanuit een particulier netwerk dat gebruikmaakt van een hub-and-spoke-topologie. Interne exemplaren van Application Gateway ondersteunen Web Application Firewall-regels en Azure Front Door-regels. Deze regels helpen uw WordPress-installatie te beschermen tegen interne aanvallen. Als u het risico van een interne aanval kunt tolereren, kunt u een intern exemplaar van Azure Load Balancer gebruiken in plaats van Application Gateway. Load Balancer werkt op laag vier van het OSI-model (Open Systems Interconnect).

Architectuurdiagram met geblokkeerde openbare toegang tot een WordPress-beheervenster. Een VPN in een hub-and-spoke-topologie biedt interne toegang.

Een Visio-bestand van deze architectuur downloaden.

Voor bepaalde WordPress-invoegtoepassingen zijn URL's met de indeling /wp-admin/admin-ajax.php openbaar toegankelijk en verwijderd uit deze regel voor weigeren.

Geheimen opslaan in Azure Key Vault

Om de beveiliging van WordPress-implementaties in Azure te waarborgen, raden we u aan geheimen, zoals databasewachtwoorden en TLS- of SSL-certificaten, op te slaan in Key Vault. Deze cloudservice biedt veilige opslag en beheer van cryptografische sleutels, certificaten en geheimen.

Key Vault helpt uw geautoriseerde toepassingen en services om veilig toegang te krijgen tot geheimen. U hoeft ze niet op te slaan in tekst zonder opmaak in de WordPress-containerinstallatiekopieën of in de toepassingscode.

Prestaties afstemmen

Om de prestaties van WordPress te optimaliseren, moet u verschillende instellingen afstemmen en invoegtoepassingen gebruiken. De volgende invoegtoepassingen kunnen handig zijn voor het opsporen van fouten in WordPress-installaties:

  • Query Monitor biedt een uitsplitsing van de tijd die wordt besteed aan elke SQL-query en andere acties. Voorbeelden hiervan zijn PHP-fouten, hooks en acties, blokeditorblokken, enqueued scripts en stylesheets en HTTP-API-aanroepen.

  • Laps is een invoegtoepassing met prestatie-informatie over het laden van WordPress-pagina's. Door een visueel overzicht te bieden dat eenvoudig te inspecteren is, worden gebeurtenissen zoals PHP-uitvoering, kernprocessen, invoegtoepassingsbelastingen, themabelastingen, hoofdpostlussen, zijbalken, databasequery's en netwerkaanvragen automatisch bijgehouden. Deze uitsplitsing laat zien hoe de tijd wordt besteed aan het laden van WordPress-pagina's.

Hosting uitdagingen van WordPress

Met de WordPress-toepassingsarchitectuur zijn er verschillende hostinguitdagingen, waaronder:

  • Schaalbaarheid. Een hostingarchitectuur moet kunnen worden uitgeschaald tijdens piekperioden van verkeer.
  • ReadWriteMany-opslag (RWX). Standaard slaat WordPress alle statische assets, invoegtoepassingen en themabroncode op in de /wp-content/ map. Tijdens een uitschaal moeten alle knooppunten kunnen lezen van en schrijven naar die map.
  • De invoer-/uitvoerbewerkingen per seconde (IOPS) opslagklasse. WordPress bestaat uit meer dan 1000 kleine .php bestanden die de PHP-processor verwijst, laadt en uitvoert tijdens binnenkomende aanvragen. Met sommige protocollen kan het laden van talloze kleine bestanden de overhead verhogen. De algehele prestaties zijn dan langzamer dan het laden van één bestand met dezelfde totale grootte. Als gevolg hiervan moet de opslagoplossing ondersteuning bieden voor hoge IOPS.
  • Ongeldige cache. Wanneer er nieuwe activiteit in de toepassing is, bijvoorbeeld wanneer u een nieuw artikel publiceert, moet u de cache op alle knooppunten ongeldig maken.
  • De tijd om de cache te bouwen. Voor de eerste gebruiker van een bepaald knooppunt kan de reactietijd traag zijn totdat de cache is gebouwd.

WordPress-hostingopties in Azure

WordPress kan worden uitgevoerd op App Service, Azure Kubernetes Service (AKS) en Azure Virtual Machines. De grootte van de installatie is een belangrijke factor in de host die u selecteert. Voor kleine tot middelgrote installaties is App Service een rendabele optie. Voor grotere installaties moet u echter rekening houden met AKS- of VM-hosting.

WordPress in App Service

Microsoft biedt een volledig beheerde oplossing voor het uitvoeren van WordPress op App Service op Linux VM's. Zie Een WordPress-site maken voor gedetailleerde informatie. Deze oplossing:

  • Is ontworpen om u snel en eenvoudig te helpen een WordPress-installatie te implementeren.
  • Is ideaal voor kleine tot middelgrote WordPress installaties.
  • Biedt de schaalbaarheid, betrouwbaarheid en beveiliging van het Azure-platform zonder dat er complexe configuratie of beheer nodig is.
  • Voert automatische updates, back-ups en bewaking uit om ervoor te zorgen dat uw site altijd beschikbaar is.

Zie WordPress op App Service voor meer informatie.

Opslagintensieve workloads

Grote WordPress-installaties kunnen opslagintensief zijn. In deze scenario's moet u een opslagoplossing met een hoge IOPS-klasse en lage latentie gebruiken. We raden Azure NetApp Files aan. Azure NetApp Files kan opslagintensieve WordPress-implementaties ondersteunen. Het biedt ook extra functies zoals gegevensbeveiliging, back-up en herstel, replicatie tussen regio's en herstel na noodgevallen.

Voor een containerimplementatie van WordPress moet u AKS gebruiken. Implementeer met Azure NetApp Files opslag via een CSI-stuurprogramma (Kubernetes Container Storage Interface). Azure NetApp Files biedt een ReadWriteMany modus, zodat alle knooppunten naar dezelfde opslag kunnen lezen en schrijven. Zie de AKS WordPress-architectuur voor meer informatie.

Voor een grote WordPress-installatie die wordt uitgevoerd op VM's, moet u Azure NetApp Files koppelen via het NFS-protocol (Network File System). Zie WordPress op virtuele machines voor meer informatie.

Onveranderbare WordPress-container

Een alternatieve benadering van traditionele hostingmethoden is het implementeren van WordPress in een onveranderbare container. Deze aanpak heeft voor- en nadelen. De broncode en alle resources in onveranderbare containers zijn opgelost en kunnen niet worden gewijzigd na de implementatie. U moet alle wijzigingen aanbrengen, inclusief nieuwe invoegtoepassingsinstallaties of WordPress-kernupdates, in een nieuwe versie van de containerinstallatiekopieën. Hoewel deze aanpak zorgt voor consistentie en het terugdraaien vereenvoudigt, moet u een implementatiepijplijn bouwen om wijzigingen aan te brengen. Onveranderbare containers kunnen ook worden beperkt in de permanente opslagopties die ze bieden. Mogelijk moet u een oplossing ontwikkelen voor het verwerken van mediabestanden en andere gegevens. Ondanks deze beperkingen bieden onveranderbare containerimplementaties voordelen in termen van beveiliging, schaalbaarheid en draagbaarheid.

U kunt een onveranderbare, containerversie van WordPress implementeren op verschillende platforms, waaronder Azure Container Apps, AKS en App Service met een aangepaste containerinstallatiekopieën. U kunt de containerinstallatiekopie hosten in Azure Container Registry.

Medewerkers

Dit artikel wordt onderhouden door Microsoft. De tekst is oorspronkelijk geschreven door de volgende Inzenders.

Hoofdauteur:

Andere Inzenders:

  • Adrian Calinescu | Senior Cloud Solution Architect

Als u niet-openbare LinkedIn-profielen wilt zien, meldt u zich aan bij LinkedIn.

Volgende stappen

Productdocumentatie:

Trainingsmodules: