Je hebt al infrastructuurbescherming op zakelijk niveau dankzij Kinsta’s eigen beveiligingsfeatures via geïsoleerde containers, een Cloudflare Enterprise WAF, SOC 2 Type II compliance en verplichte MyKinsta Two-Factor Authentication (2FA).

De beveiliging van de infrastructuur vormt echter maar de helft van het werk. Ook solide WordPress beveiligingsworkflows zijn nodig om de geraffineerde aanvallen te stoppen die zich rechtstreeks op het platform richten om kwetsbaarheden in de plugin uit te buiten en je gegevens buit te maken.

Deze handleiding laat zien hoe je de beveiligingsworkflows kunt bouwen die gebruik maken van de eigen mogelijkheden van Kinsta en tegelijkertijd een aantal essentiële beschermingen op WordPress niveau kunt implementeren.

Twee-factor authenticatie (2FA) voor beheerders, klanten en medewerkers

Kinsta verplicht 2FA voor toegang tot MyKinsta — een belangrijke stap in het beveiligen van je hostinginfrastructuur. Dit beschermt serverconfiguraties, facturering, deploymenttools en alles wat je gebruikt om je servers en sites te beheren.

Het MyKinsta-dashboard met het Authenticator-paneel binnen de gebruikersinstellingen. Er zijn ook panelen voor het verbinden met Git en voor SSH-sleutels.
Het Authenticator paneel binnen het MyKinsta dashboard.

WordPress werkt echter onafhankelijk. Aanvallers die zich bijvoorbeeld richten op wp-login.php, omzeilen MyKinsta volledig. Zelfs als de Kinsta-infrastructuur wordt afgesloten, geven geldige WordPress-inloggegevens nog steeds directe toegang tot de site, zonder extra verificatie.

Het onderscheid is cruciaal: MyKinsta 2FA beschermt de toegang tot je hostingaccount (zoals SSH, staging, back-ups en meer), terwijl WordPress 2FA alle toegang tot het contentmanagementgedeelte van je site beveiligt. Je hebt dus beide lagen nodig om je volledige site te beschermen.

WordPress 2FA gebruiken naast de infrastructuurbescherming van Kinsta

Het gebruik van een plugin om 2FA aan je website toe te voegen is vrijwel onmisbaar. Er zijn verschillende betrouwbare opties beschikbaar van enkele van de toonaangevende WordPress-ontwikkelaars. Een populaire keuze is Two-Factor, ontwikkeld door het WordPress.org team.

De headerafbeelding van de Two-Factor-plugin van WordPress.org, met een close-up van een grijswaarden-sleutel op een lichtgrijze achtergrond.
Het Two-Factor plugin logo.

Het is een eenvoudige oplossing die Time-Based One-Time Passwords (TOTP), FIDO Universal 2nd Factor (U2F), e-mailcodes en zelfs een dummy-setup voor testdoeleinden biedt. Bovendien zijn er tal van actions en filters beschikbaar voor diepere integratie.

Voor andere opties heb je een groot aantal oplossingen:

  • Je kunt de WP 2FA-plugin van Melapress configureren om 2FA af te dwingen voor alle gebruikersrollen, terwijl je tijdelijke vrijstellingen aanbiedt voor onboarding. De plugin ondersteunt TOTP-apps (zoals Google Authenticator en Authy), e-mailcodes en backupmethoden. Met de premium features kan je ook vertrouwde apparaten en white labeling toevoegen.
  • Wordfence Login Security is een spin-off van de hoofdplugin en biedt zelfstandige authenticatie zonder de volledige beveiligingssuite. Het onthoudt apparaten gedurende 30 dagen en bevat reCAPTCHA v3. De plugin werkt ook met aangepaste aanmeldpagina’s en XML-RPC, wat cruciaal is voor mobiele apps en publiceren op afstand.
  • De miniOrange SSO-plugin is ideaal voor bedrijfsomgevingen, omdat deze WordPress koppelt aan identiteitsproviders zoals Azure AD, Google Workspace en Okta. Directorygroepen worden automatisch gekoppeld aan WordPress-rollen, zodat marketing Editor-toegang krijgt, support Contributor-rechten, enzovoort.

Bovendien zijn deze plugins allemaal gratis en snel in te stellen.

Real-time waarschuwingen instellen met webhooks en monitoring

Kinsta biedt infrastructuurmonitoring als kerndienst: uptime-controles om de drie minuten vanuit tien wereldwijde locaties, detectie van prestatieafwijkingen en e-mailmeldingen bij uitval. Er is ook het Activity Log dat alle administratieve acties bijhoudt met tijdstempels en gebruikersattributie.

Toch hebben gebeurtenissen op WordPress niveau extra monitoring en logging nodig als aanvulling op Kinsta’s toezicht op de infrastructuur.

De headerafbeelding van de WP Activity Log-plugin van WordPress.org.
De headerafbeelding van WP Activity Log plugin van WordPress.org.

Melapress biedt hier een uitstekende oplossing met WP Activity Log. Het legt WordPress-specifieke gebeurtenissen vast met minimale invloed op de prestaties van de geoptimaliseerde omgeving van Kinsta.

Met de plugin kun je waarschuwingen instellen voor kritieke beveiligingsgebeurtenissen, zoals het aanmaken van nieuwe gebruikers, mislukte aanmeldpogingen, installaties van plugins of thema’s en zelfs wijzigingen in kernbestanden.

Met behulp van webhooks kun je zelfs waarschuwingen koppelen aan de workflow tools van je team. Als je bijvoorbeeld een Slack inkomende webhook maakt, kun je vervolgens WP Activity Log configureren om gestructureerde meldingen te versturen:

{
  "event_type": "user_privilege_escalation",
  "severity": "critical",
  "user_affected": "[email protected]",
  "role_change": "editor_to_administrator",
  "timestamp": "2025-08-10T14:30:00Z",
  "site": "client-production.kinsta.cloud"
}

De payload identificeert de gebruiker die de actie uitvoert, zodat je deze snel kunt beoordelen en erop kunt reageren. Daarnaast kun je andere tools implementeren die je helpen bij het monitoren van de beveiliging:

  • MainWP verzamelt beveiligingsgebeurtenissen over je hele portfolio, zodat je het op een speciale Kinsta site kunt implementeren om al je sites te monitoren. De Activity Log-extensie stuurt gebeurtenissen door naar SIEM-platforms voor beveiligingsoperaties binnen de onderneming.
  • Patchstack biedt monitoring van kwetsbaarheden met realtime waarschuwingen. Wanneer kwetsbaarheden invloed hebben op je sites, ontvang je onmiddellijk een melding met richtlijnen voor herstel. Het testen van patches is een geweldige use case voor Kinsta’s testomgevingen voordat ze in productie gaan.

Begin bij het configureren van logboekretentie met 30 dagen voor GDPR, 90 dagen voor PCI DSS en een jaar voor HIPAA. Voor langdurige retentie is het ook een goed idee om logs te exporteren naar Google Cloud Storage.

WP-CLI en Kinsta gebruiken om je beveiliging te controleren

Elke Kinsta omgeving bevat WP-CLI voorgeïnstalleerd en toegankelijk via SSH. Dit maakt snelle beveiligingsaudits en noodmaatregelen mogelijk, die anders uren zouden duren via andere interfaces.

De WordPress Developer Resources voor WP-CLI kunnen je helpen bij het opzetten van systematische audits door gebruik te maken van specifieke commando’s. Het wp user list commando filtert bijvoorbeeld op rol, terwijl database queries tijdelijke patronen vinden:

#!/bin/bash
# Monthly user security audit
echo "=== Administrator Accounts ==="
wp user list --role=administrator --fields=ID,user_login,user_email --format=table
echo "=== Recently Created Users ==="
wp db query "SELECT user_login, user_registered FROM wp_users 
WHERE user_registered > DATE_SUB(NOW(), INTERVAL 30 DAY)"

Het script identificeert beveiligingsrisico’s in je gebruikersbestand, zoals onbevoegde beheeraccounts en verdachte patronen in het aanmaken van gebruikers.

Met het commando wp core verify-checksums kun je WordPress core bestanden controleren met officiële checksums. Dit detecteert ongeautoriseerde wijzigingen die kunnen wijzen op een compromittering:

#!/bin/bash
# Daily integrity check
core_check=$(wp core verify-checksums 2>&1)
if echo "$core_check" | grep -v "Success"; then
  echo "Alert: Core files modified"
  # Send notification to team
fi

Wanneer er echter in zeldzame gevallen toch een compromis optreedt, kun je een lockdown script implementeren om bedreigingen te neutraliseren en tegelijkertijd het bewijs te bewaren:

#!/bin/bash
# Emergency lockdown script

# Step 1: Preserve evidence
echo "Creating forensic backup..."
wp db export emergency_backup.sql
tar czf site_snapshot.tar.gz ~/public

# Step 2: Block public access
echo "Enabling maintenance mode..."
wp maintenance-mode activate

# Step 3: Revoke admin privileges
echo "Removing administrative access..."
wp user list --role=administrator --field=ID | while read userid;
do
  wp user set-role $userid subscriber
  echo "Revoked admin: User ID $userid"
done

# Step 4: Force re-authentication
echo "Invalidating all sessions..."
wp config shuffle-salts

Elke stap dient een specifiek doel: het bewaart bewijs van de inbreuk voor onderzoek, voorkomt toegang om verdere schade te voorkomen, trekt privileges in om de bedreiging te neutraliseren en maakt de sessie ongeldig om herauthenticatie te forceren.

Multisite overzicht met MyKinsta en externe dashboards

Voor het beheren van tientallen WordPress sites moet je vaak de infrastructuurcontroles van MyKinsta combineren met WordPress beheerplatforms. MyKinsta biedt bulkacties zoals updates, backups en het wissen van de cache voor je hele portfolio (ondersteund door het activiteitenlogboek).

De MyKinsta-dashboardinterface met het plug-inupdatescherm voor meerdere sites. Sommige plugins hebben uitgevouwen menu’s die de status van die plugin op elke site weergeven.
MyKinsta’s bulkacties.

De native functionaliteit van Kinsta zal centraal staan in je beveiligingsfundamenten:

  • Bulkacties voor gelijktijdige operaties op verschillende sites.
  • Activiteitlogging voor uitgebreide audit-trails.
  • Custom labels voor het organiseren van sites per klant of beveiligingsniveau.
  • API toegang voor programmatische controle.

Je kunt dit ook uitbreiden met andere WordPress beheerplatforms:

  • MainWP kan je meer bieden dan alleen logboekfunctionaliteit. Het kan draaien op je Kinsta pakket en je helpen je portfolio te beheren als ‘child’-sites. De tool scant op kwetsbaarheden, beheert gecentraliseerde plugins, monitort de integriteit van bestanden, versterkt de beveiliging in bulk en biedt nog meer mogelijkheden.
  • ManageWP werkt als een Software as a Service (SaaS) oplossing voor WordPress Multisite en maakt verbinding via een Worker plugin. Het premium aanbod voegt realtime scannen en white-label rapportage toe.

Je zou zelfs kunnen overwegen om de Kinsta API te gebruiken om custom beveiligingsdashboards te bouwen. Hier is een eenvoudige en eenvoudige manier om te beginnen:

// Kinsta API security monitoring
async function checkSitesSecurity() {
  const response = await fetch('https://api.kinsta.com/v2/sites', {
    headers: {
      'Authorization': `Bearer ${process.env.KINSTA_API_KEY}`
    }
  });

  const sites = await response.json();

  // Check each site's security status
  return sites.map(site => ({
    name: site.name,
    ssl_active: site.ssl?.status === 'active',
    php_current: parseFloat(site.php_version) >= 8.0,
    backup_recent: site.backups?.[0]?.created_at > Date.now() - 86400000
  }));
}

Wanneer je dit implementeert, moet je er echter voor zorgen dat je let op belangrijke beveiligingsindicatoren voor de infrastructuur: het controleren van SSL statussen, PHP versies en de frequentie van backups.

Transparante beveiliging voor de klant ontwikkelen

Wat je ook implementeert, klanten willen en hebben bewijs nodig dat hun investering bescherming geeft. Als je een transparant beleid voert met betrekking tot je beveiliging, schep je vertrouwen en rechtvaardig je de onderhoudscontracten die je hebt afgesloten.

De structuur en presentatie van je rapporten bepaal je zelf. Zorg er echter voor dat je analyses en statistieken opneemt om de beveiliging van zowel de infrastructuur als de applicaties aan te tonen. Je kunt bijvoorbeeld infrastructuurgegevens van Kinsta leveren:

  • Uptime-percentage en incidentgeschiedenis.
  • DDoS pogingen geblokkeerd door Cloudflare.
  • SSL certificaatstatus en vernieuwingsdatums.
  • Backup succespercentages en beschikbaarheid.
  • PHP versie en beveiligingspatches.

Vanuit WordPress kun je je statistieken opvragen:

  • Het aantal geblokkeerde mislukte inlogpogingen.
  • Kwetsbaarheden die je hebt ontdekt en gepatcht.
  • Het bijhouden van wijzigingen in gebruikersrechten.
  • Resultaten van verificatie van bestandsintegriteit.
  • Resultaten van beveiligingsscans.

Afhankelijk van het rapport dat je nodig hebt, kan het ook nuttig zijn om bedrijfsgegevens op te nemen. Het kan bijvoorbeeld een lijst zijn van de inkomsten die je hebt beschermd tijdens aanvallen, hoe je de compliance hebt gehandhaafd, de beschikbaarheid van de site en nog veel meer.

Sommige klanten hebben behoefte aan real-time inzicht, wat eenvoudiger te implementeren kan zijn dan je denkt. Met behulp van het WordPress rollen- en bevoegdhedensysteem kun je bijvoorbeeld protocollen maken voor beperking van toegang:

/**
 * Create client security viewer role
 * Based on WordPress Roles and Capabilities documentation
 */

function create_security_viewer_role() {
    remove_role('security_viewer');
    add_role('security_viewer', 'Security Viewer', array(
        'read' => true,
        'view_security_reports' => true,
        'view_activity_logs' => true
    ));
}

add_action('init', 'create_security_viewer_role');

/**
 * Restrict viewer access to sensitive areas
 */

function restrict_viewer_access() {
    $user = wp_get_current_user();

    if (in_array('security_viewer', $user->roles)) {
        $restricted = array('plugins.php', 'themes.php', 'users.php');
        $current = basename($_SERVER['SCRIPT_NAME']);

        if (in_array($current, $restricted)) {
            wp_redirect(admin_url('index.php'));
            exit;
        }
    }
}

add_action('admin_init', 'restrict_viewer_access');

Het eindresultaat van deze implementatie creëert een Viewer rol met beperkte mogelijkheden. Dit stelt je in staat om realtime beveiligingsmonitoring te bieden aan klanten, terwijl kritische wijzigingen tijdens het browsen worden voorkomen.

Samenvatting

Voor het bouwen van effectieve WordPress beveiligingsworkflows op Kinsta zijn beschermingen nodig op zowel het niveau van de infrastructuur- als de applicatie.

Kinsta biedt de basis door zijn geïsoleerde containertechnologie, Cloudflare WAF, verplichte 2FA en monitoringfunctionaliteit. Voor workflows op WordPress niveau zijn aanvullende plugins nodig om de lege plekken in te vullen, maar een complete beveiligingsarchitectuur is meer dan mogelijk.

Sommige van deze tools integreren ook naadloos met de infrastructuur van Kinsta. Je kunt bijvoorbeeld WP-CLI op elke server hebben, API’s voor automatisering en bulkoperaties voor efficiëntie.

Als je klaar bent om zakelijke WordPress beveiligingsworkflows te bouwen, verken dan Kinsta’s managed WordPress hosting en ontdek hoe een goede infrastructuur beveiliging beheersbaar maakt op schaal.

Jeremy Holcombe Kinsta

Content & Marketing Editor bij Kinsta, WordPress Web Developer en Content Writer. Buiten alles wat met WordPress te maken heeft, geniet ik van het strand, golf en films. En verder heb ik last van alle problemen waar andere lange mensen ook tegenaan lopen ;).