在 Redis 中禁用 Lua 调试器
Posted
技术标签:
【中文标题】在 Redis 中禁用 Lua 调试器【英文标题】:Disable Lua debugger in Redis 【发布时间】:2021-12-01 23:02:43 【问题描述】:我想确保客户端不能使用 Redis 的 Lua 调试器。
我已经设置了 ACL 以防止使用 SCRIPT
和 EVAL
命令。
我在https://redis.io/topics/ldb 上看到可以使用 CLI 标志进入远程调试模式。这是否也被 ACL 阻止了,还是有其他需要注意的方法?
我根本不使用 LDB,所以如果可能的话,在构建时禁用它会很好。
【问题讨论】:
你能更详细地解释一下你在用 Redis 做什么吗?听起来您不信任它的客户端,但这与 Redis 使用的安全模型相反。 最小权限原则。我可能会在某些事情上信任客户,但这并不意味着我允许对所有事情进行访问。例如也许这些客户端能够以某种方式受到损害,但这并不意味着 Redis 也应该受到损害。 重点是,对于 Redis 的安全模型,除非您还要做大量其他工作,否则仅禁用 Lua 调试器并不会真正产生影响。 LDB 有 CVE。很遗憾,我目前无法更新到较新的版本。 【参考方案1】:Redis Lua调试器是远程调试器,需要Redis服务器和客户端协同工作。
您可以通过rename-command
配置或ACL 禁用SCRIPT
命令。虽然客户端可以进入调试模式,但是Redis服务端会拒绝SCRIPT DEBUG
子命令,远程调试也不起作用。
我根本不使用 LDB,所以如果可能的话,在构建时禁用它会很好。
您不能在构建时禁用它,除非您修改源代码以删除该功能并重新构建它。
【讨论】:
以上是关于在 Redis 中禁用 Lua 调试器的主要内容,如果未能解决你的问题,请参考以下文章
springboot中使用redis,并且执行调试lua脚本