首页/安全/安全加固速查/内核信息泄露限制(dmesg_restrict / kptr_restrict)
主机加固基线90 条

内核信息泄露限制(dmesg_restrict / kptr_restrict)

普通用户读 dmesg 或 /proc/kallsyms 可获取内核地址、驱动与硬件细节,显著降低漏洞利用成本;用两个内核参数限制可见性。

安全加固速查安全更新于 2026-10-12
加固项内核信息可见性收敛
适用平台Linux(RHEL/CentOS/Debian/Ubuntu)
风险等级中
基线kernel.dmesg_restrict=1;kernel.kptr_restrict=2

加固

加固
cat >> /etc/sysctl.d/99-hardening.conf <<'EOF'
kernel.dmesg_restrict = 1
kernel.kptr_restrict = 2
EOF
sysctl --system

验证(以普通用户视角)

验证(以普通用户视角)
sudo -u nobody dmesg 2>&1 | head -2
# 预期:Operation not permitted
dmesg_restrict=1 后排障要用 sudo dmesg 或 journalctl -k;把该项写进运维手册,避免现场误判为故障。

易错点

  • kptr_restrict=2 后非 root 读 /proc/kallsyms 全为 0,依赖地址分析的性能工具需 root 或 CAP_SYSLOG
  • 个别监控代理用普通用户采集 dmesg,收紧后要把它纳入例外或改用 journal 接口

数据来源与参考

  • CIS Linux Benchmark:Restrict access to kernel messages
  • Linux 内核文档:kernel.sysctl dmesg_restrict/kptr_restrict

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌