15 10 月 2026

防火墙挡明枪,入侵检测抓暗箭:装了后门、被改了二进制、偷偷建了管理员账号——这些 fail2ban 看不见。这篇讲 Linux 上的三大检测工具(rkhunter、AIDE、ClamAV)怎么装、怎么用、怎么读报告,以及定期巡检的完整姿势。

需要现成的游戏云服务器,可以看看财富云计算:一键开服面板,NAT 型无独立公网 IP,价格比独立 IP 机型省一半以上,主流游戏都能快速部署。

一、检测体系怎么搭

单点工具不够,一套完整的检测分四层:

层工具抓什么
文件完整性AIDE/Tripwire系统二进制、配置被改
Rootkit 扫描rkhunter/chkrootkit内核级隐藏后门
恶意软件ClamAVwebshell、挖矿程序、病毒文件
行为监控auditd + 日志谁在什么时候动了什么

节奏:装完就建基线,之后每周自动扫一次,报告邮件通知。别等被黑了才装——那时候基线已被污染,什么都比对不出来。

二、rkhunter:Rootkit 猎手

# Debian/Ubuntu
sudo apt-get update
sudo apt-get install rkhunter

# 更新特征库(每次扫描前)
sudo rkhunter --update

# 全盘扫描(几分钟到十几分钟)
sudo rkhunter --check --skip-keypress

# 看报告
sudo grep -E "Warning|Infected" /var/log/rkhunter.log

rkhunter 查这些:

  • 常见 rootkit 的文件特征(KBeast、Adore 等经典木马)
  • 系统命令是否被替换(ls、ps、netstat 被挖矿木马换掉是常规操作)
  • 异常端口、异常 SUID 文件、隐藏进程

属性更新(系统升级后某些二进制合法变化,要告诉 rkhunter):

sudo rkhunter --propupd

报告里出现 Warning 别慌,先看是不是误报(自己编译安装的软件常被报),确认是真后门再处理。处理流程见服务器被入侵应急排查。

三、AIDE:文件完整性监控

AIDE 给全系统文件算指纹,之后任何改动都逃不过。

sudo apt-get install aide

# 初始化:首次扫描全盘建基线(慢,10-30 分钟)
sudo aideinit
# 生成的数据库在 /var/lib/aide/aide.db.gz

# 日常检查
sudo aide --check

# 更新基线(确认变化合法后)
sudo aide --update
cp /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz

监控范围配置(/etc/aide/aide.conf)默认偏全,按需裁剪:

# 只盯关键目录,扫描快、报告干净
/bin NORMAL
/sbin NORMAL
/usr/bin NORMAL
/etc NORMAL
/home/pal/palworld/Pal/Saved/Config NORMAL

AIDE 报告判读:

标记含义
added新增文件(可疑:/tmp、/dev/shm 里的东西)
changed内容被改(可疑:系统二进制变了)
removed文件被删(可疑:日志文件消失是灭迹)

自动化:crontab 每周跑一次,有变化发邮件:

0 3 * * 1 /usr/bin/aide --check | mail -s "AIDE周报-$(hostname)" admin@example.com

四、ClamAV:恶意文件扫描

sudo apt-get install clamav clamav-daemon

# 更新病毒库(首次要下载几百 MB)
sudo freshclam

# 扫描网站目录(webshell 高发区)
sudo clamscan -ri --max-filesize=50M /var/www

# 只报高危
sudo clamscan -ri --infected /var/www

游戏服/网站机器重点扫:/var/www(webshell)、/tmp、/dev/shm、/home(下载的东西)。

clamscan 慢的解法:用 clamdscan(走守护进程,常驻内存,扫描快 10 倍):

sudo systemctl start clamav-daemon
clamdscan -i /var/www

扫到 PUA.Win32.Trojan 之类的先别慌,看文件路径和内容确认——游戏 MOD、破解工具常被误报。真 webshell 长这样:混淆的 PHP、藏在图片目录的 php、名字随机。排查手法见网站被挂马排查清除与防护。

五、auditd:谁动了什么

AIDE 告诉你「文件变了」,auditd 告诉你「谁改的」:

sudo apt-get install auditd

# 盯 /etc/passwd(建账号是入侵标配动作)
sudo auditctl -w /etc/passwd -p wa -k passwd_changes

# 盯游戏服配置
sudo auditctl -w /home/pal/palworld/Pal/Saved/Config -p wa -k palworld_config

# 查记录
sudo ausearch -k passwd_changes -i

输出示例:

type=SYSCALL msg=... arch=c000003e syscall=openat success=yes ... exe="/usr/sbin/useradd" key="passwd_changes"

规则持久化写到 /etc/audit/rules.d/audit.rules,重启不丢。日志集中管理见Linux 日志管理与 logrotate。

六、每周巡检模板(直接抄)

#!/bin/bash
# weekly-security-check.sh
LOG=/tmp/sec-$(date +%F).log

{
echo "===== 新增/异常账号 ====="
awk -F: '$3>=1000 {print $1, $3, $7}' /etc/passwd | grep -v nologin

echo "===== SUID 文件(新增的要查) ====="
find / -perm -4000 -type f 2>/dev/null | grep -vE '^/(usr/bin|bin|usr/sbin|sbin)'

echo "===== 异常监听端口 ====="
ss -tlnp | grep -vE ':(22|80|443|8211) '

echo "===== 计划任务 ====="
crontab -l 2>/dev/null; ls /etc/cron.d/ 2>/dev/null

echo "===== rkhunter ====="
rkhunter --check --sk --summary 2>/dev/null | tail -20

echo "===== AIDE 变化 ====="
aide --check 2>/dev/null | grep -E "added|changed|removed" | head -30

echo "===== 登录失败 Top10 IP ====="
grep "Failed password" /var/log/auth.log 2>/dev/null | tail -1000 | grep -oE '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+' | sort | uniq -c | sort -rn | head -10
} > $LOG 2>&1

mail -s "安全周报-$(hostname)-$(date +%F)" admin@example.com < $LOG

挂 crontab 每周一凌晨跑,周一早上喝着咖啡看报告。更完整的巡检体系见服务器日常巡检清单与自动化。

七、报告出来后的处理优先级

发现动作
系统二进制被改重装该包(apt install --reinstall),查入侵入口
陌生 SUID 文件立刻定位创建时间,反向查是谁放的
webshell隔离文件→分析→清理→补漏洞,全套走挂马排查
异常账号禁用→查创建时间→改所有密码
挖矿进程杀进程→挖定时任务→断网分析,走应急排查
大量登录失败上 fail2ban,见fail2ban 防暴力破解

入侵检测的核心是「基线和比对」:装完机器建基线,之后每周一次自动比对。工具一小时能装完,但能替你抓住那些肉眼永远发现不了的变化。

需要现成的游戏云服务器,可以看看财富云计算:一键开服面板,NAT 型无独立公网 IP,价格比独立 IP 机型省一半以上,主流游戏都能快速部署。延伸阅读:服务器安全基线检查清单、SSH 安全加固进阶、服务器被入侵应急排查。

延伸阅读
  1. 网站环境怎么选:LNMP 手动 / 宝塔面板 / Docker / 云开发
  2. 问卷表单系统搭建:SurveyKing / Formbricks,数据自己收
  3. 图床搭建:Lsky Pro / Lychee,自托管图片托管方案
  4. 邮件列表搭建:listmonk 自托管 Newsletter,把读者握在自己手里
  5. 文档站点搭建:MkDocs / VuePress / Docsify,产品文档与技术手册方案
  6. RSS 阅读器搭建:FreshRSS 自托管,把信息流拿回自己手里
  7. 短链接服务搭建:Shlink 自托管,链接数据自己掌握
  8. 网站状态监控页搭建:Uptime Kuma,服务器挂了第一时间知道
更多阅读
  1. 上一篇:网站速度测试工具与方法:先量化再优化的四层金字塔
  2. 下一篇:Git 仓库与代码泄露防范:.env 推上 GitHub 的急救与预防
发表评论 4