怎么配置内核模块黑名单限制恶意驱动加载防范内核级 Rootkit 实战

阿枫大大_8511

阿枫大大_8511

2026-06-27

934人浏览

原创

配置内核模块黑名单本身不能直接防范rootkit,真正起效的是install /bin/false强制失败、auditd源头监控和内核签名强制三者协同;单独blacklist几乎总失效,必须成对使用blacklist与install指令,并配合initramfs更新、modules_disabled启用及grub参数加固。

怎么配置内核模块黑名单限制恶意驱动加载防范内核级 rootkit 实战

配置内核模块黑名单本身不能直接“防范 Rootkit”,它只是阻断已知风险模块的加载路径;真正起效的是 install 指令强制失败 + auditd 源头监控 + 内核签名强制 三者协同。单独 blacklist 几乎总失效,必须堵死所有加载入口。

用 install /bin/false 彻底封死模块加载

blacklist 只拦 modprobe 命令,拦不住 udev 自动加载、依赖触发、initramfs 预加载。真正可靠的写法是成对出现:

  • 在 /etc/modprobe.d/ 下新建文件,如 disable-risky.conf,后缀必须为 .conf
  • 每项禁用需同时写两行:
    blacklist usb-storage
    install usb-storage /bin/false
  • 模块名不带 .ko 或路径,只写内核识别名(如 btusb、n_hdlc、appletalk)
  • 权限设为 644,否则 modprobe 静默跳过

验证是否真生效,不能只看 lsmod

改完配置后必须做三项检查,缺一不可:

Codex Auth Cleaner
Codex Auth Cleaner

一款AI工具,主要用于Monitor and clean up invalid Codex authentication files in CPA. Check quota status, disable files returning 401 errors, and perform dual verification before deletion.,适合需要提升相关任务效率的用户。

下载
  • 运行 modprobe -n -v 模块名:输出中必须含 install /bin/false,而非 insmod /lib/modules/...
  • 插入对应硬件(如 U 盘),立刻执行 dmesg | tail -10:不应出现该模块 probe 成功日志(如 usb-storage 1-1:1.0: USB Mass Storage device)
  • lsmod | grep 模块名 应无输出;若已加载,先 sudo modprobe -r 模块名 再查

配套加固:让黑名单不被绕过

仅靠黑名单不够,Rootkit 常绕过或伪造加载行为:

  • 更新 initramfs:
    Debian/Ubuntu 执行 sudo update-initramfs -u
    RHEL/CentOS 执行 sudo dracut --force
  • 启用内核模块签名强制:
    确认 CONFIG_MODULE_SIG_FORCE=y 已编译,且已部署可信密钥
  • 运行时禁用加载:
    echo 1 > /proc/sys/kernel/modules_disabled(重启失效,可写入 /etc/sysctl.conf)
  • 若模块是 built-in(grep CONFIG_USB_STORAGE /boot/config-$(uname -r) 输出为 =y),黑名单无效,只能加内核参数:modprobe.blacklist=usb-storage 到 GRUB_CMDLINE_LINUX_DEFAULT 并 update-grub 或 grub2-mkconfig

结合 auditd 实现行为级检测

黑名单防不住未知模块,auditd 能捕获真实加载行为:

  • 在 /etc/audit/rules.d/10-lkm.rules 中添加:
    -a always,exit -F arch=b64 -S init_module -k lkm_load
    -a always,exit -F arch=b64 -S delete_module -k lkm_unload
  • 重载规则:sudo augenrules --load 或重启 auditd
  • 重点筛查日志字段:
    comm 异常(如 sh、python3)
    exe 指向 /tmp/ 或 /dev/shm/
    cwd="/tmp"
    auid=4294967295(未审计用户)
  • 关联分析:
    ausearch -m SYSCALL -sc init_module | grep "sig=0" 查无签名模块
    ausearch -m SYSCALL -sc openat -f '.*\.ko$' 追踪 .ko 文件来源

相关文章

驱动精灵
驱动精灵

驱动精灵基于驱动之家十余年的专业数据积累,驱动支持度高,已经为数亿用户解决了各种电脑驱动问题、系统故障,是目前有效的驱动软件,有需要的小伙伴快来保存下载体验吧!

下载

相关标签:

黑名单

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

3970

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3393

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2553

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

6170

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

5802

7

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.20

3393

8

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2023.07.20

2905

4

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

2023.07.25

3119

6

linux查找文件命令
linux查找文件命令

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.31

297

3

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.6万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.4万人学习