====== Hoe kan ik Security Headers instellen voor mijn website? ====== Wanneer je jouw site goed wilt beveiligen tegen zaken als XSS (Cross Site Scripting) exploits en vele andere manieren waarop hackers kunnen inbreken op je site, dan is een goede methode hiervoor het gebruik van Security Headers. Dit zijn extra beveiligingsregels die restricties opleggen aan de manier waarop een client jouw site kan gebruiken. De meeste regels kan je gewoon rechtstreeks overnemen vanuit deze handleiding. Enkele zijn wat gecompliceerder en moet je samenstellen zodat ze werken bij jouw website. * [[ #hsts | HSTS inschakelen ]] * [[ #headers | Headers in .htaccess plaatsen ]] * [[ #csp | Content-Security-Policy samenstellen en toevoegen ]] * [[ #feature | Feature-Policy samenstellen en toevoegen ]] ===== 1. HSTS inschakelen ===== Allereerst gaan we [[ /hoe-schakel-ik-hsts-in | HSTS inschakelen ]]. Dit is een header die meegestuurd wordt, die bezoekers verplicht om gebruik te maken van een versleutelde verbindingen. Hierdoor is het onmogelijk om nog zonder SSL te verbinden met jouw website. Dit voorkomt dus dat er per ongeluk informatie gelekt kan worden naar derden. Wel kan het voor problemen zorgen als je geen SSL certificaat geïnstalleerd hebt!   ===== 2. Headers in .htaccess plaatsen ===== Als HSTS is ingesteld, gaan we regels in de **.htaccess** toevoegen. Vrijwel iedere site zal standaard al een .htaccess bestand hebben, deze vind je in: /domains/VOORBEELD.NL/public_html/.htaccess Als dit bestand nog niet bestaat, kan je deze gewoon aanmaken. Als deze al wel bestaat, kan je de bestaande .htaccess bewerken. Dit doe je in de File Manager van DirectAdmin, door op **Edit** te klikken naast het bestand. Voeg bovenaan het bestand de volgende regels toe: Header always set X-Frame-Options "SAMEORIGIN" Header always set X-XSS-Protection "1; mode=block" Header always set X-Content-Type-Options "nosniff" Header set Referrer-Policy "no-referrer-when-downgrade" Als je niet goed weet wat je doet, is het handig om hier de wijzigingen op te slaan en niet verder te gaan. Mocht je enig idee hebben van wat de bovenstaande regels doen, dan kan je de volgende twee stappen ook nog uitvoeren voor extra beveiliging.   ===== 3. Content-Security-Policy samenstellen en toevoegen ===== We gaan nu de zogeheten **Content-Security-Policy** samenstellen. Dit is een restrictie regel waarmee je vanaf beperkte bronnen data toestaat om op je site gebruikt te worden. Deze regel kan tussen dezelfde **** regels geplaatst worden als de eerdere header regels. Je plaatst jouw bronnen toe, tussen aanhalingstekens, na: Header set Content-Security-Policy Hier kan je bijvoorbeeld definiëren waar je scripts vandaan mogen komen. Stel dat je deze slechts vanaf je site wilt gebruiken, maar wel wilt toestaan dat ze "inline" in je site script mogen staan, dan kan je dit doen door te typen: Header set Content-Security-Policy "default-src *;script-src 'self' 'unsafe-inline'" Wanneer een regel niet gedefinieerd wordt, valt deze terug op **default-src**. Hieronder de meest voorkomende content regels die je kunt definiëren: default-src | De fallback regel, wanneer iets niet gedefinieerd is font-src | Bronnen van je fonts frame-src | en