阿里云
阿里云多端小程序中小企业获客首选
发表主题 回复主题
  • 2371阅读
  • 0回复

[云安全技术和产品专区 ]Redis数据库服务加固

级别: 论坛版主
发帖
241
云币
478
Redis因配置不当可以导致未授权访问,被攻击者恶意利用。当前流行的针对Redis未授权访问的一种新型攻击方式,在特定条件下,如果Redis以root身份运行,黑客可以给root账户写入SSH公钥文件,直接通过SSH登录受害服务,可导致服务器权限被获取和数据删除、泄露或加密勒索事件发生,严重危害业务正常服务。 0L 7@2|a0  
为了确保Redis可靠的运行,本文指导redis数据库管理员对redis进行加固,具体如下: ?WMi S]Q\  
64;oB_  
.v$ue`  
  • 网络层加固
uk`d,xF   
  1. 强烈建议不要将数据库服务端口开放到互联网上,可以通过安全组 或设置iptables策略仅允许指定的IP来访问Redis服务。
:v''"+\  
  1. iptables -A INPUT -s x.x.x.x -p tcp --dport 6379 -j ACCEPT
aB7d(  
      2.指定redis服务使用的网卡 (需要重启redis才能生效)redis默认是监听的127.0.0.1上,如果仅仅是本地通信,请确保监听在本地。这种方式缓解了redis的风险,当然并不能绝对保证安全了,假如攻击者有了一个webshell,并且redis以root用户运行,就可以通过该redis来反弹shell,来实现提权。 +}`p"<'u  
      3.在 redis.conf 文件中找到 “# bind 127.0.0.1” ,把前面的#号去掉,然后保存。 B44]NsYks~  
注:修改后只有本机才能访问Redis,也可以指定访问源IP访问Redis。
引用
# bind 192.168.1.100 10.0.0.1---指定IP访问redis服务
|ORmS& 7  
U3(L.8(sA  
  • 账号与认证
38OIFT  
  1. 设置访问密码 (需要重启redis才能生效)在 redis.conf 中找到“requirepass”字段,在后面填上你需要的密码,Redis客户端也需要使用此密码来访问Redis服务。
F9ZOSL 8Q  
  1. 打开/etc/redis/redis.conf配置文件:
  2. #requirepass !QE%^E3323BDWEwwwe1839
          确保密码的复杂度,配置完毕后重启服务即可生效。 (4E.Li<O  
  • 服务运行权限最小化
}u38:(^`ai  
1.修改Redis服务运行账号 (需要重启redis才能生效)请以较低权限账号运行Redis服务,并禁用该账号的登录权限。以下为创建一个无home目录和无法登陆的普通权限账号: z2"2tFK  
  1. #useradd -M -s /sbin/nologin [username]
}D8~^   
  • 服务精细化授权
=kyJaT^5[  
redis没有权限分离之说,无管理员账号和普通账户之分,导致攻击者登陆后可执行任意操作,因此需要隐藏重要命令,具体如下: F%Ro98?{  
  1. FLUSHDB, FLUSHALL, KEYS,PEXPIRE, DEL, CONFIG, SHUTDOWN, BGREWRITEAOF, BGSAVE, SAVE, SPOP, SREM, RENAME,DEBUG, EVAL等。
l;.[W|  
在redis2.8.1 及 redis3.x(<3.0.2) 版本下存在eval沙箱逃逸漏洞,攻击者可通过该漏洞执行任意Lua代码。 iW1$!l>v  
具体缓解攻击操作,供参考下述配置将config/flushdb/flushall设置为空,即禁用该命令;也可命名一些攻击者难以猜解的名字。 N8u_=b{X  
  1. rename-command CONFIG “”
  2. rename-command flushall “”
  3. rename-command flushdb “”
  4. rename-command shutdown shotdown_test
  5. 保存后,执行/etc/init.d/redis-server restart重启生效。
pQ4 %]Api  
  • 安全补丁
(e>RNn\  
不定期关注最新软件版本,并升级redis到最新版,防止新漏洞被利用。 *8pe<:A#p  
S" I#>^  
rjhs ?  
[ 此帖被正禾在2017-01-10 17:42重新编辑 ]
发表主题 回复主题
« 返回列表上一主题下一主题

限100 字节
如果您在写长篇帖子又不马上发表,建议存为草稿
 
验证问题: ECS是阿里云提供的什么服务? 正确答案:云服务器
上一个 下一个
      ×
      全新阿里云开发者社区, 去探索开发者的新世界吧!
      一站式的体验,更多的精彩!
      通过下面领域大门,一起探索新的技术世界吧~ (点击图标进入)