Linux提权防护需从账户、认证、内核、能力四层面持续收敛:严控sudo权限与用户账户,强制密码复杂度及密钥认证,及时更新补丁,移除冗余capabilities,加固文件权限并启用日志审计。

Linux系统账户权限提升漏洞的核心在于攻击者利用配置缺陷、弱权限设置或未修复的提权漏洞,将普通用户权限升级为root或更高权限。预防关键在于最小权限原则、及时补丁管理、严格账户管控和运行时防护。
严格管理用户与sudo权限
避免普通用户拥有不必要的sudo权限,尤其是能执行特权命令的通配符配置(如 "ALL=(ALL) NOPASSWD: ALL")。应按需分配具体命令权限,并启用日志审计:
- 使用 visudo 编辑 sudoers,禁用无限制的NOPASSWD规则
- 对必须授权的命令,明确限定路径和参数(例如 "alice ALL=(root) /bin/systemctl restart nginx")
- 启用 sudo 日志记录:确认 /etc/sudoers 中包含 Defaults logfile="/var/log/sudo.log"
加固基础账户与认证机制
默认账户、空密码、弱口令和长期未更新的密钥是常见突破口。需系统性清理与强化:
- 禁用或删除无用系统账户(如 ftp、sync、games),使用 usermod -L 锁定非必要账户
- 强制密码复杂度:配置 /etc/pam.d/common-password 加入 pam_pwquality.so retry=3 minlen=10 difok=3
- 禁用SSH密码登录,仅允许密钥认证;确保私钥有强密码保护,公钥不存于可写目录
及时修补内核与本地提权漏洞
大量提权漏洞(如 Dirty COW、PTRACE_TRACEME、bpf Verifier绕过等)依赖内核或组件缺陷。不能仅靠“没被扫到”侥幸:
- 启用自动安全更新(如 Ubuntu 的 unattended-upgrades,CentOS/RHEL 的 yum-cron)
- 定期检查内核版本是否在厂商支持周期内;老旧发行版(如 CentOS 7 EOL后)应及时迁移
- 使用 linux-exploit-suggester.sh 或 lynis audit system 辅助识别本地可利用漏洞
限制危险能力与敏感文件权限
Linux capability机制和文件权限配置不当会直接扩大攻击面:
- 移除二进制文件不必要的 capabilities:setcap -r /usr/bin/ping(除非业务强依赖)
- 确保关键系统文件权限合规:/etc/shadow 应为 0000(即 -r--------),/etc/passwd 可读但不可写
- 检查 world-writable 目录(如 /tmp、/var/tmp),启用 noexec,nosuid,nodev 挂载选项
权限提升防护不是一次性配置,而是持续收敛的过程。从账户、认证、内核、能力四个层面同步收紧,配合日志监控与定期审计,才能显著抬高攻击门槛。










