背景

MySSL 提供了免费的网站 HTTPS 安全评级服务,然后我用我的网站 https://hellogithub.com,测试了一下。发现安全评级为 B,最高为 A+。下面是记录我的网站从 B 升到 A+ 的操作和设置。

tips: 我的网站免费 SSL/TLS 证书是这家的 Let's Encrypt

一、B 升 A

1.1 现状

**评分提示:服务器支持弱 DH 密钥交换参数,降级为 B **

1.2 原因

前向安全性 Forward Secrecy 的概念很简单:客户端和服务器协商一个永不重用的密钥,并在会话结束时销毁它。服务器上的 RSA 私钥用于客户端和服务器之间的 Diffie-Hellman 密钥交换签名。从 Diffie-Hellman 握手中获取的预主密钥会用于之后的编码。因为预主密钥是特定于客户端和服务器之间建立的某个连接,并且只用在一个限定的时间内,所以称作短暂模式 Ephemeral。

使用了前向安全性,如果一个攻击者取得了一个服务器的私钥,他是不能解码之前的通讯信息的。这个私钥仅用于 Diffie Hellman 握手签名,并不会泄露预主密钥。Diffie Hellman 算法会确保预主密钥绝不会离开客户端和服务器,而且不能被中间人攻击所拦截。

所有版本的 nginx(如1.4.4)都依赖于 OpenSSL 给 Diffie-Hellman (DH)的输入参数。不幸的是,这意味着 Diffie-Hellman Ephemeral(DHE)将使用 OpenSSL 的默认设置,包括一个用于密钥交换的1024位密钥。因为我们正在使用2048位证书,DHE 客户端就会使用一个要比非 DHE 客户端更弱的密钥交换。

MySSL 提示的因为:现在用的 DHE 参数小于 1024 位数。

1.3 解决办法

  1. /etc/letsencrypt 目录下查看是否有:ssl-dhparams.pem 文件
  2. 如果有则直接设置 nginx 配置:ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;

如果没有,则需要自己生成,生成后配置 nginx 注意路径:

cd /etc/ssl/certs
openssl dhparam -out dhparam.pem 4096

tips:生成该参数十分消耗 CPU 资源,在线上服务执行一定要注意!

1.4 结果

二、A 升 A+

2.1 现状

**评分提示:开启HSTS后能够提升到A+,具体参考《XXXXX》 **

2.2 原因

HSTS(HTTP Strict Transport Security)是国际互联网工程组织IETF发布的一种互联网安全策略机制。采用HSTS策略的网站将保证浏览器始终连接到该网站的HTTPS加密版本,不需要用户手动在URL地址栏中输入加密地址,以减少会话劫持风险。

MySSL 提示的因为:需要在开启 HSTS,保证浏览器连接该网站始终为 HTTPS 加密版本。

2.3 解决办法

修改 nginx 配置:

server {
server_name hellogithub.com www.hellogithub.com;
add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";
.....
}

2.4 结果

参考

MySSL HTTPS 评级 B 升 A+的更多相关文章

  1. 如何让网站HTTPS评级为A或者A+

    环境说明:CentOS Linux release 7.5.1804 (Core).nginx/1.10.0 需求:公司网站在myssl的评级只得到了B的评分,需要提升至A+ 具体操作如下: 一.ng ...

  2. 小程序https请求,http网站升到https

    最近开发小程序,因为以前只写过小程序的前端没注意接口,现在才发现原来所有的接口都必须使用https协议了,马上研究了一波,顺便也想给自己的博客升成https的. 申请免费证书 哈哈没办法就是喜欢免费的 ...

  3. 如何让HTTPS站点评级达到A+? 还得看这篇HTTPS安全优化配置最佳实践指南

    0x00 前言简述 SSL/TLS 简单说明 描述: 当下越来越多的网站管理员为企业站点或自己的站点进行了SSL/TLS配置, SSL/TLS 是一种简单易懂的技术,它很容易部署及运行,但要对其进行安 ...

  4. http升https笔记

    证书申请的: 1.lets encrypt 国际公益项目发展很快的,不过在国内暂时有些支持度还不够高,如微信安卓版就不认lets encrypt的证书.跳转进去一直处于空白页状态 2.沃通证书  国内 ...

  5. 升讯威ADO.NET增强组件(源码):送给喜欢原生ADO.NET的你

    目前我们所接触到的许多项目开发,大多数都应用了 ORM 技术来实现与数据库的交互,ORM 虽然有诸多好处,但是在实际工作中,特别是在大型项目开发中,容易发现 ORM 存在一些缺点,在复杂场景下,反而容 ...

  6. (转)OS X 升級後 MacPorts 重新安裝筆記

    原地址:http://blog.lyhdev.com/2012/07/os-x-macports.html Mac OS X 10.8 Mountain Lion 正式發佈,而且祭出台幣 $590 元 ...

  7. GitHub开源:升讯威ADO.NET增强组件 sheng.ADO.NET.Plus V1.3

    GitHub: https://github.com/iccb1013/sheng.ADO.NET.Plus 早前分享过,当时没有把代码上传到Github,只是通过邮件的形式分享给了部分需要的朋友,最 ...

  8. Github 开源:升讯威 Winform 开源控件库( Sheng.Winform.Controls)

    Github 地址:https://github.com/iccb1013/Sheng.Winform.Controls 本控件库中的代码大约写于10年前(2007年左右),难免有不成熟与欠考虑之处, ...

  9. Github 开源:使用升讯威 Mapper( Sheng.Mapper)与 AutoMapper 互补,大幅提高开发效率!

    Github 地址:https://github.com/iccb1013/Sheng.Mapper 在上一篇幅中,简单介绍了 升讯威 Mapper( Sheng.Mapper)[http://www ...

随机推荐

  1. Java基础:JVM垃圾回收算法

    众所周知,Java的垃圾回收是不需要程序员去手动操控的,而是由JVM去完成.本文介绍JVM进行垃圾回收的各种算法. 1. 如何确定某个对象是垃圾 1.1. 引用计数法 1.2. 可达性分析 2. 典型 ...

  2. Ubuntu命令操作

    1../ 当前路径2.ls 列举当前路径下的所有文件及文件夹 默认情况不显示隐藏文件 ls -a 显示隐藏文件 ls -lah h是文件大小 l是显示文件3.cd 跳转路径4.pwd 查看当前所在路径 ...

  3. Python_socket_TCP

    zServer.py # coding=utf-8 import socket words={'how are you?':'Fine,thank you.', ', 'what is your na ...

  4. SSM-SpringMVC-30:SpringMVC中InitBinder的骇客级优化

     ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 上篇博客利用initbinder做了局部的日期类型转换,但是兼容性不要,只支持yyyy-MM-dd这种,所以 ...

  5. SDKManager连不上墙外的网,列表刷新不出来怎么办?

    现在我们都无法正常访问外国的网站了,尤其是Google,这个也没了,问题出不去,好多东西都解决的不是很好,包括SDKManager这个都无法刷新列表,当然在这里,我没有介绍你使用VPN的使用,这样做就 ...

  6. 35.app后端搜索入门

    现在人们的网络生活已经离不开搜索了,遇到不懂的问题,想知道的事情,搜索一下,就知道答案. 在app中,最常见的搜索情景就是搜索用户.只有几百,几千的用户量时,可以直接用用like这样的模糊查询,但是, ...

  7. 10.app后端选择什么开发语言

    在qq上,经常看到有创业团队的创始人一直都招不到技术人员,除了项目的因素外,很大的原因就是所需要掌握的开发语言偏门.通过阅读本文,详细了解选择开发语言的核心原则,使各位心里对开发语言的选择更加有数. ...

  8. vue的常用组件方法应用

    项目技术: webpack + vue + element + axois (vue-resource) + less-loader+ ... vue的操作的方法案例: 1.数组数据还未获取到,做出预 ...

  9. Python web简约表白网页源码分享,时光不老,我们不散!

    演示站:c.lmz8.cn打开js/4.js,复制到工具箱的js代码整理那,先解密,方便查看.工具箱:tool.lmz8.cnjs代码整理.在线解码 这个便是文字,只不过呗转码了,所以要用到解码工具. ...

  10. TestNG失败自动截图

    转自:https://www.cnblogs.com/tobecrazy/p/4814813.html