核心是让访问控制机制真正起作用,而非形同虚设;关键在于卡死权限边界、收紧默认行为、堵严异常路径,严格实施最小权限原则,所有账户、服务、进程仅赋予完成任务所必需的最低权限。

核心是让访问控制机制真正起作用,而不是形同虚设。关键不在于堆砌功能,而在于把权限边界卡死、把默认行为收紧、把异常路径堵严。
严格实施最小权限原则
所有账户、服务、进程都只赋予完成任务所必需的最低权限。不要沿用默认管理员组成员身份执行日常操作;服务账户避免直接使用SYSTEM或Administrators组;应用程序池身份应限定为ApplicationPoolIdentity或自定义低权限域账户。
- Windows中用Get-LocalGroupMember -Group "Administrators"定期检查管理员组成员,移除非必要账号
- Linux中禁用root远程登录,用sudoers精细控制命令白名单,避免“ALL=(ALL) NOPASSWD: ALL”这类高危配置
- 数据库连接池(如Druid)监控路径必须独立鉴权,不能依赖应用层统一拦截,需在Servlet级做Spring Security过滤或Nginx层做Basic Auth
加固令牌与会话生命周期管理
Windows的UAC、Linux的capability机制、Redis的AUTH流程,本质都是靠运行时令牌控制权限边界。一旦令牌被窃取或伪造,整个防线就崩塌。
- Windows启用强制Kerberos预认证,限制TGT有效期不超过8小时,最大续订期设为7天
- 禁用AlwaysInstallElevated策略,防止低权限用户通过MSI以SYSTEM身份执行代码
- Redis必须设置强密码,禁用CONFIG、FLUSHDB、SLAVEOF等高危命令,绑定内网地址(bind 127.0.0.1或业务网段)
封堵服务与路径级提权入口
很多权限提升不是靠漏洞利用,而是靠配置疏漏——服务二进制文件可写、服务路径未加引号、DLL搜索路径可控,这些都给攻击者留了后门。
- 检查服务二进制路径权限:sc qc 服务名查看路径,再用icacls确认文件及父目录无低权限用户写入权
- 识别未引用路径:PowerUp.ps1中的Get-ServiceUnquoted可快速发现易受“可信服务路径”攻击的服务
- Linux中检查SUID/SGID文件:find / -perm -4000 -o -perm -2000 2>/dev/null,对非必要项及时清除
强化审计与实时响应能力
再严密的预防也难保万无一失。真正的防护闭环,是让每一次越权尝试都被记录、告警、阻断。
- 开启Windows对象访问审计策略,对关键注册表项(如HKLM\SYSTEM\CurrentControlSet\Services)、敏感文件夹启用SACL
- Linux配置auditd规则,监控/etc/shadow、/etc/passwd修改,以及sudo命令执行日志
- 所有监控端点(Druid、Redis INFO、JMX)必须接入统一日志平台,设置“5分钟内同一IP连续3次未授权访问”类规则触发告警











