Redis未授权访问漏洞修复

#### windows下的redis未授权修复请参考:https://www.cnblogs.com/mrhonest/p/11427912.html
1.禁止一些高危命令(重启redis才能生效)
修改 redis.conf 文件,禁用远程修改 DB 文件地址
rename-command FLUSHALL ""
 
rename-command CONFIG ""
 
rename-command EVAL ""
 
或者通过修改redis.conf文件,改变这些高危命令的名称
rename-command FLUSHALL "name1"
 
rename-command CONFIG "name2"
 
rename-command EVAL "name3”
 
2. 以低权限运行 Redis 服务(重启redis才能生效)
为 Redis 服务创建单独的用户和家目录,并且配置禁止登陆
 
groupadd -r redis && useradd -r -g redis redis
 
 
3. 为 Redis 添加密码验证(重启redis才能生效)
修改 redis.conf 文件,添加
 
requirepass mypassword
(注意redis不要用-a参数,明文输入密码,连接后使用auth认证)
 
4. 禁止外网访问 Redis(重启redis才能生效)
 
 
修改 redis.conf 文件,添加或修改,使得 Redis 服务只在当前主机可用
 
 
 
bind 127.0.0.1
 
 
在redis3.2之后,redis增加了protected-mode,在这个模式下,非绑定IP或者没有配置密码访问时都会报错
 
 
 
5.修改默认端口
修改配置文件redis.conf文件
 
Port 6379
 
 
默认端口是6379,可以改变成其他端口(不要冲突就好)
 
 
 
6. 保证 authorized_keys 文件的安全
为了保证安全,您应该阻止其他用户添加新的公钥。
 
将 authorized_keys 的权限设置为对拥有者只读,其他用户没有任何权限:
chmod 400 ~/.ssh/authorized_keys
为保证 authorized_keys 的权限不会被改掉,您还需要设置该文件的 immutable 位权限:
chattr +i ~/.ssh/authorized_keys
然而,用户还可以重命名 ~/.ssh,然后新建新的 ~/.ssh 目录和 authorized_keys 文件。要避免这种情况,需要设置 ~./ssh 的 immutable 权限:
chattr +i ~/.ssh
7. 设置防火墙策略  
如果正常业务中Redis服务需要被其他服务器来访问,可以设置iptables策略仅允许指定的IP来访问Redis服务。
posted @ 2019-05-17 14:42  mrhonest  阅读(1020)  评论(0)    收藏  举报