记一次NACOS开放公网访问导致服务器被挖矿的解决流程 [kdcflush] acosd
前言
事情的起因是这样的,昨天领导找到我说服务器内存满了,影响其他程序正常运行了,让我把测试服务器上之前启动的六个JAVA程序停一下,接着我就登上服务器执行docker compose down把服务关掉,临走之前习惯性使用htop查看一下资源面板,意外发现服务器中有个叫[kdcflush] acosd的进程把服务器CPU性能吃满了

我见识少第一次看到这个服务,觉得应该是公司运行的,好奇心驱使我网上查了下资料,想知道这个中间件(或者其他的程序)的作用是什么,如此消耗性能没准跟AI模型有关,好玩的话以后自己也折腾玩玩,但是查了有一会没找到对应的资料,感觉不太妙,接着跟领导确认了下这个进程是不是我们自己运行的,最终得到的结论是服务器很有可能被挖矿了
意识到问题后领导把它交给了我,我自己也有服务器也处理中过几次挖矿脚本,不过自己的服务器还不是随便折腾,当时我的处理方案就是把数据拷贝出来,给云服务重新装个系统,再把资料放回去服务跑起来就解决了,但是公司的服务器显然不能这么做,不过幸好思路还是有的,这里记录一下解决的流程
正文
挖矿脚本这个东西我遇到好多次了,这是倒是我第一次真正面对他,凭我对LINUX服务器的熟悉程度并不能直接解决它,于是我用kill -9 29273先简单粗暴的把进程杀掉,然后去预习一下资料顺便补补课,大概一个半小时后我准备回来解决它,不出意外它又背着我偷偷运行起来了

首先每个运行的进程都会有一个PID,也就是上面截图中的第一列,而LINUX中一切皆文件,所以这个进程会以文件的形式存在于/proc/pid/exe,查看一下这个进程文件

这个进程的文件指向了/usr/sbin/nacosd文件,瞬间就想明白了,前段时间用测试服务器搭建了NACOS注册中心,用户名密码都是默认的nacos也没改默认端口号没设置鉴权,就那么明晃晃的摆在公网上,原来问题出在这了
杀掉这个脚本很简单,不过得想办法彻底杀掉他不让它在偷偷跑回来,这里先检查服务器中有没有可疑的定时任务

网上简单查了一下titanagent感觉挺正常的,定时任务算是排查完了,接下来排查系统中有没有注册可疑的服务,根据大佬的文章得知LINUX中服务都已文件的形式存放在/etc/systemd/system目录下,这里检查该目录下有没有可疑的服务

嗯!可疑,看看这个服务的内容是什么

嗯!没错了,这个服务的作用就是运行这个挖矿脚本,如果我猜的不错这个服务肯定设置开机自启了

这样依赖思路就理清了,先使用systemctl disable system-nacosd命令关闭该服务的开机自启,然后使用systemctl stop system-nacosd命令停止该服务,然后使用rm命令删除服务配置文件(这部分忘截图了),接着删除/usr/sbin/nacosd这个脚本文件,就算大功告成了

第一次停止脚本大概一个半小时左右再回去看,脚本自己就又跑起来了,如今已经到了第二天的中午服务器还很安静,应该是成功了!
就写到这吧,能力有限技术有限,如果还有哪些我没考虑到的地方欢迎指点
记一次NACOS开放公网访问导致服务器被挖矿的解决流程 [kdcflush] acosd的更多相关文章
- 记一次线上Java程序导致服务器CPU占用率过高的问题排除过程
博文转至:http://www.jianshu.com/p/3667157d63bb,转本博文的目的就是需要的时候以防忘记 1.故障现象 客服同事反馈平台系统运行缓慢,网页卡顿严重,多次重启系统后问题 ...
- 使用Tomcat搭建一个可以通过公网访问的服务器(转)
转自:http://wenku.baidu.com/link?url=kGLhiO1xiiepXa9Q2OJDmm6Zr8dQmpSYYPVTFmc3CZtD6Z7HvFi2miCYDiQdTYF2T ...
- 真实记录疑似Linux病毒导致服务器 带宽跑满的解决过程
案例描述 由于最近我在重构之前的APP,需要和server端进行数据交互,发现有一个现象,那么就是隔1~2天总会发生获取数据超时的问题,而且必须要重启服务器才能解决.早在之前,我有留意到这个问题,但是 ...
- 公网访问阿里云数据库MongoDB——填坑日记
业务情景 两台服务器,一台阿里云ECS云服务器(专用网络),另一台是阿里云数据库MongoDB,处于安全考虑MongoDB是不运行外网连接的,那接下来就看怎么实现公网访问. 看到上面红色的网络类型描述 ...
- Openvpn 公网访问内网
对于需要从公网访问内网的情况, 需要做如下配置 从公网到内网 除了设置net.ipv4.ip_forward = 1 以外, 还需要设置iptables, 增加两行forward # Generate ...
- Android的debug.keystore拒绝访问导致的生成异常及解决方案
构建Android应用程序的时候输出异常:[apkbuilder] keytool 错误: java.io.FileNotFoundException: C:\Users\my\.android\de ...
- 将本地web服务映射到公网访问
本文始发于我的个人博客,如需转载请注明出处. 为了更好的阅读体验,可以直接进去我的个人博客看. 项目部署 之前在学习前端的时候项目都只是在本地测试,永远的都是类似 http://localhost/x ...
- Arduino内部网页代理,网页穿透,公网访问Arduino内部网页
#include <ESP8266WiFi.h> const char* id = "id"; //http://www.mcunode.com/proxy/ ...
- 记一次sql server 2005访问http接口,并解析json的过程
记一次sql server 2005访问http接口,并解析json的过程 JSON解析官方网站:https://www.red-gate.com/simple-talk/sql/t-sql-pro ...
- 阿里云mysql数据库设置让公网访问客户端访问
第一步 首先使用root登入你的mysql ./mysql -u root -p 你的密码 第二步 备注:也可以添加一个用户名为yuancheng,密码为123456,权限为%(表示任意ip都能连接) ...
随机推荐
- java stream 简单函数
写在前面 本文为笔者学习的一些心得,如有问题,评论请轻喷 本文分为以下部分: 中间操作 终止操作 归纳 中间操作 对 list 进行操作,返回一个新的 list 主要函数 作用 filter 过滤操作 ...
- 在 Inno Setup 中检测 .NET 5 / .NET Core 运行环境是否存在
为了将 .NET 5 / .NET Core 应用程序部署到客户机,我们可以编写 Inno Setup 代码来判断客户机是否安装了必要的运行环境..NET 官方仓库 中提供了一个名为 NetCoreC ...
- Python 将Word/ Exce/ PDF/ PPT文档转为OFD文档
OFD(Open Fixed-layout Document )是我国自主制定的一种开放版式文件格式标准.OFD文档具有不易被篡改.格式独立.版式固定等特点,目前常用于政府公文.金融.电子发票等领域. ...
- LVGL8文本框设置长文本会自动滚动到文本最后解决方法
在创建完成并设置完文本之后加一句 lv_obj_scroll_to_y(obj,0, LV_ANIM_OFF); 就可以了 原因:官方控件里面设置文本的接口里面设置文本后会设置一次光标位置到文本末尾, ...
- ctfshow-超详细通关教程-web(1~8)
快捷目录 web1 web2 web3 web4 web5 web6 web7 web8 1.web签到题 打开网址后出现如下界面. 查看一下网站源码 将Y3Rmc2hvd3s1ZjkxNTc3Yy0 ...
- IDEA的安装、激活(到25年2月)&汉化
1,在官网下载IDEA软件,官网 2,下载之后,双击安装包,然后一直点击next即可. (中间可以按照自己的要求设置安装目录) 3,快捷方式和java打钩 4,点击install即可进行安装,时间有一 ...
- 此计算机上不存在虚拟机管理服务(VMMS)。请确保已启用“Hyper-V 服务”功能。
此计算机上不存在虚拟机管理服务(VMMS).请确保已启用"Hyper-V 服务"功能. 解决方法: 在主板BIOS 里开启VT. Intel Virtualization Tech ...
- django通过channels实现websocket
WebSocket协议是基于TCP的一种新的协议.WebSocket最初在HTML5规范中被引用为TCP连接,作为基于TCP的套接字API的占位符.它实现了浏览器与服务器全双工(full-duplex ...
- java和javac编译和运行记事本编写的代码
演示代码如下: package com.springboot.demo; public class Hello { public static void main(String[] args) { S ...
- ObjectMapper Json字符串的转换处理
package com.example.demo; import com.example.pojo.User; import com.fasterxml.jackson.annotation.Json ...