DDoS Protection
🛡️ Cloudflare (Free → Pro)
Put your entire domain behind Cloudflare. Enable Under Attack Mode during incidents. Set WAF rules to block SQL injection, XSS, and bad bots automatically.
🌐 DNS-Level Protection
Your origin server's real IP address should never be exposed publicly — always proxy traffic through Cloudflare instead, with every DNS record orange-clouded. Turning on DNSSEC adds one more layer, making it much harder for anyone to hijack your DNS.
⚡ Rate Limiting Rules
🚫 IP Blocking & Geo-Fencing
Use Cloudflare Firewall Rules to block known bad IP ranges, Tor exit nodes, and high-risk ASNs. Challenge requests with Threat Score > 10 via JS challenge.
Application Security (WAF & Headers)
🔒 HTTP Security Headers
🛡️ WAF Rules (Cloudflare)
Enable the Cloudflare Managed Ruleset + OWASP Core Ruleset. Block requests with no User-Agent, path traversal (../), and threat scores above 10.
🔑 SSL / TLS Hardening
📝 Form Security
Every form on this site has several layers of protection working together: a hidden honeypot field that traps bots, client-side validation, spam filtering, rate limiting, and server-side sanitization of anything submitted.
Malware Prevention
🔍 File Integrity Monitoring
Use Sucuri SiteCheck, Wordfence (WordPress), or AIDE (Linux) to detect file changes. Run daily scans and alert on any modification to core files.
📦 Dependency Security
Audit all npm/composer packages weekly. Use npm audit, Snyk, or GitHub Dependabot to catch vulnerable packages before they become exploits.
💾 Automated Backups
Run daily encrypted backups to an off-server location (S3, R2, or Backblaze B2). Retain 30-day rolling backups. Test restores monthly.
📡 Monitoring & Alerts
UptimeRobot for uptime, Sentry for errors, Cloudflare analytics for traffic spikes (DDoS signal), Google Search Console security alerts enabled.
4-Step Incident Response Plan
Uptime alert fires or GSC malware warning. Check Cloudflare analytics for traffic anomalies.
Enable "Under Attack" mode. Block offending IPs. Take site to maintenance mode if compromised.
Restore from last clean backup. Remove malicious files. Rotate ALL passwords and API keys.
Verify clean state with Sucuri scan. Request GSC malware review. Monitor for 72 hours post-recovery.