我有两个问题。首先,此设置是否被视为“安全”?
第二,如何判断是否启用了完美前向保密?
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers "EECDH+AESGCM EDH+AESGCM EECDH -RC4 EDH -CAMELLIA -SEED !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS !RC4";
答案1
如何判断 PFS 是否已启用?
128 位 SHA1 被认为是“安全的”吗?
密码学问题非常复杂,涉及许多可能影响整体安全性的不同因素,因此很难说什么是好的或不好的。此外,这完全取决于您和您的需求。
如果你只是在个人博客之类的地方随便用 SSL,那么它就足够了。如果你用它来为一个小型个人网站提供捐赠按钮,那它还是足够的。如果你用它来为银行之类的金融网站,那么你可能需要考虑一些更强大的东西。
美国政府考虑 AES-128足够好对于“绝密”级别的文档,SHA1发现碰撞早在 2005 年。当然,那些是针对 SHA1 的简化子集,但这并不能保证无限期的安全。(无碰撞尚未找到 SHA2 版本。
如果您检查各种网站使用的 SSL(下面的屏幕截图),除了一些有趣和奇怪的结果外,您会注意到许多网站倾向于使用 RC4 进行加密、使用 SHA1 进行身份验证和使用 RSA 进行密钥交换。如果这对银行和政府来说足够好,那么对大多数用户来说可能也足够好。
其次,我如何判断是否启用了完美前向保密?
洛林和里德已经对使用 SSL 和 PFS 给出了详尽的解答。我注意到的一件事是,您实际上出于某种原因避免使用 RC4。
您可以使用以下方式测试服务器的前向安全性(和其他安全方面)SSL 实验室服务器测试(有一点很奇怪,即使是下面的高安全性站点似乎也没有验证前向安全性。我不知道这篇文章是在哪个站点发表的SSL 实验室:部署前向保密用于 FS 在各种客户端上工作的屏幕截图。)
图1:Google 的 SSL 实施
图 2:PayPal 的 SSL 实施
图 2:大通曼哈顿银行的 SSL 实施
图 3:CIA 的 SSL 实现
图 2: 联邦调查局不一致SSL 实现
图 2:国土安全部在其主页上根本没有使用 SSL,尽管它有一篇关于网络安全的文章
答案2
如果您使用任意数量的 SSL 证书检查网站,您就可以回答这两个问题。例如https://sslcheck.globalsign.com和/或https://www.ssllabs.com/ssltest/analyze.html为您提供有关 SSL 证书质量以及 Web 服务器配置处理各种加密参数情况的良好概述。它还为您提供有关如何解决检测到的任何问题的有效信息链接。