摘要
CentOS配置SSL之后,需要进行进步一的安全配置操作。
比如:
SSLProtocol all -SSLv2 -SSLv3
本文讲解CentOS 在安装Apache的环境下,开启HTTP/2与开启HSTS的过程。
演示环境
操作系统:CentOS 7.3
容器:Apache
在CentOS部署完成SSL之后,HTTPS连接还不是最安全的,至少是在某些配置方面还是有待欠缺。在CentOS 7.3部署完成SSL之后并成功之后,用vim打开ssl.conf,找到SSLCipherSuite与SSLHonorCipherOrder这两项,并把前面的注释去掉。
另外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对比
开启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"
其中这个:max-age至少大于15768000秒。
HTST协议留后讲解
重启Apache。