我在生产中使用了一个使用sidekiq(使用redis)的ruby应用程序,并且我设法发现正在调用flushall命令,这会导致数据库被擦除(从而删除所有已处理和计划的作业)。
我不知道或不明白可能导致这种情况的原因。 有谁知道我如何开始追踪对flushall的调用?
谢谢,
答案 0 :(得分:2)
您的Redis服务器最有可能在没有任何保护的情况下对公共网络开放 - 这只会引发麻烦,因为任何人都可以连接并做更多的损害而不仅仅是FLUSHALL。如果是这种情况,在烧毁受感染的服务器之后至少使用密码验证 - 攻击者可能已经获得了对服务器操作系统的访问权限,并且从那里知道了哪里。有关更多信息,请访问:http://antirez.com/news/96
如果情况并非如此,并且您在某处随机调用了不需要的命令,则可以尝试通过组合MONITOR
和CLIENT LIST
来跟踪它。
最后,你可以考虑至少暂时重命名/禁用FLUSHALL命令,直到你到达底部。