Web Server Security – The Illusion of a Locked Front Door
28/03/25 16:53
Welcome to the Checklist Olympics
Securing a web server used to be easy:
- Install Apache or NGINX.
- Get a certificate.
- Serve your website.
Today? You’re in a never-ending game of compliance whack-a-mole.
Let’s take a tour of the ever-growing list of "basics."
๐ TLS and Certificates – Where It All Begins (and Often Ends)
- HTTPS: Still the gold standard, but only if configured correctly.
- TLS 1.0 & 1.1: Legacy relics. Disable them immediately.
- TLS 1.2: Still mainstream but aging.
- TLS 1.3: Faster, more secure—and often misconfigured.
- Cipher Suites: Choose wisely. Many are outdated, others are just bad ideas.
- Certificate Chains: Check your intermediates. Browsers sure will.
- OCSP Stapling: Because checking revocation shouldn’t involve a time machine.
- HSTS (HTTP Strict Transport Security): Forces HTTPS—unless you mess it up and brick your subdomains.
๐งพ DNS Records – Because Security Starts Before the Request Arrives
- CAA (Certification Authority Authorization): Controls who can issue certs for your domain. Often forgotten.
- TLSA (for DANE): Cryptographically ties your cert to DNSSEC. Almost no one uses it.
- DNSSEC: Validates DNS data integrity. Good luck getting your entire DNS chain to cooperate.
๐ก๏ธ HTTP Headers – The Security Settings Nobody Reads
- Content-Security-Policy (CSP): Blocks inline scripts, prevents XSS. Also breaks half your website.
- X-Frame-Options: Stops clickjacking. Basic but still needed.
- X-Content-Type-Options: Because browsers are too smart for their own good.
- Referrer-Policy: Decide what crumbs you leave behind.
- Permissions-Policy: Say no to browser features you never asked for.
- Cross-Origin headers (CORS): When misconfigured, they turn your server into a public API.
โ๏ธ But Wait, There's More – Because Why Should Email Feel Left Out?
- MTA-STS: Enforces TLS for mail delivery. Defined via DNS and a static HTTPS file.
- security.txt: A polite way of saying "please don’t hack us"—linked in .well-known/ and often ignored.
- Server banners: Because telling attackers which version of OpenSSL you’re using is such a good idea.
๐งช Other Essentials for the Truly Paranoid
- Rate limiting and fail2ban: Stop brute-force noise.
- Web Application Firewall (WAF): Often a bandaid, occasionally helpful.
- Reverse proxy hardening: Your CDN or reverse proxy is now your real perimeter.
- Error page sanitization: Because 500 errors shouldn’t include your stack trace.
- Dependency hygiene: Your site is only as secure as your least-patched JavaScript library.
- Log monitoring & alerting: Because silence doesn’t mean safety.
The Catch: You Can Do All This and Still Get Hacked
- All headers set?
- TLS modern and strict?
- DNS records secure?
- External scans pass with flying colors?
Great. Now hope your CMS plugin isn’t vulnerable, your devs didn’t leave a debug port open, and your admin didn’t reuse a password from 2014.
Conclusion: Web Server Security Is a Game of Margins
Perfect security doesn’t exist. But stacking these measures makes your server a much harder target.
So yes—do the checklist. Harden your TLS. Lock down your headers. But stay humble.
Because behind every hardened web server is an attacker just waiting for a new CVE to drop.
Read more at Security-Management.org – while your certificate is still valid.