通常作为一名后端程序员,并没有系统的学习过关于服务器安防相关的知识,遇到服务器被黑的情况往往比较迷茫,不知道从何下手。服务器可能遭受的攻击多种多样,以下主要讲述的是我本次遇到的一次服务器被黑客拿来当矿机的处理过程。

攻击的发现

之所以发现服务器被攻击了是因为有用户反馈系统卡顿非常严重,我知道一般用户反馈描述的那个时间点不应该会有这么高的延迟的,所以就登录服务器查看以下CPU等资源的消耗情况。(挖矿非常消耗CPU性能)

处理步骤

  1. 首先登录服务器,使用‘top’命令查看以下资源的消耗情况(不知道每一列的含义百度一下就好了),看到有一个进程id为15437的进程它消耗了200%的cpu,而且这个进程很陌生,所以非常可疑。

  2. 由于确定这个进程不是我系统服务所需的进程,所以可以使用‘kill -9’命令把它杀掉(例如上一步已知进程id为15437,所以kill -9 15437),杀掉之后我以为大患已除,但没过多久(还不到一分钟)我再次使用top命令查看,发现这个进程又重新起来了(新起了一个进程,进程id变了,但还是那个叫kdevtmpfsi的程序)。照这样看来被我杀死的那个进程应该是有一个父进程的,这个父进程在我杀死这个子进程后又重新把这个子进程拉起。

  3. 使用以下命令可以查看它的父进程id,第三列就是。

ps -ef | grep 'kdevtmpfsi'


4. 知道了父进程的进程id,可以通过以下命令查看这个父进程id对应的程序时哪个,这里我们可以发现,原来时redis服务拉起了这个可疑进程。

cd /proc/进程id
ll


5. 于是我把redis服务停止掉,再次杀掉那个可疑进程,这个可疑进程就不能再起来了。

但是我不能永远把redis服务停掉啊,我的应用需要redis服务。既然知道是redis被入侵了,那么我的想法就是加固redis,加固reids主要从以下两个方面入手:
a. 设置reids只运行本地访问
b. 为redis添加访问密码

redis的配置文件如下。


神奇的是,我的redis配置是需要密码登录,并且只能在宿主机进行访问的。但是我自己尝试了一下在本地使用6379端口竟能直接访问。

netstat -tlunp
ps:通过netstat查看的是处于监听状态的应用(可以理解为已经启动的应用),和安全组没有任何关系,只有在安全组放行的端口才能在公网访问

找到端口对应的进程id,直接kill掉这个进程,端口就关闭了

最终的解决办法,在阿里云控制台配置安全组,关闭了对6379端口的开放。
c. 不对外开放6379端口

记一次Redis被入侵(被黑)处理过程相关推荐

  1. 记一次公司阿里云被黑

    记一次公司阿里云被黑 1.发现问题   公司阿里云连续四条预警,怀疑是被人黑了,并且用python程序干坏事,于是登录公司阿里云查看一波. 进程异常行为-Linux异常文件下载 敏感文件篡改-Linu ...

  2. 记一次博客被日的分析过程

    作者:jasonx 原文来自:记一次博客被日的分析过程  前言: 人在江湖漂,哪能不挨刀.小弟我的博客在21号被日了,想不到从来都是我日人,如今却惨被人日(悲伤脸) 其实挨刀不可怕,可怕的是他砍到了我 ...

  3. 网络入侵检测Slips--StratosphereLinuxIPS 部署过程

    网络入侵检测 StratosphereLinuxIPS 部署过程 指导手册(英文): https://stratospherelinuxips.readthedocs.io/en/develop/ 项 ...

  4. Redis中的执行命令的过程

    Redis中的执行命令的过程 在redis.c的initServerConfig()方法中,通过调用dictCreate方法初始化server端的命令表.这个命令表是一个hashtable,可以通过k ...

  5. 多队列 部分队列没有包_记一次TCP全队列溢出问题排查过程

    简介:记一次TCP全队列溢出问题排查过程 1. 前言 本文排查的问题是经典的TCP队列溢出问题,因TCP队列问题在操作系统层面没有明显的指标异常,容易被忽略,故把排查过程分享给大家. 2. 问题描述 ...

  6. 多次执行sql 后卡住_解Bug之路记一次中间件导致的慢SQL排查过程

    解Bug之路-记一次中间件导致的慢SQL排查过程 前言 最近发现线上出现一个奇葩的问题,这问题让笔者定位了好长时间,期间排查问题的过程还是挺有意思的,就以此为素材写出了本篇文章. Bug现场 我们的分 ...

  7. sql 在某段时间_解Bug之路记一次中间件导致的慢SQL排查过程

    解Bug之路-记一次中间件导致的慢SQL排查过程 前言 最近发现线上出现一个奇葩的问题,这问题让笔者定位了好长时间,期间排查问题的过程还是挺有意思的,就以此为素材写出了本篇文章. Bug现场 我们的分 ...

  8. 记一次国产压铸模拟软件的使用过程

    记一次国产压铸模拟软件的使用过程 最近用到一款压铸模拟仿真软件,确切的说,是一个压铸模拟仿真云平台.之前一提起压铸模拟软件,网上到处都是Procast,Magmasoft,Flow3d-Cast,An ...

  9. 记一次maven项目打包成exe文件过程

    记一次maven项目打包成exe文件过程 步骤 (网上很多) 将java代码在idea中打包成可执行的Jar包 通过exe4j软件打包成exe文件 问题 打包成jar包要么选择IDEA自身打包要么用m ...

最新文章

  1. 【剑指Offer专题】链表系列:从尾到头打印链表、反转链表、回文链表、合并两个排序的链表(C++和Python实现)...
  2. PP模块快速入门之功能简介(二)
  3. 百个JavaScript函数以及基础写法汇总
  4. WPF 触发器Triggers
  5. anaconda和vscode配置python_vscode配置anaconda3的方法步骤
  6. 优化DOTTEXT之三:完善Trackback
  7. CodeForces - 715A Plus and Square Root(思维+构造)
  8. sklearn查看数据
  9. 34.scrapy解决爬虫翻页问题
  10. mix-blend-mode 属性
  11. Hive复杂数据类型 struct
  12. 计算机专业 美国,美国计算机专业的五大名校概况
  13. 解决 could not initialize proxy [com.xxx.xxx.xxx.entity.xxxInfo#1] - no Session
  14. Linux系统里压缩PDF文件大小
  15. java细节篇(==和equals的区别)
  16. Spark SQL的selectExpr用法
  17. python chm模块_python3.7.0官方参考文档 最新api文档 chm
  18. 网络正常连接,浏览器无法访问网络
  19. ubuntu 内存占用过高导致卡死 解决办法
  20. 夜神模拟器和电脑如何互进行文件传输

热门文章

  1. 云仓系统开发云商系统模式详解
  2. set the request's mode to 'no-cors' to fetch the resource with CORS disa
  3. java执行sql列名无效_sqlserver列名无效调试及解决方法
  4. OJ 1199 堆积木
  5. SQL Server数据库实操 第一波 数据查询
  6. 51单片机指令快速记忆方法总结
  7. Infortrend数据库存储解决方案
  8. adb: error: failed to copy ‘xx‘ to ‘xx‘: remote couldn‘t create file: Permission denied
  9. 创业时代,喔,创业时代,有一点可爱有一点呆
  10. 移动APP设计国外资源总汇