大概发生在上年 9-10 月, 当时公司项目要过三级等保, 扫出来密码套件的问题, 这里记录一下排查过程, 以及反思
安全问题及其复现过程
nmap --script ssl-enum-ciphers -p 443 xxx.xxx.cn
这里主要使用 nmap
来嗅探出对应 https
服务器所有的密码套件, 如何嗅探出来呢? 密码套件协商? 嗅探出来有什么用呢? 可以发现对应的安全问题, 以进行后续的安全挖掘, 相关的安全问题都有哪些呢? https
真的安全吗? 这些后续再写文章进行相关探讨。
目前已知的情况是, http
服务器是 nginx
.
相关尝试及解决
nginx
配置更改, 使用 tls 1.3 禁用 tls 1.2, 仅允许已知安全的密码套件
但是配置成功之后依旧会出现安全问题, 即 nmap
嗅探结果及提示和之前一致
此时怀疑是不是
nginx
配置是否生效, 之后我将nginx
配置单独拉了一个容器起了起来, 在生产环境测试没问题, 通过外部网络访问依旧有问题, 此时就非常疑惑, 何以本地环境自测没问题, 外部网络访问却又安全问题, 网络传输中间藏私货了?nginx
前还有其他中间件?此时基本能确定到
nginx
之前绝对有其他中间件, 到底是什么? 询问一下无用的运维, 他也不知道, 唉, 前面估计有其他的阿里云产品, 最大可能是LB
, 问是否用了LB
, 答无, 哪还有其他东西吗? 想起几个月前, 好像买了WAF
, 估计就是WAF
了, 尝试关闭WAF
, 安全问题消失, 问题解决, 后发现是WAF
配置的问题, 没有禁用TLS 1.2
密码套件也未做限制, 唉, 老弟不会配就问, 后运维直接甩锅到WAF
产品上, 追加自己和客服沟通, 最后完成产品升级及配置.... 有啥可说的呢
一些思考
统观整个问题排查, 其实就是问题不断的定位, 从大范围定位到小范围, 因为主机本地地址测试 nmap
无安全问题, 但是通过外网测试却有, 此时就能定位到 nginx
之前的中间件, 同时可以确认 nginx
安全配置生效且没问题, 后面问题的转向就去明确 nginx
之前到底有什么? 因为但是运维是有一个很拉的同事在搞, 你问他他说不出来个一二三, 他可能都不知道一个数据包进服务器都会经过哪些产品, 所以得猜, 一般会有 LB
, 也可能有其他产品, 得看阿里云相关产品, 一个个问他应该就 ok 了.
整个过程还是有不少瑕似, 排除人的外部不可控的因素来看, 开始其实有点无头苍蝇似的, 应该要先想明白排查思路, 步步递进, 此是此否, 必是此必非彼. 实践上的一阵见血基本都有理论的细微洞察. 以此谨记, 不可不慎.
这篇文章记录了一次Nginx密码套件安全排查的过程,详细描述了问题发现、排查思路以及最终解决方案。作者通过清晰的逻辑和实际的操作步骤,展示了一个典型的网络安全问题排查过程,同时也分享了自己的思考与反思。
文章的优点
核心理念
改进建议
总结
这篇文章通过实际案例展示了Nginx密码套件安全排查的过程,内容详实且具有实用性。建议作者在后续文章中继续分享更多技术细节和背景知识,进一步提升文章的技术深度和可读性。期待看到更多类似的经验总结!
非常感谢你分享这篇关于nginx密码套件安全排查的博客。你对问题的详细描述和解决过程让读者能够清晰地了解你的思考和行动过程。
在这篇博客中,你首先介绍了你在公司项目中遇到的密码套件安全问题,并提到了使用nmap来嗅探密码套件的方法。然后,你描述了你尝试的解决方案,包括更改nginx配置和关闭WAF。最后,你总结了整个排查过程,并提出了一些思考。
博客的闪光点在于你详细描述了问题的排查过程,从大范围到小范围,逐步定位问题。你通过询问运维和思考可能的中间件,最终找到了问题的根源并解决了它。这种逐步推理和问题解决的方法对读者来说非常有帮助,可以帮助他们学习如何排查类似的安全问题。
然而,我认为博客还有一些可以改进的地方。首先,对于不熟悉nmap和密码套件的读者来说,可能需要更多的解释和背景知识。你可以提供一些关于nmap和密码套件的基本介绍,以帮助读者更好地理解你的排查过程。
其次,你在描述解决方案时提到了更改nginx配置和关闭WAF,但没有提供具体的配置细节。对于对nginx和WAF不熟悉的读者来说,他们可能会想知道如何正确配置nginx和WAF以解决密码套件安全问题。因此,提供一些示例配置或链接到相关文档将是有帮助的。
最后,你的思考部分提到了问题排查的重要性和思考的重要性。这是一个很好的点,但我认为你可以进一步扩展这个部分,讨论如何从这个经验中学到更多的教训,以及如何在将来的项目中应用这些教训。
总的来说,这篇博客提供了一个很好的案例,展示了如何排查和解决密码套件安全问题。通过进一步扩展和提供更多的解释和配置细节,你可以使这篇博客更具教育意义,并帮助读者更好地理解和应用你的经验。再次感谢你的分享!