1分钟系列之Redis

Posted 陀螺拾趣

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1分钟系列之Redis相关的知识,希望对你有一定的参考价值。

Redis上生产后,关于安全配置方面的检查

1、禁止监听在公网

    Redis监听在0.0.0.0,可能导致服务对外或内网横向移动渗透风险,极易被黑客利用入侵。

   加固建议:在redis的配置文件redis.conf中配置如下:bind 127.0.0.1或者内网IP,然后重启redis


2、修改默认6379端口

    避免使用熟知的端口,降低被初级扫描的风险

    加固建议:编辑文件redis的配置文件redis.conf,找到包含port的行,将默认的6379修改为自定义的端口号,然后重启redis


3、限制redis 配置文件访问权限

    因为redis密码明文存储在配置文件中,禁止不相关的用户访问改配置文件是必要的,设置redis配置文件权限为600。

    加固建议:执行以下命令修改配置文件权限 

chmod 600 /<filepath>/redis.conf


4、禁用或者重命名危险命令

    Redis线上使用keys *命令,也是非常危险的。因此线上的Redis必须考虑禁用一些危险的命令,或者尽量避免谁都可以使用这些命令,Redis没有完整的管理系统,但是也提供了一些方案。

    

    加固建议:修改 redis.conf 文件,添加

rename-command FLUSHALL ""
rename-command FLUSHDB ""
rename-command CONFIG ""
rename-command KEYS ""
rename-command SHUTDOWN ""
rename-command DEL ""
rename-command EVAL ""

然后重启redis。重命名为"" 代表禁用命令,如想保留命令,可以重命名为不可猜测的字符串,如: rename-command FLUSHALL redFlushAll


5、禁止使用root用户启动 

使用root权限去运行网络服务是比较有风险的(nginx和apache都是有独立的work用户,而redis没有)。redis crackit 漏洞就是利用root用户的权限来替换或者增加authorized_keys,来获取root登录权限的

    加固建议:使用root切换到redis用户启动服务:

useradd -s /sbin/nolog -M redis
sudo -u redis /<redis-server-path>/redis-server /<configpath>/redis.conf


6、打开保护模式

redis默认开启保护模式。要是配置里没有指定bind和密码,开启该参数后,redis只能本地访问,拒绝外部访问。

    加固建议:redis.conf安全设置: # 打开保护模式 protected-mode yes




以上是关于1分钟系列之Redis的主要内容,如果未能解决你的问题,请参考以下文章

Redis事务系列之三Redis乐观锁实现秒杀

Redis事务系列之三Redis乐观锁实现秒杀

一分钟学java之springBoot+Redis

内存KV缓存/数据库,可以选择它? | 1分钟系列

Spider实战系列-抓取《一人之下第三季》

一分钟开始持续集成之旅系列之: Vue + 腾讯云 COS 上传部署