rkhunter --checkall 默认交互式暂停需按回车,生产环境应使用 --cronjob 实现自动扫描并记录日志;--propupd 须在系统确认干净后首次运行及核心包升级后更新可信快照。

rkhunter --checkall 为什么卡在按回车?
默认执行 rkhunter --checkall 会逐模块暂停,等你手动敲 Enter——这不是卡死,是交互式设计。生产环境没人守着,必须加参数跳过。
-
--skip-keypress是刚需:让扫描全程自动推进,不中断 -
--quiet要慎用:它会过滤掉所有[ Warning ]和[ Error ],只剩[ OK ],等于自废告警能力 - 真正适合定时任务的是
--cronjob:自动启用--skip-keypress,日志写入/var/log/rkhunter.log,且不刷屏
rkhunter --propupd 必须在什么时机运行?
rkhunter --propupd 不是“升级数据库”,而是给当前系统拍一张可信快照——记录 /bin/ls、/usr/bin/md5sum 等关键文件的权限、大小、inode、MD5 值。一旦系统已被入侵,这个快照就污染了,后续所有比对都失效。
- 首次安装后、确认系统干净(没异常进程、没可疑网络连接)再运行
- 升级
glibc、coreutils等核心包后建议重跑一次,否则可能误报“/bin/ls 权限异常” - 绝对不要在已发现
File hash mismatch或Hidden file的系统上补跑
扫描日志里一堆 [ Warning ] 怎么判断真假?
大量 [ Warning ] 很常见,不代表被黑。重点不是数量,而是类型。
- 先定位日志:
grep "Warning\|Error" /var/log/rkhunter.log | head -20 - 优先盯三类:
File hash mismatch(文件哈希真变了)、Hidden file(/proc 下异常进程或 /dev/.xx 隐藏文件)、Kernel module(陌生内核模块加载) - 像
/sbin/ifdown [ Warning ]或/usr/bin/GET [ Warning ]多因符号链接指向 busybox、SELinux 限制导致,可加ALLOWHIDDENFILE=/sbin/ifdown到/etc/rkhunter.conf并注释原因
只靠 rkhunter 定时扫描够不够?
不够。rkhunter 是静态快照比对工具,只查“文件有没有被改”,不监控“进程有没有在偷偷连外网”或“内存里有没有注入代码”。它属于事后验证,不是实时防线。
- 必须搭配
chkrootkit(检测命令输出篡改模式)和lynis audit system(基线配置检查) - 应急时手动跑
ss -tulpn查监听端口,比依赖 rkhunter 的端口扫描更可靠 - 最保险的方式是用 LiveCD 启动后挂载原磁盘扫描,彻底绕过可能已被劫持的内核和系统命令

















