增强 Nginx 的 SSL 安全性(4)

公钥固定的意思是一个证书链必须包括一个白名单中的公钥。它确保仅有白名单中的 CA 才能够为某个域名签署证书,而不是你的浏览器中存储的任何 CA。

我已经写了一篇关于 HPKP 的背景理论及在 Apache、Lighttpd 和 NGINX 中配置例子的文章

配置范例

server {

listen [::]:443 default_server;

ssl on;

ssl_certificate_key /etc/ssl/cert/raymii_org.pem;

ssl_certificate /etc/ssl/cert/ca-bundle.pem;

ssl_ciphers 'AES128+EECDH:AES128+EDH:!aNULL';

ssl_protocols TLSv1TLSv1.1TLSv1.2;

ssl_session_cache shared:SSL:10m;

ssl_stapling on;

ssl_stapling_verify on;

resolver 8.8.4.48.8.8.8 valid=300s;

resolver_timeout 10s;

ssl_prefer_server_ciphers on;

ssl_dhparam /etc/ssl/certs/dhparam.pem;

add_header Strict-Transport-Security max-age=63072000;

add_header X-Frame-Options DENY;

add_header X-Content-Type-Options nosniff;

root /var/www/;

index index.html index.htm;

server_name raymii.org;

}

结尾

如果你使用了上述配置,你需要重启 nginx:

#首先检查配置文件是否正确

/etc/init.d/nginx configtest

#然后重启

/etc/init.d/nginx restart

现在使用 SSL Labs 测试来看看你是否能得到一个漂亮的“A”。当然了,你也得到了一个安全的、强壮的、经得起考验的 SSL 配置!

via: https://raymii.org/s/tutorials/Strong_SSL_Security_On_nginx.html

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/ad058cd51be459b515d39fd0767cfce7.html