现如今,https 已经成了许多网站的标配。比起最初需要付费的证书,现在已经有了许多免费的证书
但是,仅仅是在服务器上部署证书还是不够的,就 apache 而言(没用过别的),默认的配置仍然具有安全隐患。下面提供了一些加强配置
apache 版本>2.2
去除老旧的协议
vim /etc/httpd/conf.d/ssl.conf
搜索 SSLProtocol
去掉 SSLProtocol All -SSLv2 -SSLv3 -TLSv1
之前的注释(或者自己写也可以)
如果你需要让网站支持一些老旧的浏览器或操作系统,那么请输入 SSLProtocol All -SSLv2 -SSLv3 即可
禁止使用 RC4 密码套件
2015 年 3 月 26 日,国外数据安全公司 Imperva 的研究员 Itsik Mantin 在 BLACK HAT ASIA 2015 发表论文《Attacking SSL when using RC4》阐述了利用存在了 13 年之久的 RC4 漏洞——不变性弱密钥(《Weakness in the Key Scheduling Algorithm of RC4》,FMS 发表于 2001 年)进行的攻击,并命名为 “受戒礼” 攻击(Bar Mitzvah Attack)。根据《Attacking SSL when using RC4》中的阐述,漏洞的成因主要在于不变性弱密钥是 RC4 密钥中的一个 L 型的图形,它一旦存在于 RC4 的密钥中,在整个初始化的过程之中保持状态转换的完整性。这个完整的部分包括置换过程中的最低有效位,在由 RPGA 算法处理的时候,决定伪随机输出流的最低有效位。这些偏差的流字节和明文进行过异或,导致密文中会泄露重要明文信息。
vim /etc/httpd/conf.d/ssl.conf
搜索 SSLCipherSuite
偷懒的方法:
去掉 SSLCipherSuite HIGH:3DES:!aNULL:!MD5:!SEED:!IDEA
之前的注释
提高安全的方法:
自行添加 SSLCipherSuite EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256::!MD5;
优先使用 FS 系列加密套件
vim /etc/httpd/conf.d/ssl.conf
搜索 SSLHonor
去掉 SSLHonorCipherOrder on
之前的注释
开启 HSTS
vim /etc/httpd/conf/httpd.conf
搜索 mod_headers
找到 LoadModule headers_module modules/mod_headers.so
去掉注释(没有就自己加上)
vim /etc/httpd/conf.d/ssl.conf
在 VirtualHost
的最后插入 Header always set Strict-Transport-Security "max-age=63072000; includeSubdomains; preload"
Comments NOTHING