当前位置 主页 > 服务器问题 > nginx问题汇总 >

    Nginx服务器中关于SSL的安全配置详解

    栏目:nginx问题汇总 时间:2018-10-21 16:57

    这篇文章主要介绍了Nginx服务器中关于SSL的安全配置详解,2014年曝出的SSL安全漏洞无疑为整个业界带来了巨大震动,本文便对此给出相关安全维护方法,需要的朋友可以参考下

     本文向你们展示如何在nginx的web服务器上设置更强的SSL。我们是通过使SSL无效来减弱CRIME攻击的这种方法实现。不使用在协议中易受攻击的SSLv3以及以下版本并且我们会设置一个更强的密码套件为了在可能的情况下能够实现Forward Secrecy,同时我们还启用HSTS和HPKP。这样我们就有了一个更强、不过时的SSL配置并且我们在Qually Labs SSL 测试中得到了A等级。

    我们在nginx的设置文档中如下编辑

    复制代码 代码如下:/etc/nginx/sited-enabled/yoursite.com (On Ubuntu/Debian)或者在

    复制代码 代码如下:/etc/nginx/conf.d/nginx.conf (On RHEL/CentOS).

    对于整个说明文档,你需要编辑服务器配置的服务器那块和443端口(SSL配置)。在说明文档的最后,你会发现实现了样例的配置。

    确保在编辑之前做了备份!

    BEAST攻击和RC4算法

    简言之,就是通过篡改加密算法CBC密码块的加密模式,部分加密流量可以被偷偷地解密。更多的信息请参照以上链接。

    新版本的浏览器客户端可以缓解BEASE攻击。建议禁用所有的TLS 1.0密码并且只是用RC4。然而,[RC4有一个不断增加的列表来防止攻击],(http://www.isg.rhul.ac.uk/tls/)其中的很多都将理论和现实交叉在一起。而且,这就是为什么NSA已经破解了RC4,他们所谓的“重大的突破”。

    禁用RC4有几个结果。一、使用差劲儿浏览器的用户将使用3DES来代替。3-DES比RC4更安全。但是就意味着更加昂贵。你的服务器会因为这样的用户开销更大。二、RC4可以缓解BEAST攻击。因此,禁用RC4使TLS 1用户容易受到攻击,通过移动他们AES-CBC(通常的服务器端的BEAST“修复”是优先考虑高于一切的RC4)。我很确信,在BEAST上RC4上的缺陷明显大于风险。确实,客户端的缓解(chrome和火狐都提供)BEAST已不再是个问题。但对于增长RC4的风险:随着时间的推移更多的密码分析将很表面化。

    FREAK攻击

    FREAK是在密码专家小组在INRIA, Microsoft Research and IMDEA所发现的一种中间人攻击。FREAK就是“Factoring RSA-EXPORT Keys .”。这种攻击可以追溯到90世纪90年代,也就是在美国政府禁止出售加密软件到海外的时候,除非输出的密码套件中加密密钥的长度不超过512位。

    被证明是一些先进的TLS客户端-包括苹果的SecureTransport和OpenSSL-有一个Bug在里面。这个Bug造成了它们接受了RSA密钥的输出等级甚至当客户端都不要求RSA的密钥输出等级。这个Bug造成的影响还是相当严重的:假如客户端是易受攻击的并且服务器支持输出RSA,它允许第三人通过一个活跃的攻击者来减弱连接的质量进行攻击。

    这里是两部分服务器必须接受的“RSA输出等级”攻击。

    MITM攻击过成如下:

        在客户端的Hello消息中,它请求一个标准的“RSA”密码套件。     MITM攻击者改变这个消息为了得到“RSA的输出”.     服务器返回一个512位的RSA输出密钥,并用它的永久密钥签名。     由于OpenSSL和SecureTransport存有bug,客户端就接受了这个弱密钥。     攻击者分析RSA模块为了恢复正在通信时RSA的解密密钥。     当客户端把加密的“预备主密钥”发送给服务器时,攻击者现在可以解密它从而得到TLS的“主密钥”。     从现在起,攻击者就可以看到明文了,并且可以注入任何他想的东西。