网站首页 > 技术文章 正文
阿里云一台ECS中招,中招原因可能为版本底,并且WEB界面允许外部访问,因为我们有外部程序员需要上传代码。
受影响的版本:
现像:
CPU一直50%,很聪明!!!
查看进程,有一个GIT用户运行的exe程序持续占有50%的CPU,程序结束后会马上自动拉起。
处理过程:
切换到Gti用户下,查看计划任务:
计划任务为空
/tmp/目录下,没有发现和阿里提示相同的文件夹。
通过lsof -p查看进程,发现境外连接地址,通过IPTABLES禁止访问此地址后,会自动更换其它地址进行自动连接。
[root@~]# lsof -p 9119
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
exe 9119 git cwd DIR 253,1 4096 2 /
exe 9119 git rtd DIR 253,1 4096 2 /
exe 9119 git txt REG 253,1 1709100 1179650 /tmp/kami (deleted)
exe 9119 git 0r CHR 1,3 0t0 1028 /dev/null
exe 9119 git 1w CHR 1,3 0t0 1028 /dev/null
exe 9119 git 2w CHR 1,3 0t0 1028 /dev/null
exe 9119 git 3r CHR 1,3 0t0 1028 /dev/null
exe 9119 git 4u REG 253,1 4 1188868 /tmp/.x11-unix (deleted)
exe 9119 git 5u a_inode 0,10 0 6387 [eventpoll]
exe 9119 git 6r FIFO 0,9 0t0 1319801218 pipe
exe 9119 git 7w FIFO 0,9 0t0 1319801218 pipe
exe 9119 git 8r FIFO 0,9 0t0 1319801219 pipe
exe 9119 git 9w FIFO 0,9 0t0 1319801219 pipe
exe 9119 git 10u a_inode 0,10 0 6387 [eventfd]
exe 9119 git 11u a_inode 0,10 0 6387 [eventfd]
exe 9119 git 12u a_inode 0,10 0 6387 [eventfd]
exe 9119 git 13r CHR 1,3 0t0 1028 /dev/null
exe 9119 git 14u IPv4 1319801220 0t0 TCP nexus.****.com:48948->504e189a.host.njalla.net:https (ESTABLISHED)
iptables -I OUTPUT -d 80.78.24.154 -j DROP
Chain OUTPUT (policy ACCEPT 108 packets, 114K bytes)
pkts bytes target prot opt in out source destination
6 372 DROP all -- * * 0.0.0.0/0 80.78.24.154
因为本人处理过一起类似的问题,所以知道系统里本身的默认命令应该是无法查看到此程序,使用busybox来可以很容易的清理,因为时间有限,我给大家一个小妙招,如果找到busybox,可以下载一个docker镜像,拉起来后,把busybox复制到本机,然后通过busybox进行病毒的清理工作,就易如反掌。
- 清空整个/tmp目录
- 结束所有已经打上deleted标记的进程,通过busybox可以很容易的发现进程信息,阿里的提示是准确的,只不过系统被感染,所以不易查看到相关信息。
[root@ ~]# busybox lsof -p |grep 9459
9459 /tmp/kami (deleted) 0 /dev/null
9459 /tmp/kami (deleted) 1 /dev/null
9459 /tmp/kami (deleted) 2 /dev/null
9459 /tmp/kami (deleted) 3 /dev/null
9459 /tmp/kami (deleted) 4 /tmp/.x11-unix (deleted)
9459 /tmp/kami (deleted) 5 anon_inode:[eventpoll]
9459 /tmp/kami (deleted) 6 pipe:[1319802797]
9459 /tmp/kami (deleted) 7 pipe:[1319802797]
9459 /tmp/kami (deleted) 8 pipe:[1319802798]
9459 /tmp/kami (deleted) 9 pipe:[1319802798]
9459 /tmp/kami (deleted) 10 anon_inode:[eventfd]
9459 /tmp/kami (deleted) 11 anon_inode:[eventfd]
9459 /tmp/kami (deleted) 12 anon_inode:[eventfd]
9459 /tmp/kami (deleted) 13 /dev/null
9459 /tmp/kami (deleted) 14 socket:[1319806273]
9459 /tmp/kami (deleted) 15 socket:[1319803995]
至此,进程再也不会被拉起来。
接下来是升级工作。
- 备份
gitlab-rake gitlab:backup:create #自动备份代码相关内容
手动备份下面文件
/etc/gitlab/gitlab.rb #配置文件须备份
/var/opt/gitlab/nginx/conf #nginx配置文件
/etc/postfix/main.cfpostfix #邮件配置备份
/etc/gitlab/gitlab-secrets.json #存储了gitlab的db secret信息
- 准备gitlab源,本机为Centos7
[gitlab-ce]
name=gitlab-ce
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/
repo_gpgcheck=0
gpgcheck=0
enable=1
gpgkey=https://packages.gitlab.com/gpg.key
- 停相关服务
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
gitlab-ctl stop nginx
- yum安装升级
yum install -y gitlab-10.8.7
yum install -y gitlab-11.3.4
- 启动服务
gitlab-ctl restart
查看可升级的路线图
8.11.Z -> 8.12.0 -> 8.17.7 -> 9.5.10 -> 10.8.7 -> 11.11.8 -> 12.0.12 -> 12.1.17 -> 12.10.14 -> 13.0.14 -> 13.1.11 -> 13.8.8 -> 13.12.15 -> 14.0.12 -> 14.3.6 -> 14.9.5 -> 14.10.Z -> 15.0.Z -> 15.4.0 -> latest 15.Y.Z
上图为gitlab官网公司的升级路线图。
因为时间关系,我司的Gitlab暂升级到11.3.4,其间升到了10.8.7和11.3.4二个版本。升级后,代码访问正常。
猜你喜欢
- 2024-09-29 Hexo历险记之二多系统安装Node(小人历险记森林深处电脑版免安装)
- 2024-09-29 Win7环境下成功安装Nodejs18.16.1
- 2024-09-29 个人云笔记系统搭建(针对window操作系统)
- 2024-09-29 Npm 安装提示 EUNSUPPORTEDPROTOCOL 错误
- 2024-09-29 一个优雅的将NodeJS项目打包成跨平台可执行文件的神器——pkg
- 2024-09-29 Skywalking的编译打包(skywalking java)
- 2024-09-29 windows 安装 node-canvas(windows安装node环境)
- 2024-09-29 json - server:mock接口工具使用(mock-server.js)
- 2024-09-29 用一次就会爱上的cli工具开发(cli 工具)
- 2024-09-29 搭建 sonarqube 代码质量扫描环境
- 1509℃桌面软件开发新体验!用 Blazor Hybrid 打造简洁高效的视频处理工具
- 527℃Dify工具使用全场景:dify-sandbox沙盒的原理(源码篇·第2期)
- 492℃MySQL service启动脚本浅析(r12笔记第59天)
- 472℃服务器异常重启,导致mysql启动失败,问题解决过程记录
- 469℃启用MySQL查询缓存(mysql8.0查询缓存)
- 450℃「赵强老师」MySQL的闪回(赵强iso是哪个大学毕业的)
- 429℃mysql服务怎么启动和关闭?(mysql服务怎么启动和关闭)
- 426℃MySQL server PID file could not be found!失败
- 最近发表
- 标签列表
-
- c++中::是什么意思 (83)
- 标签用于 (65)
- 主键只能有一个吗 (66)
- c#console.writeline不显示 (75)
- pythoncase语句 (81)
- es6includes (73)
- windowsscripthost (67)
- apt-getinstall-y (86)
- node_modules怎么生成 (76)
- chromepost (65)
- c++int转char (75)
- static函数和普通函数 (76)
- el-date-picker开始日期早于结束日期 (70)
- js判断是否是json字符串 (67)
- checkout-b (67)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- & (66)
- java (73)
- js数组插入 (83)
- linux删除一个文件夹 (65)
- mac安装java (72)
- eacces (67)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)