Nginx安全配置记录

基础配置

最近整理的nginx配置集合,主要涉及安全问题……


server { # 打开http2 listen 443 ssl http2; server_name www.szyhf.org; #填写绑定证书的域名 # 打开ssl ssl on; ssl_certificate www.szyhf.org.crt; ssl_certificate_key www.szyhf.org.key; fastcgi_param HTTPS on; # 缓存连接凭据 ssl_session_timeout 5m; ssl_session_cache shared:SSL:20m; # 禁止不安全的 SSL 协议,使用安全协议 ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # 禁止已经不安全的加密算法 ssl_ciphers ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; # 缓解 BEAST 攻击 ssl_prefer_server_ciphers on; # 赫尔曼密钥 # shell命令:openssl dhparam -out dhparam.pem 2048 // 在 ssh 运行, openssl 生成 2048 位的密钥而不是当作参数写入 nginx.conf 文件。 ssl_dhparam www.szyhf.org.dhparam.pem; # OCSP缝合 ssl_stapling on; ssl_stapling_verify on; # ssl_trusted_certificate /etc/nginx/cert/trustchain.crt; resolver 8.8.8.8 114.114.114.114 valid=300s; location / { # 转发到http时要带上这些配置 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; add_header Front-End-Https on; proxy_redirect off; # 不转发http时只要这一行即可 proxy_pass http://blog_proxy; } } # 80 端口跳转到 443 端口 server { listen 80; server_name _; add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always; return 301 https://$host$request_uri; }

关于OCSP缝合

从无法开启 OCSP Stapling 说起

关于迪菲-赫尔曼密钥交换

迪菲-赫尔曼密钥交换

关于BEAST攻击

【译】SSL/TLS真的被BEAST攻击攻破了吗?真实情况是怎样的?我应该做什么?

HTTPS安全测试

测试网站

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据