HTTP Headers toevoegen aan mijn/een WordPress-site

  CMS, Handleidingen

Inleiding

In dit artikel gaan wij u stap voor stap uitleggen hoe u uw WordPress-site meer kan beveiligen en aanvallen kan beperken en zelfs voorkomen.

We hebben in dit artikel een test WordPress-site gemaakt om u zo goed mogelijk uit te leggen hoe u dit plug-in kunt instellen in de backend van uw website/webwinkel.

HTTP Headers: Wat is zo belangrijk om http headers toe te voegen aan mijn website?

Het is belangrijk om HTTP (Security) headers toe te passen aan uw WordPress-site. Het voegt een extra beschermingslaag tegen kwaadwillenden (hackers). Lees meer ons artikel.

Belangrijk: maak eerst een back-up van uw WordPress-site

Wij raden u aan om eerst handmatig back-up te maken van uw website. Voor onze klanten: weet u niet hoe u handmatig een back-up kunt maken? Lees dit artikel: Handmatig back-ups maken met DirectAdmin

Bent u geen klant bij ons en gebruikt u geen DirectAdmin? Informeer bij uw eigen hostingprovider.

Let op, om gebruik te maken van HTTP Security Headers moet er een SSL certificaat geforceerd zijn op uw WordPress-site.

Inloggen in de backend van uw WordPress-site

U vult uw gebruikersnaam of emailadres in en vervolgens het bijbehorende wachtwoord.

Werkt uw gebruikersnaam met bijbehorende wachtwoord niet meer? Lees dit kb-artikel: Gebruikersnaam of wachtwoord werken niet meer [WordPress]

Uw dashboard van WordPress-site

Links van uw scherm gaat u naar “Plugins” en drukt daarop. Dan komt u uit op de WordPress Plugin Repository.

WordPress Plugin Repository: plugin downloaden en installeren

Rechtsbovenin ziet u het zoekveld TrefwoordPlugins zoeken” typt u het volgende in het zoekveld: ‘HTTP headers‘ en binnen enkele minuten komt zoekresultaten te voorschijn.

Plugin gevonden: HTTP Header downloaden en vervolgens activeren

(In ons voorbeeld is de plug-in al actief)

Druk op Nu Installeren

Druk op Activeren. HTTP Headers plugin wordt vervolgens geïnstalleerd. Even geduld.

Dan gaat u in de dashboard van uw WordPress-site naar “Instellingen” en vervolgens klikt u op: HTTP Headers. U ziet dan het volgende scherm.

Dashboard: HTTP Headers onderdelen headoverview

U ziet knoppen met onderdelen om in te stellen van HTTP Headers. U klikt vervolgens op ‘Security‘-onderdeel en dan ziet u het volgende scherm.

HTTP Headers -> Security Setup.

We gaan alle onderdelen langslopen en instellen. Op dit moment staat alles op ‘off‘. Bij elk onderdeel klikt u op ‘edit‘ om elk http headers aan te passen.

HTTP Headers -> Security set-up (1): X-Frame-Options

In X-Frame-Options stelt u het volgende in:

Zet deze optie op ‘On‘ en vervolgens kiest u ‘SAMEORIGIN‘. Vervolgens drukt u op ‘Wijzigingen opslaan‘ om de instellingen op te slaan. Vervolgens gaat u terug naar ‘security’. Vanuit hier gaat u naar de volgend onderdeel van HTTP Headers | Security. 

HTTP Headers -> Security set-up (2): X-XSS-Protection

In X-XSS-Protection stelt u het volgende in:

Zet deze optie op ‘On‘ en vervolgens kiest u op ‘1; mode=block‘. Vervolgens drukt u op ‘Wijzigingen opslaan‘ om de instellingen op te slaan. Vervolgens gaat u terug naar ‘security‘. Vanuit hier gaat u naar de volgend onderdeel van HTTP Headers | Security.

HTTP Headers -> Security set-up (3): X-Content-Type-Options

In X-Content-Type-Options stelt u het volgende in:

Zet deze optie op ‘On‘ en vervolgens kiest u op ‘nosniff‘. Vervolgens drukt u op ‘Wijzigingen opslaan‘ om de instellingen op te slaan. Vervolgens gaat u terug naar ‘security‘. Vanuit hier gaat u naar de volgend onderdeel van HTTP Headers | Security.

HTTP Headers -> Security set-up (4): Strict-Transport-Security

In Strict-Transport-Security stelt u het volgende in:

Zet deze optie op ‘On‘ en vervolgens kiest u op ‘1 year‘ en vervolgens vinkt u ‘IncludeSubDomains‘ aan. Vervolgens drukt u op ‘Wijzigingen opslaan‘ om de instellingen op te slaan. Vervolgens gaat u terug naar ‘security‘. Vanuit hier gaat u naar de volgend onderdeel van HTTP Headers | Security.

HTTP Headers -> Security set-up (5): Public-Key-Pins

In Public-Key-Pins stelt u het volgende in:

Zet deze optie op ‘On‘ en vervolgens kiest u op ‘1 year‘ en vervolgens vinkt u ‘IncludeSubDomains‘ en ook ‘Report Only’ aan. Vervolgens drukt u op ‘Wijzigingen opslaan‘ om de instellingen op te slaan. Vervolgens gaat u terug naar ‘security‘. Vanuit hier gaat u naar de volgend onderdeel van HTTP Headers | Security.

HTTP Headers -> Security set-up (6): Referrer-Policy

In Referrer-Policy stelt u het volgende in:

Zet deze optie op ‘On‘ en vervolgens kiest u op ‘no-referrer‘ of ‘no-referrer-when-downgrade‘. Vervolgens drukt u op ‘Wijzigingen opslaan‘ om de instellingen op te slaan. Vervolgens gaat u terug naar ‘security‘. Vanuit hier gaat u naar de volgend onderdeel van HTTP Headers | Security.

HTTP Headers -> Security set-up (6): Content-Security-Policy

In Content-Security-Policy stelt u het volgende in:

Vink ‘On‘ en ‘Report-Only‘ aan en vervolgens vink de volgende willekeurig aan in de basis-setup aan de rechterkant:

default-src 'none'; script-src 'self'; connect-src 'self'; img-src 'self'; style-src 'self';

Vervolgens drukt u op ‘Wijzigingen opslaan‘ om de instellingen op te slaan. Vervolgens gaat u terug naar ‘security‘. Vanuit hier gaat u naar de volgend onderdeel van HTTP Headers | Security. In het hoofdoverzicht van alle HTTP Security Headers ziet u het volgende:

 

Opmerking: we hebben het Content-Security-Policy een basis set-up gegeven (zie het bovenstaande voorbeeld), omdat deze ingewikkelder zijn in te stellen en uw site zou niet goed meer kunnen werken. Maar deze zijn voldoende om uw WordPress-beveiliging te verharden.

HTTP Headers -> Security set-up (7): Cookie security

In Cookie Security stelt u het volgende in:

Zet deze optie op ‘On‘ en vervolgens kiest u op ‘Secure‘. Vervolgens drukt u op ‘Wijzigingen opslaan‘ om de instellingen op te slaan. Vervolgens gaat u terug naar ‘security‘. Vanuit hier gaat u naar de volgend onderdeel van HTTP Headers | Security.

HTTP Headers -> Security set-up (8): Expect CT

In Expect CT stelt u het volgende in:

Zet deze optie op ‘On‘ en vervolgens kiest u bij max-age: ‘1 year‘ en vinkt u ‘enforce‘ aan. Vervolgens drukt u op ‘Wijzigingen opslaan‘ om de instellingen op te slaan. Vervolgens gaat u terug naar ‘security‘. Vanuit hier gaat u naar de volgend onderdeel van HTTP Headers | Security.

HTTP Headers -> Security set-up (9): X-DNS-Prefetch-Control

In X-DNS-Prefetch-Control stelt u het volgende in:

Zet deze optie op ‘On‘ en vervolgens kiest u weer op ‘on‘. Vervolgens drukt u op ‘Wijzigingen opslaan‘ om de instellingen op te slaan. Vervolgens gaat u terug naar ‘security‘. Vanuit hier gaat u naar de volgend onderdeel van HTTP Headers | Security.

HTTP Headers -> Security set-up (10): X-Download-Options

In X-Download-Options stelt u het volgende in:

Zet deze optie op ‘On‘ en vervolgens kiest u weer op ‘noopen‘. Vervolgens drukt u op ‘Wijzigingen opslaan‘ om de instellingen op te slaan. Vervolgens gaat u terug naar ‘security‘. Vanuit hier gaat u naar de volgend onderdeel van HTTP Headers | Security.

HTTP Headers -> Security set-up (11): X-Permitted-Cross-Domain-Policies

In X-Permitted-Cross-Domain-Policies stelt u het volgende in:

Zet deze optie op ‘On‘ en vervolgens kiest u weer op ‘all‘. Vervolgens drukt u op ‘Wijzigingen opslaan‘ om de instellingen op te slaan. Vervolgens gaat u terug naar ‘security‘. Vanuit hier gaat u naar de volgend onderdeel van HTTP Headers | Security.

U slaat Report-To over.

HTTP Headers -> Security set-up (12): Feature-Policy

(Feature-Policy) Resultaat alles op ‘self’.

In Feature-Policy stelt u het volgende in:

Zet deze optie op ‘On‘ en vervolgens zet u alles op ‘self‘ (zoals boven aangegeven) of een ander optie is stel alles op ‘none‘. Vervolgens drukt u op ‘Wijzigingen opslaan‘ om de instellingen op te slaan. Vervolgens gaat u terug naar ‘security‘. Vanuit hier gaat u naar de volgend onderdeel van HTTP Headers | Security.

HTTP Headers -> Security set-up (13): Clear-Site-Data

In Clear-Site-Data stelt u het volgende in:

Zet deze optie op ‘On‘ en en vink vervolgens alles aan. Vervolgens drukt u op ‘Wijzigingen opslaan‘ om de instellingen op te slaan. Vervolgens gaat u terug naar ‘security‘. Vanuit hier gaat u naar de volgend onderdeel van HTTP Headers | Security.

HTTP Headers -> Security set-up (14): Alle onderdelen staan op groen/one.

Als u alle HTTP Security Headers heeft doorlopen, dan staat alles op groen/on en u bent klaar instellen in de Security kader.

HTTP Security controleren (15): Externe website

Ga vervolgens op https://www.securityheaders.com en typ het volledige adres van uw website (https://www.mijnwebsite.nl) en zorg dat u de volgende opties aanvinkt: Hide results en Follow redirects. Zie het onderstaande screenshot:

HTTP Security controleren (16): Externe website – resultaat

Op de website van securityheaders.com ziet u de resultaten van de http security headers. Een voorbeeld van zo’n resultaat ziet u onder hier:

We hebben het Content-Security-Policy een basis set-up gegeven (zie het bovenstaande voorbeeld), omdat Content-Security-Policy ingewikkelder zijn in te stellen en uw WordPress-site zou niet goed meer (kunnen) werken. Maar deze basis set-up die wij hebben doorgevoerd is voldoende om uw WordPress-beveiliging te verharden.

Extra ondersteuning nodig?

Komt u nog steeds niet uit? U kunt gebruik maken van onze additionele dienst Website Beheer & Ondersteuning, kijkt u hier voor meer informatie op onze website. Wij helpen u graag met het instellen van deze plug-in.