Nginx完全正向保密(perfect forward secrecy)设置
完全正向保密(perfect forward secrecy)是信息安全中提出的观点。要求一个密钥只能访问由它所保护的数据;用来产生密钥的元素一次一换,不能再产生其他的密钥;一个密钥被破解,并不影响其他密钥的安全性。设计旨在长期使用密钥不能确保起安全性的情况下而不影响过去会话的保密性。
维基百科上有该条目,可以去看看,下面是我的理解。
perfect forward secrecy是在HTTPS基础上进一步保护用户电脑同服务器之间的加密通讯。
其解决的一个安全场景就是,如果服务器同用户间的加密通讯内容被窃听,也被储存下来,这些被加密的内容虽然当时无法被解密,被破解,但是当日后,服务器的SSL密钥被取得后(不管是何种原因被取得密钥),这些过往的内容是可以用这个密钥来解密的。这样虽然时效性可能差些,但是仍然是会有被破解的危险存在。
而采用 完美远期加密 的 SSL 或者 HTTPS 通讯,加密钥匙只是短暂性的,而且不能从服务器的 SSL 密钥中推算出来,这样即使日后 SSL 密钥被第三方取得,过去和未来的 HTTPS 通讯仍然安全,窃听者始终无法破解所窃听的内容(以目前的技术而言)。
目前只有用 ephemeral Diffie-Hellman 的算法才算是 完美远期加密。
Nginx的设置(里面表明了最低支持的nginx版本)
ssl_protocols TLSv1.3;# Requires nginx >= 1.13.0 else use TLSv1.2
ssl_prefer_server_ciphers on;
ssl_dhparam /etc/nginx/dhparam.pem; # openssl dhparam -out /etc/nginx/dhparam.pem 4096
ssl_ciphers EECDH+AESGCM:EDH+AESGCM;
ssl_ecdh_curve secp384r1; # Requires nginx >= 1.1.0
ssl_session_timeout 10m;
ssl_session_cache shared:SSL:10m;
ssl_session_tickets off; # Requires nginx >= 1.5.9
ssl_stapling on; # Requires nginx >= 1.3.7
ssl_stapling_verify on; # Requires nginx => 1.3.7
resolver $DNS-IP-1 $DNS-IP-2 valid=300s;
resolver_timeout 5s;
add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload";
add_header X-Frame-Options DENY;
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block";
其中
ssl_dhparam /etc/nginx/dhparam.pem; # openssl dhparam -out /etc/nginx/dhparam.pem 4096
需要使用openssl命令生成dhparam.pem,使用一下命令即可:
openssl dhparam -out dhparam.pem 2048
个人认为2048位即可满足需要,如果安全等级要求更高可以使用4096,当然服务器负载也会相应增大一点。
开启之后,再用 SSL Labs 的测试工具来测试加密强度,现在已经达到了A+,算是最高的评分了。
在报告中看到的唯一的缺点,在浏览器的支持部分,很多低版本浏览器是不被支持的。另外 Java 6 也是不支持的。这两个都是早已退休的技术,不支持就不支持吧。
Nginx完全正向保密(perfect forward secrecy)设置相关推荐
- Linux下Nginx编译安装后的开机自启动设置
Linux下Nginx编译安装后的开机自启动设置 一.查看当前Nginx启动状态 二.而配置Nginx相关服务文件 三 .设置nginx命令 四.设置开机启动 五.测试开机启动 一.查看当前Nginx ...
- 移动语义(move semantic)和完美转发(perfect forward)
完整原文链接:https://codinfox.github.io/dev/2014/06/03/move-semantic-perfect-forward/ 移动语义(move semantic) ...
- Nginx服务器---正向代理
Nginx服务器-----正向代理 文章目录 Nginx服务器-----正向代理 前言 一.nginx是什么? 二.代理服务 1.什么是代理呢?下面一张图了解一下 2.正向代理 2.1什么是正向代理呢 ...
- Nginx 配置正向代理
Nginx 配置正向代理 之前一直使用 squid 进行正向代理配置,今天尝试采用 nginx 进行正向代理配置. nginx本身是不支持https协议请求转发,为了让nginx能达到这一效果需要借助 ...
- nginx和正向代理反向代理
曾经对于nginx和正向代理反向代理,只闻其名,不知其意.在昨天参加师哥师姐的分享会的时候,在师哥师姐深入的讨论之中,了解了这个概念 首先介绍一下基本概念吧: Nginx (engine x) 是一个 ...
- nginx做正向代理http,内网主机yum安装外网资源
一.概念解释(基本解释详细可以百度) 正向代理:内网通过nginx请求外部url 反向代理:外部通过nginx请求内部服务器 二.配置简图 192.168.1.11类似内网,不能直接访问www.abc ...
- 基于nginx的正向代理实现
前言: 一次偶发的运营商故障,导致部分区域访问BGP站点不可达,为了避免问题再次发生,准备了一套正向代理环境, 当出现类似问题时,可以通过修改DNS实现流量转移. 其核心原理为代理转发,缺点是正向代理 ...
- Nginx (一) Nginx介绍 正向代理 反向代理 及配置
目录 介绍Nginx Nginx处理高并发 正向代理 正向代理配置 反向代理 反向代理配置 介绍Nginx Nginx是一款自由的.开源的.高性能的HTTP服务器和 反向代理 服务器:同时也是一个IM ...
- Nginx代理——正向、反向代理,动静分离和负载均衡
文章目录 一.Nginx代理概述 (1)什么是正向代理和反向代理 -正向代理: -反向代理 -反向代理和正向代理的区别 (2)配置代理 -Nginx代理配置语法 -配置正向代理 -Nginx反向代理示 ...
- nginx代理(正向代理和反向代理)
正向代理 是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容 ...
最新文章
- 图灵奖得主Judea Pearl:从“大数据革命”到“因果革命”
- 送给同事的5个新年计划
- JPQL设置自增长、只读、文本类型等的注解
- mvc根据绝对路径下载文件
- mac 大写锁定延迟_延迟分析中的案例研究:锁定与同步
- windows下揪出java程序占用cpu很高的线程
- 厉害了,我的清华大学,各系横幅让网友看花眼,尤其是第3条
- Scala in depth 6 Scala的类型系统 中
- 计算机科学与量子信息处理,量子计算交叉学科
- Android开发笔记(四十六)手机相关事件
- 10月份出版图书《玩转虚拟机基于VMware+Windows》
- 2012.4.13总结(一)
- Linux内核中的atoi,itoa等函数
- C# asp.net mvc,做 301 永久重定向!
- mysql数据库安全吗_mysql数据库的安全
- 在校开发的装柜辅助系统
- .H264 .yuv格式文件下载还需要积分? 自己动手 ffmpeg几句命令轻松搞定
- UI设计中设计没亮点怎么办_上
- 现代地图和古代地图下载收集
- 手机python30编程教程入门_Python新手入门教程_在手机上就能学习编程的软件
热门文章
- dfuse 和 EOS Studio 携手让开发者工具更上一层楼
- DMAc-TRZ cas:1628752-98-6,双[4-(N-吩噁嗪)苯基]硫砜,热延迟荧光材料TADF
- HTML仿腾讯微博首页(Dreamweaver网页作业)
- 我们称字母顺些和逆写都相同的单词或者短语为“回文”,编写一个Java程序判断输入的一行文本是否是回文。
- mysql开发中遇到的坑_mysql中间件开发遇到的坑之权能标志CLIENT_DEPRECATE_EOF
- 国内第一本许可式订阅E-mail营销书籍
- 台式计算机如何定时关机,台式电脑设置定时关机
- 微信小程序 | 微信公众平台SpringBoot开发实例 │ 表情消息
- 给计算机专业新生的一些学习建议
- 三维气象数据可视化系统介绍