Security Best Practices Checklist

Security Best Practices Checklist

Comprehensive security practices prevent vulnerabilities while maintaining compatibility. Follow industry standards and regular security audits.

Essential security checklist:

# Nginx SSL security configuration
server {
    listen 443 ssl http2;
    server_name example.com;
    
    # Certificate configuration
    ssl_certificate /etc/nginx/ssl/fullchain.pem;
    ssl_certificate_key /etc/nginx/ssl/private.key;
    
    # Protocol and cipher configuration
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256;
    ssl_prefer_server_ciphers off;
    
    # OCSP stapling
    ssl_stapling on;
    ssl_stapling_verify on;
    resolver 8.8.8.8 8.8.4.4 valid=300s;
    resolver_timeout 5s;
    
    # Security headers
    add_header Strict-Transport-Security "max-age=63072000" always;
    add_header X-Frame-Options "SAMEORIGIN" always;
    add_header X-Content-Type-Options "nosniff" always;
    add_header X-XSS-Protection "1; mode=block" always;
    
    # Session configuration
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 1d;
    ssl_session_tickets off;
    
    # DH parameters for perfect forward secrecy
    ssl_dhparam /etc/nginx/ssl/dhparam.pem;
}

# Generate strong DH parameters
openssl dhparam -out /etc/nginx/ssl/dhparam.pem 4096