So.. you've written up what you checked, and what didn't match what ever criteria you had.<p>But.. what does it mean? Why enforce certain headers? Why enforce certain options? There is a section which kinda looks at this, but not really.<p>You have a bunch of links at the end for resources, but why not just provide the rationale for each rule or option inclusion in the article as well? What does each prevent or allow and why?
It’s ridiculous that the answer to a secure web is for everyone to sprinkle the magic salt and not something on the browser side
Referrer-Policy shows it can work. When the header is missing, browsers fall back to strict-origin-when-cross-origin. 86.6% of the sites we scanned don't send it, and we didn't count that as a failure for that reason. The other headers don't have a safe default like that yet.
we'd need an epoch like reset to good defaults
And if any of the websites use .NET, they can get almost all of the recommended security headers in one line by using a NuGet package I created: <a href="https://gaprogman.github.io/OwaspHeaders.Core/" rel="nofollow">https://gaprogman.github.io/OwaspHeaders.Core/</a>
Nice work! You gave me something to fix!!
for static sites on a VPS it's fair to expect the host to provision these, yes?