摘要

CentOS配置SSL之后,需要进行进步一的安全配置操作。

比如:

SSLProtocol all -SSLv2 -SSLv3

让你的HTTPS更安全_java


本文讲解CentOS 在安装Apache的环境下,开启HTTP/2与开启HSTS的过程。

演示环境

操作系统:CentOS  7.3

容器:Apache

在CentOS部署完成SSL之后,HTTPS连接还不是最安全的,至少是在某些配置方面还是有待欠缺。在CentOS 7.3部署完成SSL之后并成功之后,用vim打开ssl.conf,找到SSLCipherSuite与SSLHonorCipherOrder这两项,并把前面的注释去掉。

让你的HTTPS更安全_java_02

另外SSLCipherSuite 的值修改成为:

HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM

开启HTTP/2

Apache 开启HTTP/2,Apache 从httpd 2.4.17开始支持HTTP/2

在CentOS 7.3 使用yum 安装httpd的默认版本是Apache/2.4.6,并不支持HTTP/2。需要下载最新版本并编译。

在ssl.conf的 <VirtualHost>. 节点中,添加:

Protocols h2 h2c http/1.1

并重启Apache。

HTTP/1与HTTP/2对比

让你的HTTPS更安全_java_03

开启HSTS

什么是HSTS呢?(HTTP Strict Transport Security,缩写HSTS),保证用户连接到网站的HTTPS版本,用户访问全称加密。

更多请参考HTTP严格传输安全

部署的话,首先启用HSTS的header模块LoadModule headers_module /usr/lib/apache2/modules/mod_headers.so

然后在<VirtualHost>中加入:

Header always set Strict-Transport-Security "max-age=63072000; includeSubdomains; preload"

让你的HTTPS更安全_java_04

其中这个:max-age至少大于15768000秒。

HTST协议留后讲解

重启Apache。