内核参数加固与审计核心在于权限控制与可追溯性:聚焦/proc/sys/敏感开关、/etc/sysctl.conf及其包含文件、fs.protected_sysctl等关键防护开关;用find和ls命令快速识别非root可写项;通过chmod 600、启用fs.protected_sysctl=2、GRUB固化及auditd监控实现分层防御与操作留痕。

内核参数加固与审计不是调几个数字,而是构建一道运行时防线——重点在于控制谁有权限改、改了有没有痕迹、异常修改能不能被拦住。
盯紧三类高危参数文件
真正需要审计的不是所有参数,而是那些一旦被改就可能失控的节点:
-
/proc/sys/ 下的敏感开关:比如
/proc/sys/kernel/unprivileged_bpf_disabled、/proc/sys/kernel/modprobe,普通用户写入可直接绕过权限加载恶意模块; - /etc/sysctl.conf 及 /etc/sysctl.d/*.conf:这些是持久化配置,若权限为 644 或更宽松,非 root 用户就能篡改并随重启生效;
-
关键防护开关本身:如
fs.protected_sysctl、kernel.modules_disabled,它们管着其他参数是否可被改,必须优先锁定。
用命令快速定位风险点
别靠肉眼翻,用标准工具筛出异常:
- 查哪些
/proc/sys/节点对非 root 可写:find /proc/sys -type f -writable 2>/dev/null | xargs -r ls -l - 看配置文件权限是否收紧:
ls -l /etc/sysctl.conf /etc/sysctl.d/*.conf 2>/dev/null - 确认关键参数值是否被意外覆盖:
sysctl -n kernel.unprivileged_bpf_disabled fs.protected_sysctl,输出应为1和2。
分层加固:从运行时到启动固化
单靠 chmod 不顶用,得组合手段堵死所有路径:
- 把配置文件权限设为
600,属主必须是 root:chmod 600 /etc/sysctl.conf /etc/sysctl.d/*.conf; - 启用
fs.protected_sysctl=2(Linux 4.17+),防止命名空间逃逸写入,加进/etc/sysctl.conf后执行sysctl -p; - 对无法运行时锁定的参数(如
kernel.modules_disabled=1),直接写进 GRUB 启动参数,比依赖 /proc 权限更可靠。
让异常修改留下痕迹
光防不住还不够,得让每次改动都可追溯:
- 用
auditd监控关键路径:
在/etc/audit/rules.d/下加规则:-w /proc/sys/ -p w -k sysctl_write-w /etc/sysctl.conf -p wa -k sysctl_conf; - 配合
ausearch -k sysctl_write查谁、何时、改了哪个参数; - 把 audit 日志发到远程 SIEM,避免本地日志被删。

















