应从登录方式、执行上下文、服务调用、网络可达性四个维度同步设防:禁用root/administrator直接远程登录,剥离其服务运行身份,限制本地脚本执行权限,并通过防火墙和网络策略阻断非授权通信路径。

限制特权账号在非授权环境运行,核心是切断其“默认可用性”和“隐式执行路径”。不能只靠禁用账户或改密码,而要从登录方式、执行上下文、服务调用、网络可达性四个维度同步设防。
禁止特权账号的非必要登录通道
Root 和 Administrator 不应具备直接登录能力,尤其不能通过远程协议裸奔接入。
- Linux:禁用 root 的 SSH 登录,修改
/etc/ssh/sshd_config中PermitRootLogin no,重启 sshd;日常运维使用普通用户 + sudo(且 sudo 配置需细化到具体命令) - Windows:通过组策略禁用 Administrator 的远程桌面、网络访问、批处理和服务登录权限。路径为:计算机配置 → 策略 → Windows 设置 → 安全设置 → 本地策略 → 用户权限分配,启用“拒绝通过网络访问此计算机”“拒绝作为服务登录”等策略,并将 Administrator 加入对应列表
- 云服务器:关闭控制台密码登录,强制使用密钥对 + MFA 组合认证;管理端口(如 22/3389)仅放行跳板机 IP 或企业出口固定 IP 段
剥离特权账号的服务与后台执行能力
攻击者常利用服务帐户长期驻留、自动启动、高权限运行的特点横向渗透。必须阻断这一路径。
- 禁止将 Administrator 或域管理员帐户设为任何 Windows 服务的运行身份;改用专用托管服务帐户(gMSA)或最低权限的本地服务帐户
- 检查所有计划任务(Task Scheduler)、启动项、WMI 事件订阅,确认无特权账户触发的脚本或程序;可使用 PowerShell 命令
Get-ScheduledTask | Where-Object {$_.Principal.UserId -match "Administrator|Domain Admins"}快速扫描 - Linux 上禁用特权用户启动的 systemd 服务(
systemctl --user类服务),所有服务应以专用系统用户运行,并通过sudoers显式授权所需操作
限制特权账号的本地交互与脚本执行环境
即使账号无法远程登录,若能在本地执行任意代码,仍构成严重风险。需收紧执行上下文。
- Windows 启用软件限制策略(SRP)或 AppLocker:设置默认“不允许运行”,仅白名单允许的签名二进制、PowerShell 脚本、Office 宏可执行;特别阻止
cmd.exe、powershell.exe、certutil.exe等常用攻击载荷载体被 Administrator 调用 - Linux 使用 SELinux 或 AppArmor 强制限制 root 进程行为,例如禁止其加载未签名内核模块、写入非系统目录、建立外连 socket;也可通过
noexec挂载选项禁止 /tmp、/var/tmp 执行代码 - 禁用 PowerShell 的远程执行策略(
Set-ExecutionPolicy Restricted -Force),并关闭 WinRM 服务(除非明确需要)
切断非授权网络与进程通信路径
特权账号一旦运行,其进程可能成为攻击跳板。需隔离其网络能力和进程可见性。
- 防火墙规则限制:对 Administrator 或 root 启动的进程,禁止其主动连接外部 IP(出站);仅允许特定端口(如 DNS、NTP)和内部管理网段通信
- Windows 使用网络策略(如 GPO 中的“Windows 防火墙:高级安全”)绑定规则到用户主体,而非仅 IP 或端口;例如:“拒绝用户 Administrator 的所有出站 TCP 连接”
- Linux 使用 cgroups + net_cls 控制器标记特权进程流量,并配合 iptables 匹配 CLASSID 实施细粒度过滤;也可用 eBPF 工具(如 cilium)实现运行时网络策略











