网站首页 > 技术文章 正文
阿里云一台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 代码质量扫描环境
- 12-22win10连接打印机步骤(如何连接win10打印机)
- 12-22qqzone空间登录(qq空间登陆口)
- 12-22windows怎么强制删除文件(win 强制删除文件)
- 12-22路由器能不能当交换机用(路由器可以当交换机嘛)
- 12-22恢复回收站清空的文件怎么恢复
- 12-21屏幕保护程序的作用是什么(屏幕保护程序的作用是什么意思)
- 12-21qq官网首页恢复好友(qq恢复好友官网登录)
- 12-21电脑自动修复后黑屏有鼠标(电脑自动修复后黑屏有鼠标没反应)
- 最近发表
- 标签列表
-
- cmd/c (90)
- c++中::是什么意思 (84)
- 标签用于 (71)
- 主键只能有一个吗 (77)
- c#console.writeline不显示 (95)
- pythoncase语句 (88)
- es6includes (74)
- sqlset (76)
- apt-getinstall-y (100)
- node_modules怎么生成 (87)
- chromepost (71)
- flexdirection (73)
- c++int转char (80)
- mysqlany_value (79)
- static函数和普通函数 (84)
- el-date-picker开始日期早于结束日期 (76)
- js判断是否是json字符串 (75)
- c语言min函数头文件 (77)
- asynccallback (87)
- localstorage.removeitem (77)
- vector线程安全吗 (73)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- 无效的列索引 (74)
