Apache 安全证书配置

发布于 2019-08-10  216 次阅读


现如今,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"