Reids安全加固
一.简介
Redis 因配置不当存在未授权访问漏洞,可以被攻击者恶意利用。
在特定条件下,如果Redis以root身份运行,黑客可以给root账号写入SSH公钥文件,直接通过 SSH 登录受害服务器,从而获取服务器权限和数据。一旦入侵成功,攻击者可直接添加账号用于 SSH 远程登录控制服务器,给用户的Redis运行环境以及Linux主机带来安全风险,如删除、泄露或加密重要数据,引发勒索事件等。
在 Redis 客户端,测试Redis是否设置密码:
[root@linkops ~]# redis-cli -h 10.16.10.2
redis 10.16.10.2:6379> keys *
1) "1"`
从登录结果可以看出,该 Redis 服务对公网开放,且未启用认证。
二.加固方案
1.禁止监听在公网
指定 Redis 服务使用的网卡
默认情况下,Redis监听127.0.0.1。如果仅仅是本地通信,请确保监听在本地。
这种方式可以在一定程度上缓解 Redis 未授权访问的风险(例外情况下,如果 Redis 以 root 用户运行,攻击者借助已有的 webshell,就可以利用该Redis来反弹shell以实现提权)。
[root@linkops ~]# vim redis.conf
bind 192.168.1.100 10.0.0.1
每次修改配置文件,都要重启redis才会加载最新配置。
2.修改默认6379端口
[root@linkops ~]#
port 6377
3.设置防火墙策略
如果正常业务中 Redis 服务需要被其他服务器来访问,可以通过iptables策略,仅允许指定的IP来访问Redis服务。
iptables -A INPUT -s x.x.x.x -p tcp --dport 6379 -j ACCEPT
4.账号与认证
在 redis.conf 中找到 requirepass 字段,去掉其注释,并在后面填上需要的密码。Redis 客户端也需要使用此密码来访问 Redis 服务。
[root@linkops ~]# vim redis.conf
requirepass www.dgstack.cn12332@@#$%@!%
5.服务运行权限最小化,使用root切换到redis用户启动服务
[root@linkops ~]# useradd -s /sbin/nolog -M redis
[root@linkops ~]# su redis
[root@linkops ~]# sudo -u redis /<redis-server-path>/redis-server /<configpath>/redis.conf
6.禁用或者重命名危险命令
Redis无权限分离,其管理员账号和普通账号无明显区分。攻击者登录后可执行任意操作,因此需要隐藏以下重要命令:
FLUSHDB, FLUSHALL, KEYS,PEXPIRE, DEL, CONFIG, SHUTDOWN, BGREWRITEAOF, BGSAVE, SAVE, SPOP, SREM, RENAME,DEBUG, EVAL
另外,在Redis 2.8.1及Redis 3.x(低于 3.0.2)版本下存在EVAL 沙箱逃逸漏洞,攻击者可通过该漏洞执行任意Lua代码。
xiug修改配置将设置为空,即禁用该命令;也可设置为一些复杂的、难以猜测的名字。
[root@linkops ~]# vim config/flushdb/flushall
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 joYAPNXRPmcarcR4ZDgC
7.打开保护模式
redis默认开启保护模式。要是配置里没有指定bind和密码,开启该参数后,redis只能本地访问,拒绝外部访问。
[root@linkops ~]# vim redis.conf
protected-mode yes
8.安全补丁
定期关注最新软件版本,并及时升级Redis到最新版,防止新漏洞被恶意利用。
Reids安全加固的更多相关文章
- MongoDB数据库未授权访问漏洞及加固
1.漏洞危害 开启MongoDB服务时不添加任何参数时,默认是没有权限验证的,登录的用户可以通过默认端口无需密码对数据库任意操作(增删改高危动作)而且可以远程访问数据库. 2.漏洞成因 在刚安装完毕的 ...
- CentOS 6.5 安全加固及性能优化 (转)
通过修改CentOS 6.5 的系统默认设置,对系统进行安全加固,进行系统的性能优化. 环境: 系统硬件:vmware vsphere (CPU:2*4核,内存2G) 系统版本:Centos-6.5- ...
- ionic ios 友盟多渠道/自动签名/加固之腾讯云。乐固
之前写了一篇文章主要是介绍使用gradle进行多渠道分发处理的文章--链接:http://www.cnblogs.com/happen-/p/6029387.html 最近在做app上线的处理,发现某 ...
- app加固
为什么要加固APP? 答:因为黑客通过反编译APK得到源码后,会在应用中插入代码,获取利益,比如添加广告,盗取用户账号.密码,后台定制活动等. 反编译的方法? 反编译是指apk文件通过反编译工具( ...
- Android动态方式破解apk终极篇(加固apk破解方式)
一.前言 今天总算迎来了破解系列的最后一篇文章了,之前的两篇文章分别为: 第一篇:如何使用Eclipse动态调试smali源码 第二篇:如何使用IDA动态调试SO文件 现在要说的就是最后一篇了,如何应 ...
- Discuz论坛安全加固浅析
[51CTO专稿]Discuz! 论坛以其功能完善.效率高效.负载能力,深受被大多数的网站喜爱和青睐.无独有隅,笔者所维护的论坛就是用discuz! 来构建的,从接手时候的7.2到现在x2.0,经历了 ...
- 基于御安全APK加固的游戏反外挂方案
一. 前言 随着移动互联网的兴起,移动游戏市场近几年突然爆发,收入规模快速增长.根据第三方数据统计,国内移动游戏2015年市场规模已达514.6亿.由于手游市场强势兴起,而且后续增长势头会愈加猛烈.火 ...
- Windows服务器安全加固实战(Windows Server 2008 R2和Windows Server 2012)
最近我们立方技术工作室在使用阿里云的过程中,发现服务器安全性也不是很高,而服务端的安全软件都很贵.为了为朋友们提供更加有效的解决方案,我们决定身体力行,高筑墙,大幅度提升服务器的安全防护级别! 主机安 ...
- android加固系列—2.加固前先要学会破解,调试内存值修改程序走向
[版权所有,转载请注明出处.出处:http://www.cnblogs.com/joey-hua/p/5138585.html] 因公司项目需要对app加固,经过本人数月的研究,实现了一套完整的仿第三 ...
随机推荐
- Django笔记&教程 2-3 视图(view)函数介绍
Django 自学笔记兼学习教程第2章第3节--视图(view)函数介绍 点击查看教程总目录 参考文献:https://docs.djangoproject.com/en/2.2/topics/htt ...
- 系统调用篇——SSDT
写在前面 此系列是本人一个字一个字码出来的,包括示例和实验截图.由于系统内核的复杂性,故可能有错误或者不全面的地方,如有错误,欢迎批评指正,本教程将会长期更新. 如有好的建议,欢迎反馈.码字不易, ...
- c语言循环位移(数字,字符串)
C语言中没有提供循环移位的操作符,但可以通过简洁的方式实现循环移位 设一个操作数x有s位则循环左移n位的操作为: (x << n) | (x >> (s - n)); 同理右移 ...
- [cf1178G]The Awesomest Vertex
2020年论文题,这里给出了一个$o(n\log^{2}n+m\log^{3}n)$的做法,例题3即为原题 1.例题1 题面 给定$n$个一次函数$f_{i}(x)$,$m$次查询$F(x)=\max ...
- Redis | 第一部分:数据结构与对象 中篇《Redis设计与实现》
目录 前言 1. 跳跃表 1.1 跳跃表与其节点的定义 1.2 跳跃表的API 2. 整数集合 2.1 整数集合的实现 2.2 整数集合的类型升级 2.3 整数集合的API 3. 压缩列表 3.1 压 ...
- excel的表格数据插入到数据库
看到有excel保存insert的数据,自己照着教程弄了一下,可以的. 表格数据 接下来我们在d3的位置输入 =CONCATENATE("insert into user(code, nam ...
- PHP 日期详细介绍
简介 你可以使用这些函数获取运行 PHP 的服务器的日期和时间, 也可以使用这些函数把日期和时间 格式化成不同格式的字符串. 日期和时间信息在 PHP 内部是以 64 位数字存储的, 它可以覆盖当前时 ...
- Python技法1:变长和定长序列拆分
Python中的任何序列(可迭代的对象)都可以通过赋值操作进行拆分,包括但不限于元组.列表.字符串.文件.迭代器.生成器等. 元组拆分 元组拆分是最为常见的一种拆分,示例如下: p = (4, 5) ...
- ISIJ2021 游记
Day -419 ~ ? - 2020.5.8 ~ ? 咦?ISIJ2021 怎么会扯到 2020 年的事情呢? 好吧这似乎真的是一个长篇大论,事情真的要从那一天开始讲起-- 仍依稀记得 2020 年 ...
- [NOI2021] 量子通信
嗯. NOI2021最白给的一题. PS:很后悔没打同步赛,少了一张同步赛Ag 考虑加黑的256位01串,我们思考一下. 因为\(k\)小于16,所以我们直接分成16块.所以一定可以的绝对有一块是完全 ...