HTTP Security Headers compleet
Geachte klanten van Vimexx, en zijn bezoekers.
In de aankomende periode per nieuwe topic, zal alles per onderdeel in korte simpele uitleg, u uitleggen hoe u uw HTTP Beveiliging Let's Encrypt SSL Certificaat moet gebruiken.
Let's Encrypt SSL Certificaat toevoegen aan de website is namelijk niet alles, om jouw bezoekers/klanten in een veilige omgeving gebruik maken van jouw diensten.
Let's Encrypt SSL Certificaat heeft dus veel meer nodig, om de werking ervan optimaal te gebruiken dat jouw website daadwerkelijk veilig beschouwd kan worden.
De volgende toepassingen HTTP Security Headers, komen allemaal in de .htaccess bestand te staan.
MAAK ALTIJD EERST EEN BACKUP VOORDAT JE BEZIG GAAT
Dit zijn de topic onderwerpen, die aan bod zullen komen;
*Expect-CT
*Access-Control-Allow-Origin
*Access-Control-Expose-Headers
*Access-Control-Allow-Methods
*Access-Control-Allow-Headers
*X-XSS-Protection
*X-Content-Type-Options
*X-Frame-Options
*Referrer-Policy
*Transfer-Encoding
*Feature-Policy
*Strict-Transport-SecurityExtra
Last-Modified
max-age
TEDNS CAA aanmaken in DirectAdmin
HSTS activeren in DirectAdminWaar komt alles in te staan??
- .htaccess bestand
Waar Komt bijvoorbeeld Expect-CT: "enforce, max-age=30" te staan?
- Het geheel komt allemaal tussen 1
<IfModule mod_headers.c>
Header bla bla bla bla
</IfModule>
Te staan
Alle Headers, kan je gewoon kopiëren en plakken in je .htaccess bestand. Ze zijn allemaal getest op werking, dus je zou hiermee een A+ website moeten verkrijgen.
De eerste topic zal gaan over DNS CAA aanmaken in DirectAdmin
Stap 1
DNS CAA aanmaken in DirectAdminmet de plaatjes kan makkelijk alle stappen gevolgd worden.
Laten we een DNS CAA aanmaken, klik op de link in je DirectAdmin "DNS Beheer"
Scrol geheel naar beneden, daar je je het volgende ziet staan zoals op het plaatje te zien zal zijn.
Stap 2
Voeg vervolgens aan de linkerzijde tekstvak het volgende in
Jouwdomeinnaam. MET EEN . (punt) aan het einde van je domeinnaam
Volgende stap aan de rechterzijde vul je het volgende in, en verander daar niet aan. Vul aan de rechterzijde het volgende in, verander daar natuurlijk naar jouw e-mail adres
0 iodef "mailto:abuse@jouwwebsitedomeinnaam.nl"
Voeg nu toe, dat wat je ingevuld hebt, dan is de eerste record aangemaakt.
Stap (3)
Een tweede DNS CAA aanmaken, wederom verander niets aan het gene wat hieronder staat vermeld. Je herhaald namelijk nu, wat je al eerder hebt uitgevoerd hebt bij het aanmaken van de eerste DNS CAA.
Vergeet de punt niet an de domeinnaam
Linker tekstvak
jouwdomeinnaam.
Rechter tekstvak
0 issuewild "letsencrypt.org"
Voeg nu toe, dat wat je ingevuld hebt, dan is de eerste record aangemaakt.tap (4)
Goed we gaan er nog 1 aanmaken voor de zekerheid een WILDCARD DNS CAA
linker tekstvlak
jouwdomeinnaam.
rechter tekstvlak
0 issuewild "letsencrypt.org"
NU MOET JE TESTEN OF JE HET GOED GEDAAN HEBT.
Hoe te gebruiken deze test, gewoon alleen dit erin typen: jouwdomeinnaam.nl (zie foto)De test kan je hier uitvoeren
Je zal per direct en enorme lijst te voorschijn komen, betekend dat je het goed gedaan hebt.
Tja er is nog iets dit is een optie:Bewaak uw domein (optioneel)
Zelfs als u een CAA-record publiceert, kan een niet-conforme certificeringsinstantie uw CAA-records negeren. Gebruik Cert Spotter om certificaattransparantielogboeken bij te houden, zodat u een e-mail ontvangt als dit gebeurt.
Kosten per maand zijn in dollars 15,95 = 13.97 EURO per maand voor 1 domeinnaam
Hier de link naar Cert Spotter
Of deze
Cert Spotter API-prijzen
1.000 zoekopdrachten
$ 0 / maand
1.000 single-hostname vragen / uur
100 vragen per domein / uur
75 vragen / minuut
5 vragen / seconde
Hier de link voor meer informatie en aanmelding
Je bent nu klaar met het toevoegen van de DNS CAA records
Activeren van HSTS in Direct admin
Login bij jouw DirectAdmin, en zoek de link op zoals op het plaatje is weergegeven "SSL certificaten" en klik daarop
Nu ben je in het volgende scherm gekomen, dan zie je aan de rechterzijde het volgende staan "Legacy SSL certificaten" klik daarop
Nu ben je beland dat waar jij jouw HSTS kunt benaderen, klik op die link
Nu dat jij dat hebt gedaan, ben je geheel klaar in DirectAdmin
HTTP Security Headers: Expect-CT header voor Certificate Transparency Richtlijnen Expect-CT header max-leeftijd
Volgende en laatste onderdeel, is het toevoegen van HTTP Security Headers in jouw .htaccess bestand
Geeft het aantal seconden aan na ontvangst van het veld Expect-CT header, waarbij de useragent de host moet beschouwen van wie het bericht is ontvangen als een bekende Expect-CT-host.
Als een cache een waarde ontvangt die groter is dan deze kan weergeven of als een van de daaropvolgende berekeningen overloopt, beschouwt de cache de waarde als 2147483648 (2^31) of het grootste positieve gehele getal dat deze handig kan vertegenwoordigen.
report-uri="<uri>" OptioneelSpecificeert de URI waarnaar de user-agent Expect-CT-fouten moet rapporteren.
Wanneer zowel de "enforce" als de rapport-uri-richtlijn aanwezig zijn, wordt de configuratie een "report-uri" -configuratie genoemd, waarbij aan de gebruikersagent zowel wordt gemeld dat naleving van het beleid inzake Certificate Transparency policy moet worden afgedwongen en dat schendingen moeten worden afgedwongen. worden gemeld.
enforce OptioneelSignalen aan de user-agent dat naleving van het Certificate Transparency policy moet worden afgedwongen (in plaats van alleen rapportage van naleving) en dat de user-agent toekomstige verbindingen moet weigeren die zijn beleid inzake Certificate Transparency policy schenden.
Wanneer zowel de enforce als de report-uri aanwezig zijn, wordt de configuratie een "enforce-and-report" -configuratie genoemd, waarbij aan de gebruikersagent zowel wordt gemeld dat naleving van het beleid inzake Certificate Transparency policy moet worden enforced en dat schendingen moeten worden afgedwongen. worden gemeld.
2 mogelijkheden om de header Expect-CT te gebruiken.In het volgende wordt de enforcement van report-uri voor 24 uur gespecificeerd en worden overtredingen gemeld aan foo.example/report, Plak dit hieronder in uw .htaccess bestand
Deze werkt net zo goed als de volgende, met 1 uitzondering. Met de "report" kunt u zich aanmelden bij Report-URI
<IfModule mod_headers.c> Header set Expect-CT: max-age=86400, enforce, report-uri="https://foo.example/report" </IfModule>In het volgende voorbeeld wordt de enforce van Certificate Transparency ook behouden en kunt u zo tussen uw eerder "<IfModule mod_headers.c>" en "</IfModule>" plakken van uw .htaccess bestand
Header set Expect-CT: "enforce, max-age=31536000"HTTP Header voor Strict-Transport-Security
De HTTP Strict-Transport-Security antwoordheader (vaak afgekort als HSTS) laat een website aan browsers vertellen dat deze alleen moet worden benaderd via HTTPS, in plaats van HTTP.
Richtlijnen Strict-Transport-Securitymax-age=<verlopen-time>
De tijd, in seconden, dat de browser moet onthouden dat een site alleen via HTTPS kan worden geopend.
includeSubDomains Optioneel
Als deze optionele parameter is opgegeven, is deze regel ook van toepassing op alle subdomeinen van de site.
preload Optioneel
Geen onderdeel van de specificatie.
Omschrijving Strict-Transport-SecurityAls een website een verbinding accepteert via HTTP en omleidingen naar HTTPS, kunnen bezoekers in eerste instantie communiceren met de niet gecodeerde versie van de site voordat ze worden omgeleid, bijvoorbeeld als de bezoeker http://www.foo.com/ of zelfs typt gewoon foo.com. Dit schept een kans voor een man-in-the-middle-aanval. De omleiding kan worden misbruikt om bezoekers naar een kwaadwillende site te leiden in plaats van naar de beveiligde versie van de oorspronkelijke site.
De HTTP Strict-Transport-Security-header informeert de browser dat deze een site nooit met HTTP mag laden en moet in plaats daarvan alle pogingen om toegang te krijgen tot de site automatisch omzetten met behulp van HTTP-naar-HTTPS-verzoeken.
Opmerking: de header Strict-Transport-Security wordt genegeerd door de browser wanneer uw site wordt geopend met HTTP; Dit komt omdat een aanvaller HTTP-verbindingen kan onderscheppen en de kop kan injecteren of verwijderen. Wanneer uw site via HTTPS wordt geopend zonder certificaatfouten, weet de browser dat uw site geschikt is voor HTTPS en voldoet het aan de Strict-Transport-Security-header.
Een voorbeeldscenario
U logt in op een gratis WiFi-toegangspunt op een luchthaven en begint met surfen op internet, bezoekt uw online bankservice om uw saldo te controleren en een paar rekeningen te betalen. Helaas is het toegangspunt dat u gebruikt eigenlijk een hackers-laptop en onderschept het uw oorspronkelijke HTTP-verzoek en wordt u doorverwezen naar een kloon van de site van uw bank in plaats van het echte werk. Nu worden uw privégegevens blootgesteld aan de hacker.
Strict-Transport-Security lost dit probleem op; zolang u de website van uw bank eenmaal gebruikt heeft via HTTPS, en de website van de bank Strict-Transport-Security gebruikt, weet uw browser automatisch alleen HTTPS te gebruiken, wat hackers verhindert om dit soort man-in-the-middle uit te voeren aanval.
Hoe de browser het afhandelt
De eerste keer dat uw site via HTTPS wordt geopend en de Strict-Transport-Security-header wordt geretourneerd, registreert de browser deze informatie, zodat toekomstige pogingen om de site met HTTP te laden automatisch HTTPS zullen gebruiken.
Wanneer de door de Strict-Transport-Security-header gespecificeerde vervaltijd verstrijkt, zal de volgende poging om de site via HTTP te laden normaal doorgaan in plaats van automatisch HTTPS te gebruiken.
Wanneer de header Strict-Transport-Security wordt afgeleverd bij de browser, wordt de vervaltijd voor die site bijgewerkt, zodat sites deze informatie kunnen vernieuwen en voorkomen dat de time-out vervalt. Als het nodig is om Strict-Transport-Security uit te schakelen, stelt u de max-age in op 0 (via een https-verbinding) en vervalt onmiddellijk de Strict-Transport-Security-header, die toegang via http mogelijk maakt.
Preloading Strict-Transport-Security
Google onderhoudt een HSL-preload-service. Door de richtlijnen te volgen en uw domein succesvol in te dienen, maken browsers nooit verbinding met uw domein via een onveilige verbinding. Hoewel de service wordt gehost door Google, hebben alle browsers aangegeven dat ze de preload lijst willen gebruiken (of daadwerkelijk gebruiken). Het maakt echter geen deel uit van de HSTS-specificatie en mag niet als officieel worden behandeld.
Informatie over de preloadlijst van HSTS in Chrome: https://www.chromium.org/hsts
Daadwerkelijke Header code Strict-Transport-Security
Alle huidige en toekomstige subdomeinen zijn HTTPS voor een maximale leeftijd van 1 jaar. Hiermee blokkeert u de toegang tot pagina's of subdomeinen die alleen via HTTP kunnen worden weergegeven.
Hieronder kunt u het geheel kopiëren en plakken in un .htaccess bestand
LET OP: Al hebt u al het volgende in uw .htaccess bestan staan, dan kunt u gewoon de onderste regel pakken
<IfModule mod_headers.c>
Header always set Strict-Transport-Security: "max-age=63072000; includeSubDomains; preload" env=HTTPS
</IfModule>Header always set Strict-Transport-Security: "max-age=63072000; includeSubDomains; preload" env=HTTPS
HTTP X-Frame-Options Clickjacking verdediging
Zinsbouw mogelijkheden
Header set X-Frame-Options: deny
Richtlijnen voor X-Frame-Options
Header setX-Frame-Options: sameorigin
Header setX-Frame-Options: "allow-from; https://example.com/"Als u deny opgeeft, mislukken niet alleen pogingen om de pagina in een frame te laden wanneer ze van andere sites worden geladen, maar pogingen om dit te doen mislukken wanneer ze vanaf sameorigin worden geladen. Aan de andere kant, als u sameorigin specificeert, kunt u de pagina nog steeds in een frame gebruiken zolang de site die deze in een frame bevat dezelfde is als degene die de pagina bedient.
deny
De pagina kan niet in een frame worden weergegeven, ongeacht de site die dit probeert.
sameorigin
De pagina kan alleen in een frame op de opgegeven origin worden weergegeven. Merk op dat dit in Firefox nog steeds hetzelfde probleem heeft als sameorigin deed - het controleert niet de frame ancestors om te zien of ze in same origin zijn.
allow-from uri
De pagina kan alleen in een frame op de opgegeven oorsprong worden weergegeven. Merk op dat dit in Firefox nog steeds hetzelfde probleem heeft als dezelfde originel deed - het controleert niet de frame ancestors om te zien of ze in sameorigin zijn.
Apache configurerenAls u Apache wilt configureren om de header X-Frame-Options voor alle pagina's te verzenden, voegt u dit toe aan de configuratie van uw site:
<IfModule mod_headers.c>
Header always set X-Frame-Options "sameorigin"
</IfModule>
Als u Apache wilt configureren om de weigering voor X-Frame-Options in te stellen, voegt u dit toe aan de configuratie van uw site:
<IfModule mod_headers.c>
Header set X-Frame-Options "deny"
</IfModule>Als u Apache wilt configureren om de X-Frame-Options in te stellen van een specifieke host, voegt u dit allow-from de configuratie van uw site:
<IfModule mod_headers.c>
Header set X-Frame-Options "allow-from https://example.com/"
</IfModule>IIS configureren
Als u IIS wilt configureren om de header X-Frame-Options te verzenden, voegt u dit toe aan het Web.config van uw site:
<system.webServer>
...
<httpProtocol>
<customHeaders>
<add name="X-Frame-Options" value="sameorigin" />
</customHeaders>
</httpProtocol>...
</system.webServer>HAProxy configureren
Om HAProxy te configureren om de header X-Frame-Options te verzenden, voeg dit toe aan uw front-end, listen of backend-configuratie:
rspadd X-Frame-Options:\ sameorigin
X-XSS-protection IE8+Het XSS-filter werd geïntroduceerd in Internet Explorer 8 door Microsoft als een tegenaanval op 'non-persistent XSS aanvallen'. Je kunt ervoor kiezen om deze header mee te geven vanaf je applicatie om je gebruikers minder vatbaar te maken voor XSS-aanvallen, mocht je site ooit misbruikt worden hiervoor. Ik zou alleen niet al te veel vertrouwen op deze beveiligingstechniek, maar gewoon je input goed filteren
Voorbeeld X-XSS-ProtectionX-XSS-bescherming: 0
X-XSS-bescherming: 1
X-XSS-bescherming: 1; mode = block
X-XSS-bescherming: 1; rapport = <rapportage-uri>
0 Schakelt XSS-filtering uit.
1 Schakelt XSS-filtering in (meestal standaard in browsers). Als een cross-site scripting-aanval wordt gedetecteerd, zal de browser de pagina opschonen (verwijder de onveilige onderdelen).1; mode=block
Schakelt XSS-filtering in. In plaats van de pagina te ontsmetten, zal de browser voorkomen dat de pagina wordt gerenderd als er een aanval wordt gedetecteerd.
1; report=<reporting-URI> (alleen Chromium)
Schakelt XSS-filtering in. Als een cross-site scripting-aanval wordt gedetecteerd, zal de browser de pagina opschonen en de overtreding melden. Hiermee wordt de functionaliteit van de CSP-rapport-uri-richtlijn gebruikt om een rapport te verzenden.
Instellingen voor Apache (.htaccess) <IfModule mod_headers.c> Header set X-XSS-Protection "1; mode=block" </IfModule>Je kunt dus het volgende gebruiken
Header set X-XSS-Protection "1; mode=block"Strict Transport Security
Ook om HTTPS verkeer te beveiligen zijn er verschillende opties. Eén daarvan is een certificaat 'pinnen' via een header. De techniek heet 'HTTP Strict Transport Security (HSTS)", dit maakt het mogelijk dat je alleen via HTTPS naar de site surft. Ook maakt dit het een stuk lastiger om een connectie van SSL te strippen via sslstrip. Deze tool is gemaakt door Moxie Marlinspike.
Zinsbouw Voorbeeld Strict-Transport-Security: max-age=<expire-time> Strict-Transport-Security: max-age=<expire-time>; includeSubDomains Strict-Transport-Security: max-age=<expire-time>; preload Richtlijnen voor Strict Transport Securitymax-age=<expire-time>
De tijd, in seconden, dat de browser moet onthouden dat een site alleen via HTTPS kan worden geopend.
includeSubDomains Optioneel
Als deze optionele parameter is opgegeven, is deze regel ook van toepassing op alle subdomeinen van de site.
preload Optioneel
Overzicht voorbeeld dat hoe het er dan uit zou komen te zien
Strict-Transport-Security: max-age=31536000; includeSubDomains
Compleet Strict Transport Security die je in de .htaccess bestand kunt plaatsen
Header always set Strict-Transport-Security: "max-age=63072000; includeSubDomains; preload" env=HTTPS
HTTP Secure Header Referrer-Policy
Zindsopbouw Referrer-Policy
Referrer-Policy: no-referrer Referrer-Policy: no-referrer-when-downgrade Referrer-Policy: origin Referrer-Policy: origin-when-cross-origin Referrer-Policy: same-origin Referrer-Policy: strict-origin Referrer-Policy: strict-origin-when-cross-origin Referrer-Policy: unsafe-urlRichtlijnen Header Referrer-Policy
no-referrer
De referrer wordt volledig weggelaten. Er wordt geen verwijzingsinformatie verzonden samen met verzoeken.
no-referrer-when-downgrade (standaard)
Dit is het standaardgedrag van de user agent als er geen beleid is opgegeven. De URL wordt verzonden als een verwijzing wanneer het protocolbeveiligingsniveau hetzelfde blijft (HTTP → HTTP, HTTPS → HTTPS), maar niet wordt verzonden naar een minder goed beveiligde bestemming (HTTPS → HTTP).
origin
Verstuur de herkomst van het document alleen als de verwijzer in alle gevallen.
Het document
https://example.com/page.html stuurt de verwijzer https://example.com/.
origin-when-cross-origin
Stuur een volledige URL bij het uitvoeren van een verzoek met dezelfde herkomst, maar verzend de herkomst van het document alleen voor andere gevallen.
same-origin
Er wordt een verwijzende URL verzonden voor de herkomst van dezelfde site, maar same-site origins, bevatten geen verwijzingsinformatie.
strict-origin
Verstuur de oorsprong van het document alleen als de verwijzer wanneer het protocolbeveiligingsniveau hetzelfde blijft (HTTPS → HTTPS), maar verzend het niet naar een minder veilige bestemming (HTTPS → HTTP).
strict-origin-when-cross-origin
Stuur een volledige URL bij het uitvoeren van een request met dezelfde oorsprong, verzend de origin alleen wanneer het protocolbeveiligingsniveau hetzelfde blijft (HTTPS → HTTPS) en stuur geen header naar een minder goed beveiligde bestemming (HTTPS → HTTP).
unsafe-url
een volledige URL beëindigen bij het uitvoeren van een verzoek met dezelfde herkomst of een nieuwe herkomst. Mijn aanraden is om de unsafe-url niet te gebruiken, hoofdreden is dat er een foutmelding zal worden gegeven.
Het hieronder geplaatste HTTP Header Referrer-Policy, kan men dus toevoegen in de .htaccess bestand
Header set Referrer-Policy "no-referrer, strict-origin-when-cross-origin"
Onderwerp: HTTP Security Headers compleet
Inmiddels heb ik alle Headers compleet voor jullie klaar staan, klik hier voor de complete overzicht
Beste Klaas, allereerste dank en waardering voor de genomen moeite. Ik ben alleen bang dat diegenen die begrijpen waar het over gaat, geen hulp nodig zullen hebben en dat degenen die hulp kunnen gebruiken, niet begrijpen waar het over gaat.
Groeten, Ferdi
Op de website wordt alles uitgelegd, hoe en waarvoor HTTP Security Headers voor wordt gebruikt.
En nee, mensen die weten waarover het gaat hebben inderdaad geen hulp nodig en daar is dit gedeelte ook niet voor bedoeld. De meeste die het dus niet weten waar het voor gebruikt wordt, kunnen dat terug lezen op de website zoals in de eerste topic.
Groeten van Klaas
We zijn alweer 1 jaar verder, en er is veel veranderd en zal dan ook hier de gehele HEADERS plaatsen die je zo in je htaccess bestand kunt plaatsen.
Al staat dit al in je htaccess bestand, neem dan alleen de headers over.
Dan het volgende de Header always set content-security-policy: "require-sri-for 'script' 'unsafe-eval'; object-src 'none'; frame-ancestors 'self'; base-uri 'self'; form-action 'self';" Deze zal men zelf in moeten vullen, gezien dat iedere website anders is.
Het zelfde geld ook voor Header always set Feature-Policy: "autoplay 'none', fullscreen 'self', picture-in-picture 'self', midi 'self', sync-xhr 'self', microphone 'self', camera 'self', magnetometer 'self', gyroscope 'self', speaker 'self', vibrate 'self', payment 'self';" Deze zal men zelf in moeten vullen, gezien dat iedere website anders is.
Header always set Strict-Transport-Security: "max-age=31536000; includeSubDomains; preload" env=HTTPS
Header always set Referrer-Policy "strict-origin"
Header always set Expect-CT: "enforce, max-age=31536000"
Header always set Access-Control-Allow-Origin: https://JOUWDOMEINNAAM.eu
Header set NEL: {"report_to":"default","max_age":31536000,"include_subdomains":true}
Header set X-Content-Type-Options "nosniff"
Header set X-frame-options "sameorigin"
Header set X-XSS-Protection: "1; mode=block
Header set Date: "Mon, 24 Feb 2020 00:08:21 GMT"
Header set Last-Modified: "Mon, 24 Feb 2020 00:08:21 GMT"
Header set Expires: "Wed, 21 Oct 2015 07:28:00 GMT"
Header set X-DNS-Prefetch-Control: "on"
Header set X-Fastcgi-Cache: EXPIRED
Header always unset "X-Powered-By"
Header unset "X-Powered-By"
Header set X-UA-Compatible: "IE=edge"
Header set X-Proxy-Cache: MISS
Header set X-Sucuri-Cache: HIT
Header set X-Cache-Enabled: True
Header set X-Timer: S1582511900.863405,VS0,VE229
Header set X-Sucuri-ID: 11010
Header set X-Download-Options: noopen
Header set X-Permitted-Cross-Domain-Policies: all
Header set X-Clacks-Overhead: "GNU Terry Pratchett"
Header set X-Cache-Lookup: "HIT from JOUWDOMEINNAAM.eu:443"
Header set X-Served-By: cache-dca17739-DCA
Header set X-Cache: HIT
Header set X-Cache-Hits: 1
Header set Via: "1.1 google"
Header set CF-RAY: "5698f562cccbed7f-SJC"
Header set CF-Cache-Status: DYNAMIC
Header set Connection keep-alive
Header always set Vary: "Accept-Encoding;"
Header always set etag on
Header always set ETag: w/"582fa229-17ba0"
Header always set Connection: "close;"
Header always set Content-Language: nl-BE
Header always set Expect-Staple: "max-age=31536000; includeSubDomains; preload"
Header always set Access-Control-Allow-Methods: "POST, GET, OPTIONS"
Header always set Access-Control-Request-Method: "POST, GET"
Header always set Access-Control-Request-Headers: "X-PINGOTHER, Content-Type"
Header always set Access-Control-Allow-Credentials: "true"
Header always set Access-Control-Allow-Headers: "Origin, X-Requested-With, Content-Type, Accept"
Header always set Access-Control-Max-Age: "3600"
Header always set Access-Control-Allow-Origin: "https://JOUWDOMEINNAAM.eu"
Header always set Access-Control-Expose-Headers: "X-Custom-Header"
Header set Accept-Encoding: "br;q=1.0, gzip;q=0.8, *;q=0.1"
Header set Accept-Ranges: "bytes"
Header always edit Set-Cookie (.*) "$1; Secure; HttpOnly; max-age=3600; includeSubdomains; SameSite=Strict"Goed nu kan jij je website testen op dat hoe hij scoort
ImmuniWeb is zeer uitgebreid en behoorlijk pressies, er staat onder de knop "Community Edition" 4 test mogelijkheden voor je website
- Website Security Test
- SSL Security Test
- Domain Security Test
- Mobile App Security Test
Vooraf wel het volgende, dat niet alle Oranje vakjes die je daar ziet een fout is op de server. Zoek altijd eerst via internet uit of dit gerelateerd is met jouw website, server en instellingen.
Hopende dat ieder een A+ krijgt in hun scherm
De Strict-Transport-Security moet nog iets aan gebeuren, en dat doen we in DirectAdmin
- Inloggen DirectAdmin
- Selecteer SSL certificaten
- Selecteer Legacy SSL certificaten
- In het scherm staat geheel bovenin "HSTS is now disable. Click here to Enable HSTS"
- Klik nu op "Activate"
- Klaar
In de hierboven opgegeven headers moet even iets aan toegevoegd worden
Momenteel staat het zo
Header always set etag on
Moet zo zijn
Header always set etag: on
Het zelfde met header
Header always set Referrer-Policy "strict-origin"
moet zo zijn
Header always set Referrer-Policy: "strict-origin"
Het zelfde met header
Header set X-Content-Type-Options "nosniff"
Moet zo zijn
Header set X-Content-Type-Options: "nosniff"
Het zelfde met header
Header always edit Set-Cookie (.*) "$1; Secure; HttpOnly; max-age=3600; includeSubdomains; SameSite=Strict"
Moet zo zijn
Header always edit Set-Cookie: (.*) "$1; Secure; HttpOnly; max-age=3600; includeSubdomains; SameSite=Strict"
Het zelfde met header
Header set Connection keep-alive
Moet zo zijn
Header set Connection: keep-alive
En als laatste de volgende header
Header set X-frame-options "sameorigin"
Moet zo zijn
Header set X-frame-options: "sameorigin"
De dubbele punt vergeten eraan toe te voegen.
_____________________________________________________________________________________________________________
Verder is het ook belangrijk dat de snelheid van de website optimaal blijft, google is of was van plan om alle website die te langzaam draaien als laatste in de zoekmachine te plaatsen
Men kan hier je snelheid testen https://gtmetrix.com/
De Headers waarmee je de snelheid van de website kunt verhogen of verlagen staan hieronder vermeld. Pak altijd 1 voor 1 een Header aan, na iedere verandering moet je opnieuw een snelheidstest uitvoeren.
Access-Control-Max-Age: zet die eventueel op 600
De Header always set Expect-CT: "enforce, max-age=31536000" zet die terug naar 86400
Een belangrijk iets verwijderd het volgende
Header always edit Set-Cookie: (.*) "$1; Secure; HttpOnly; max-age=3600; includeSubdomains; SameSite=Strict"
Vervang dit met hieronder
Header edit Set-Cookie: ^(.*)$ $1;HttpOnly;Secure;SameSite=strict
Dit is wat veiliger Samesite = strict biedt bescherming tegen CSRF.
Dat wanneer je alles hebt aangepast, moet je alles daadwerkelijk nalopen met de testwebsites die in de vorige topic staan.