当你的服务器发现actuator暴露之后,是在将来被安全机构测试发现漏洞再甩你一脸的机会?还是彻底终结这一风险?建议你立即采取行动。网上有很多博客分享,但是偏向于远离实战,以下是来自我的实战经验的分享希望能在你需要的时候帮到什么:
1. 自定义屏蔽的误区
后端常常会定义自己的屏蔽字符串进行特定路径的管控
以下为一个常见的误区:
/actuator/**
实际上这么做带来的后果是会被绕过的可能
/./actuator/
是的你没看错,由于web URL服务器处理的复杂性,经常会有很多“惊喜”,彻底屏蔽一个目录将会带来挑战。
除了你使用官方的actuator安全配置外,如果你打算自定义禁止路径那么可以考虑以下的方式:
/**/actuator/**
同样的你的防火墙也可以检查这个字符串以进行屏蔽。
2. 如何更充分的验证你的修复成果?
让我们直接上安全测试用例:
是的,这是我实际的测试用例,我不会尝试其他内容,或者故弄玄虚告诉你还有更多可能。
需要注意的情况就是是否携带TOKEN需要分2次来测试。
3. 事后处理
请及时更新WEB服务商的密码、密钥。
很遗憾,当你发现Actuator被暴露到公网时,你要意识到这个问题可能已经存在一段时间。虽然可能没有完整的访问记录,但密码和密钥可能已经泄露。除了更换Web应用的密钥外,建议你重新评估其他可能受影响的组件,如在线运行的公司邮箱、nacos、ES以及mysql连接等。为确保安全,及时更新这些组件的密码是非常必要的。这是很多修复文章可能没有提到的一点,但它同样至关重要。
希望你在抗衡这个漏洞的过程中玩的愉快~