上一篇 下一篇 分享链接 返回 返回顶部

服务器挖矿病毒定时查杀自动化脚本实践

发布人: 发布时间:4小时前 阅读量:2

背景与挑战

挖矿病毒(CoinMiner)长期是服务器运维中的高发威胁。攻击者利用未修复漏洞、弱口令或供应链植入等方式,在后台占用CPU/GPU资源进行虚拟货币挖掘。传统人工查杀存在滞后性,无法应对变种与自启动机制。部署定时查杀自动化脚本,可显著降低被持久化控制的风险。

脚本核心设计思路

1. 检测范围与工具

推荐使用成熟的恶意软件扫描引擎(如ClamAV)结合Linux系统内置的top/htoplsofnetstat命令进行行为分析。脚本应遍历以下高风险路径:

  • 常见驻留目录:/tmp、/var/tmp、/dev/shm、/etc/init.d、/usr/lib/systemd/system
  • 隐藏进程:检查CPU使用率异常(如持续>80%)且无对应合法服务名称的进程
  • 异常网络连接:通过netstat -anp识别与已知矿池IP/域名(如pool.minexmr.com)的TCP连接

2. 查杀与清理逻辑

脚本执行以下步骤:

  1. 进程终止:使用kill -9强制结束检测出的挖矿进程
  2. 文件删除:移除对应二进制文件、配置文件及启动项
  3. 恢复系统文件:若病毒修改了cron、ssh authorized_keys或systemd服务,需还原为原始状态
  4. 日志留存:将查杀结果写入/var/log/antiminer_clean.log,便于追溯

定时调度方案(以Linux Crontab为例)

将脚本保存为/usr/local/bin/miner_kill.sh并赋予执行权限(chmod +x)。通过root的crontab添加以下任务:

# 每30分钟执行一次查杀(避开业务高峰可调整)
*/30 * * * * /usr/local/bin/miner_kill.sh >/dev/null 2>&1

建议同时保留一份每日全盘扫描:0 3 * * * /usr/local/bin/miner_kill.sh --full-scan。注意务必在测试环境中验证脚本无副作用,避免误杀合法进程(如监控agent或容器组件)。

关键注意事项

  • 权限控制:脚本运行账户应为root或具有sudoer权限,否则无法杀死root属主进程。
  • 防御前置:查杀脚本不能替代漏洞修复、弱口令清理、防火墙策略等基础安全措施。
  • 更新频率:矿池域名/IP列表应定期从威胁情报源(如AlienVault OTX)同步更新。
  • 日志监控:配合集中日志平台对查杀记录告警,发现多次查杀同一主机则需人工介入。

延伸建议

对于大规模IDC环境,可结合Ansible或SaltStack批量分发脚本及crontab配置。同时部署基于行为的实时检测工具(如falco)能够更快拦截挖矿行为。定期复盘查杀日志,优化白名单机制,降低误报率。

目录结构
全文
企业微信 企业微信
微信公众号 微信公众号
服务热线: 400-790-1688
电子邮箱: 3310008520@qq.com