前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Redis 可以禁用的高危命令

Redis 可以禁用的高危命令

作者头像
zeekling
发布2022-08-02 00:19:40
1.9K0
发布2022-08-02 00:19:40
举报
文章被收录于专栏:浪浪山下那个村

高危命令禁用

redis一款高并发的内存K-V数据库,提供了好多命令,但是其中有部分对于生产环境来说比较危险,需要禁用掉。

keys 命令

keys 命令执行的时候是需要进行全库扫描的,因为redis执行的主线程是串行的,所以会导致其他命令也执行慢,从而拖垮整个redis实例。

flushdb、flushall 命令

flushdb、flushall是清空redis数据库里面数据的命令,禁用原因:

  • 清空数据之后,开启RDB持久化一般无法恢复了,需要开启AOF持久化才有可能恢复数据。
  • 清空数据的操作本身耗时比较长,当数据量大的时候容易扩跨整个redis实例。

config 命令

config命令可以直接修改redis加载到内存里面的配置信息,个人觉得主要是一些关键配置,比如:dir、dbfilename。这两个参数结合起来可以利用redis进行攻击,具体可以参考:https://www.freebuf.com/articles/328286.html 中webshell部分。

debug 命令

DEBUG 命令是一个内部命令。 它旨在用于开发和测试 Redis,比如下面命令,可以直接让redis停止工作10 s

代码语言:javascript
复制
debug sleep 10

eval 命令

eval 命令用于执行lua脚本,建议禁止的原因是lua脚本里面信息redis没办法控制,比如,在lua脚本里面构造大量循环,会导致redis主进程僵死。

script、evalsha命令

script、evalsha结合起来也可以执行lua脚本,原因同eval 命令

shutdown 命令

shutdown可以直接停止redis服务。属于危险命令的范畴。

高危命令禁用方法

在redis.conf 里面加入下面配置

代码语言:javascript
复制
rename-command keys ""
rename-command flushall ""
rename-command flushdb ""
rename-command debug ""
rename-command eval ""
rename-command config ""
rename-command shutdown ""
rename-command script ""
rename-command evalsha ""

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 高危命令禁用
    • keys 命令
      • flushdb、flushall 命令
        • config 命令
          • debug 命令
            • eval 命令
              • script、evalsha命令
                • shutdown 命令
                • 高危命令禁用方法
                相关产品与服务
                云数据库 Redis
                腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档