漏洞类型
主机漏洞
漏洞名称/检查项 Redis 配置不当可直接导致服务器被控制【原理扫描】
漏洞名称/检查项 Redis 未授权访问漏洞【原理扫描】

加固建议
防止这个漏洞需要修复以下三处问题 第一: 修改redis绑定的IP 如果只在本机使用redis服务那么只要绑定127.0.0.1 如果其他主机需要访问redis服务那么只绑定客户主机所在网络的接口 最好不要绑定0.0.0.0 另外需要通过主机内置的防火墙如iptables,或者其他外置防火墙禁止非业务主机访问redis服务 第二: 设置访问密码 在 redis.conf 中找到“requirepass”字段,取消注释并在后面填上你需要的密码。 注:修改redis的配置需要重启redis才能生效。 第三: 使用普通用户启动redis,并且禁止该用户启动shell,禁止使用root用户启动redis。

漏洞描述
redis端口对外开放并且没有配置认证选项,并且以root权限运行,未授权用户可直接覆盖/root/.ssh/authorized_keys 上传公钥直接用root账号登陆ssh服务器。


漏洞修复解决:redis 设置认证密码
为redis设置密码:设置客户端连接后进行任何其他指定前需要实用的密码。
警告:因为redis速度非常快,所以在一台较好的服务器下,一个外部用户可以在一秒钟进行150k次的密码尝试,这意味着你需要指定非常非常强大的密码来防止暴力破解。
修改密码的方法:
1、只需要在redis的配置文件redis.conf中开启requirepass就可以了。
cd /home/hgaop/test/redis-2.8.19/
vim redis.conf --找到下面这行,把注释去掉,requirepass后面填写需要修改的密码
requirepass mypassword

2、重启redis
ps -ef |grep redis
kill -9 13224 --杀死redis进程
ps -ef |grep redis --确认杀死
./redis-server ../redis.conf --重启redis,指定配置文件
ps -ef |grep redis
root 9309 1 0 15:22 ? 00:00:00 ./redis-server *:6379
root 9727 8627 0 15:28 pts/1 00:00:00 grep redis
/redis-cli -h 127.0.0.1 -p 6379 --不用密码登录测试
127.0.0.1:6379> keys *
(error) NOAUTH Authentication required. --拒绝操作
./redis-cli -h 127.0.0.1 -p 6379 -a aop_redis@68 --加-a用密码登录
127.0.0.1:6379> select 1
OK --修复成功









Redis 未授权访问漏洞【原理扫描】修复方法的更多相关文章

  1. Redis未授权访问漏洞复现及修复方案

    首先,第一个复现Redis未授权访问这个漏洞是有原因的,在 2019-07-24 的某一天,我同学的服务器突然特别卡,卡到连不上的那种,通过 top,free,netstat 等命令查看后发现,CPU ...

  2. Docker环境复现利用Redis未授权访问漏洞 >> 批量扫描检测利用

    关于Redis Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库 ...

  3. [ Redis ] Redis 未授权访问漏洞被利用,服务器登陆不上

    一.缘由: 突然有一天某台服务器远程登陆不上,试了好几个人的账号都行,顿时慌了,感觉服务器被黑.在终于找到一个还在登陆状态的同事后,经查看/ect/passwd 和/etc/passwd-异常,文件中 ...

  4. Redis未授权访问漏洞复现

    Redis未授权访问漏洞复现 一.漏洞描述 Redis默认情况下,会绑定在0.0.0.0:6379(在redis3.2之后,redis增加了protected-mode,在这个模式下,非绑定IP或者没 ...

  5. [转帖]Redis未授权访问漏洞复现

    Redis未授权访问漏洞复现 https://www.cnblogs.com/yuzly/p/11663822.html config set dirconfig set dbfile xxxx 一. ...

  6. 利用redis未授权访问漏洞(windows版)

    0x00 原理   首先需要知道的是,redis是一种非关系型数据库.它在默认情况下,绑定在0.0.0.0:6379 ,若不采取相关策略,比如添加防火墙限制非信任IP访问,会使得redis服务暴露到公 ...

  7. Memcache未授权访问漏洞利用及修复

    Memcached是一套分布式的高速缓存系统.它以Key-Value(键值对)形式将数据存储在内存中,这些数据通常是应用读取频繁的.正因为内存中数据的读取远远大于硬盘,因此可以用来加速应用的访问.本文 ...

  8. Redis未授权访问漏洞复现与利用

    漏洞简介 Redis默认情况下,会绑定在0.0.0.0:6379,如果没有进行采用相关的策略,比如添加防火墙规则避免其他非信任来源ip访问等,这样将会将Redis服务暴露到公网上,如果在没有设置密码认 ...

  9. Redis未授权访问漏洞的利用及防护

    Redis未授权访问漏洞的利用及防护 什么是Redis未授权访问漏洞? Redis在默认情况下,会绑定在0.0.0.0:6379.如果没有采取相关的安全策略,比如添加防火墙规则.避免其他非信任来源IP ...

随机推荐

  1. 对 Kubernetes 部署进行故障排除的视觉指南

    链接:https://learnk8s.io/troubleshooting-deployments

  2. 《前端运维》一、Linux基础--09常用软件安装

    一.软件包管理 RPM是RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的"添加/删除程序".软件包有几种类型,我们一起来看下: 源 ...

  3. SQL注入常用命令

    1. 数据库查询版本 Mssql select @@version Mysql select vresion()/select @@version oracle select banner from ...

  4. 为什么要从Web form过渡到MVC中

    可以说,在未来几年中,Web form的使用会逐渐减少,而取而代之的就是MVC.可能你不会同意我的观点,那么我就试着阐述一下我的观点,如果你还是不能接受,那么请你反驳我. 学习一个新语言或者是新架构是 ...

  5. 半吊子菜鸟学Web开发 -- PHP学习2-正则,cookie和session

    1正则表达式 1.1基本的匹配字符串 $p = '/apple/'; $str = "apple banna"; if (preg_match($p, $str)) { echo ...

  6. @RequestMapping 注解?

    该注解是用来映射一个URL到一个类或一个特定的方处理法上.

  7. ThreadPoolTaskExecutor原理、详解及案例

    为什么要用线程池? 服务器应用程序中经常出现的情况是:单个任务处理的时间很短而请求的数目却是巨大的. 构建服务器应用程序的一个过于简单的模型应该是:每当一个请求到达就创建一个新线程,然后在新线程中为请 ...

  8. 什么是多线程环境下的伪共享(false sharing)?

    伪共享是多线程系统(每个处理器有自己的局部缓存)中一个众所周知的性能问 题.伪共享发生在不同处理器的上的线程对变量的修改依赖于相同的缓存行,如 下图所示: 伪共享问题很难被发现,因为线程可能访问完全不 ...

  9. scrapy--使用案例

    1.scrapy框架 1.1 安装scrapy pip3 install wheel 下载twisted http://www.lfd.uci.edu/~gohlke/pythonlibs/#twis ...

  10. 学习openstack(三)

      一.OpenStack初探 1.1 OpenStack简介 OpenStack是一整套开源软件项目的综合,它允许企业或服务提供者建立.运行自己的云计算和存储设施.Rackspace与NASA是最初 ...