Die meisten Webseiten haben laut “securityheaders.com” ein “F” als Bewertung deren Header Parameter bekommen. Ich war einer von ihnen! Es ist allerdings einfach ein “A+” Ranking zu bekommen, dazu habe ich meine Caddy Konfiguration “Caddyfile” angepasst.
Die Einstellungen gelten nur, wenn Caddy als Webserver verwendet wird.
:80 {
root * /srv
file_server
encode gzip zstd
header * {
Feature-Policy "accelerometer 'none'; ambient-light-sensor 'none';
Content-Security-Policy "default-src 'self'"
Cross-Origin-Resource-Policy "same-origin"
Strict-Transport-Security max-age=31536000;
Server "36px.de"
Cross-Origin-Embedder-Policy "require-corp"
Cross-Origin-Opener-Policy "same-origin-allow-popups"
Cross-Origin-Resource-Policy "same-origin"
Access-Control-Allow-Origin "https://36px.de"
Referrer-Policy "strict-origin-when-cross-origin
Permissions-Policy "accelerometer=(self), ambient-light-sen>
X-Robots-Tag "none" always
X-Content-Type-Options nosniff
X-Frame-Options DENY
X-Permitted-Cross-Domain-Policies "none"
X-XSS-Protection "1; mode=block"
X-Download-Options "noopen"
Feature-Policy "accelerometer 'none'; ambient-light-sensor 'none'; autoplay 'self'; camera 'none'; encrypted-media 'none'; fullscreen 'self'; geolocation 'none'; gyroscope 'none'; magnetometer 'none'; microphone 'none'; midi 'none'; payment 'none'; picture-in-picture *; speaker 'none'; sync-xhr 'none'; usb 'none'; vr 'none'"
}
}
Beim Astro Framework muss
Content-Security-Policy "default-src 'self'"
allerdings deaktiviert werden, weil sonst keine “inline scripts” Tags ausgeführt werden können. docs.astro.build/en/guides/troubleshooting/#refused-to-execute-inline-script
Mit diesen Parametern wird aus einem F ein A+.
Tools zum Testen: