Nginx的安全配置
2025年,WEB服务的安全有哪些变化吗?
自动申请证书
见下一篇笔记。
证书使用建议
注意选用 fullchain 证书,单证书证书容易造成中间证书不识别的问题。
1 2
| ssl_certificate /etc/nginx/ssl/hk2.fullchain.pem; ssl_certificate_key /etc/nginx/ssl/hk2.key;
|
禁用低版本的协议
只启用 TLS v1.3 和 TLSv1.2
1
| ssl_protocols TLSv1.2 TLSv1.3;
|
控制使用的算法白名单
1 2 3
| ssl_ecdh_curve X25519:prime256v1:secp384r1; ssl_prefer_server_ciphers on; ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305;
|
生成专有的DH参数
1 2
| cd /etc/ssl/certs openssl dhparam -out dhparam.pem 4096
|
1
| ssl_dhparam /etc/ssl/certs/dhparam.pem;
|
启用OCSP装订
用新协议检查证书的吊销情况。
1 2 3 4
| ssl_stapling on; ssl_stapling_verify on; resolver 8.8.8.8 8.8.4.4 valid=300s; resolver_timeout 5s;
|
CA白名单
配置仅白名单的CA才能为某个域名
1
| ssl_trusted_certificate /etc/nginx/ssl/hk2-ca.cer;
|
安全相关头
1 2 3
| add_header Strict-Transport-Security max-age=31536000; add_header X-Frame-Options DENY; add_header X-Content-Type-Options nosniff;
|
Gualys SSL Labs A+
