centos exploit如何防范权限提升
小樊
40
2025-12-13 18:27:05
CentOS 防范权限提升的实用清单
一 基线加固
- 保持系统与软件为最新:执行yum update -y或dnf update -y,及时修补内核与组件漏洞(如CVE-2021-4034等本地提权漏洞)。最小化安装,关闭不必要的服务与端口,减少攻击面。
- 强化账户与认证:仅保留必要的root与特权账户;为普通用户设置高强度口令并定期更换;限制su使用范围(编辑**/etc/pam.d/su**,仅允许加入特定组的用户使用);为root设置会话TMOUT自动注销;必要时锁定不再使用的账户(如passwd -l)。
- 保护关键文件:为**/etc/passwd、/etc/shadow、/etc/group、/etc/gshadow设置不可更改属性(如chattr +i**),防止被未授权修改。
- 加固 SSH:禁止root远程登录,改用普通用户登录后sudo提权;启用SSH 密钥认证、禁用密码登录;按需更改默认端口并限制可登录用户/来源网段。
- 启用强制访问控制:保持SELinux为Enforcing模式,策略最小化;如业务允许可考虑AppArmor作为补充。
- 边界与本地防护:使用firewalld/iptables仅开放必要端口;禁用Ctrl+Alt+Del物理重启组合键,降低本地物理接触风险。
二 内核与本地提权防护
- 及时修补内核与内核相关组件:本地提权多与内核/特权组件缺陷相关,出现官方更新应立即升级并重启。
- 降低空指针映射风险:设置vm.mmap_min_addr > 0(如sysctl -w vm.mmap_min_addr=65536),可缓解部分基于空指针映射的本地提权;变更后需重启生效。
- 减少攻击面模块:对业务无依赖的可卸载或禁用模块(如bluetooth、pppox、ipx、appletalk、sctp等),可通过**/etc/modprobe.d/*.conf**的“install xxx /bin/true”方式禁止加载,变更后重启生效。
- 典型提权案例处置(CVE-2021-4034,polkit/pkexec):升级polkit至安全版本(如CentOS 7:polkit-0.112-26.el7_9.1);离线环境可下载对应RPM升级;临时缓解可移除pkexec的SUID位(如chmod 0755 /usr/bin/pkexec),但强烈建议尽快升级而非长期依赖此措施。
三 服务最小化与网络隔离
- 服务最小化:列出并禁用不需要的已启用服务(如systemctl list-unit-files --state=enabled),减少被滥用的本地/远程入口。
- 端口最小化:核查并关闭高风险端口与未使用端口(如netstat -tulpen),仅暴露必要服务。
- 远程服务加固:对SSH等服务仅开放白名单来源;禁用不必要的协议与功能(如FTP等)。
- 文件系统与共享:对NFS等网络共享实施最严格的访问控制(如**/etc/exports**仅授权必要主机与权限),避免通过共享实现横向提权。
四 监控审计与应急响应
- 持续监控与审计:集中收集并分析**/var/log/secure、/var/log/messages、journalctl等日志;部署IDS/IPS与主机加固基线,关注异常sudo**使用、su切换、提权命令执行与可疑网络连接。
- 定期扫描与核查:使用OpenVAS、Nessus等定期漏洞扫描;例行核查SUID/SGID文件(如find / -type f ( -perm -4000 -o -perm -2000 ) -ls)、可疑内核模块与计划任务。
- 事件响应流程:一旦怀疑被提权,立即隔离主机与网络;进行取证留存(日志、进程、网络连接、关键文件快照);依据告警定位漏洞并升级/回滚;完成修复后进行全面复测与加固复盘,恢复业务前确认无残留后门。