我在Shodan上扫描了我的服务器IP,发现它列出了我的MongoDB,并注明“部分启用认证”。
现在,我不知道它实际上意味着什么。我确信我正确地设置了认证,但“部分启用”的词让我担忧。
mongo <your IP>
随时随地都可以执行某些无需身份验证的命令,例如:
db.isMaster()
db.runcommand({buildInfo:1})
db.auth()
....
这会留下漏洞利用、暴力攻击等风险。
服务器响应连接请求时,会暴露使用的mongo信息。服务器广告的版本、ssl库、编译选项和其他信息可以用于搜索已知或0day漏洞。
您可以在shodan上查看暴露的信息https://www.shodan.io/search?query=mongodb+server+information。将其与“部分启用身份验证”的主机可用信息进行比较。
最常见的加固mongodb设置的方法是仅使其从本地网络/VPC/VPN访问。如果业务性质要求裸露的mongo可从互联网访问,则将其隐藏在防火墙后,只允许来自已知IP的连接。在这两种情况下,您将完全不可见于Shodan和类似服务。