This action is not allowed with this security level configuration
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
扶余城里小老二 2025-09-25 18:50关注解决Windows远程桌面服务中“This action is not allowed with this security level configuration”错误
1. 问题背景与常见场景分析
在配置Windows远程桌面服务(Remote Desktop Services, RDS)时,用户登录时常遇到错误提示:“This action is not allowed with this security level configuration”。该问题的核心在于网络级身份验证(Network Level Authentication, NLA)的安全策略与客户端兼容性之间的冲突。
NLA要求在建立完整的远程桌面会话前,先对用户进行身份验证,从而防止未授权访问和中间人攻击。然而,当服务器强制启用NLA,而客户端使用的是旧版RDP协议、不支持CredSSP(Credential Security Support Provider)或未正确配置凭据传递机制时,连接将被拒绝。
典型触发场景包括:
- 使用Windows XP或早期Windows 7版本的RDP客户端连接现代Windows Server
- 第三方RDP工具(如rdesktop、FreeRDP)未启用NLA支持
- 组策略中强制要求FIPS合规或高安全级别加密
- CredSSP更新缺失导致认证协议协商失败
- 本地组策略或域策略限制了允许的身份验证方法
2. 深层技术原理剖析
NLA依赖于CredSSP协议实现安全的身份凭证传输。CredSSP提供了一种机制,使客户端能够在建立远程会话之前向服务器证明其身份,同时防止密码在网络中明文传输。
当服务器设置为“需要用户身份验证才能连接(使用NLA)”时,RDP服务会在TCP三次握手后立即启动TLS加密通道,并通过CredSSP完成客户端身份验证。如果客户端无法响应此挑战(例如缺少CredSSP支持或注册表配置错误),则返回“This action is not allowed...”错误。
以下是NLA连接过程的关键阶段:
- TCP连接建立(端口3389)
- 服务器发送证书并启动TLS加密
- 协商认证方式(CredSSP、SSPI等)
- 客户端提交凭据进行预验证
- 验证通过后加载用户会话环境
- 图形界面初始化
- 会话保持与加密通信
- 异常检测与断开机制触发
- 日志记录(事件ID: 21 & 24 in TerminalServices-RDPClient)
- 审计跟踪写入安全日志
3. 安全与兼容性的权衡策略
在保障安全的前提下解决该问题,需避免简单地禁用NLA(这将显著降低安全性)。以下为推荐的多维度解决方案矩阵:
方案类型 适用场景 安全影响 实施复杂度 是否推荐 升级客户端至Win10+/RDP 8.0+ 可控终端环境 无负面影响 低 ✅ 强烈推荐 启用CredSSP客户端策略 混合OS环境 维持原有安全等级 中 ✅ 推荐 部署RD网关(Remote Desktop Gateway) 跨公网访问 增强整体安全性 高 ✅ 高价值推荐 临时降级安全级别(测试用) 紧急故障排查 增加MITM风险 低 ⚠️ 仅限临时 使用Intune/MDM推送合规配置 企业级设备管理 提升一致性 高 ✅ 长期推荐 配置受信任站点与证书信任链 自签名证书环境 减少警告但需维护PKI 中 ✅ 推荐 4. 具体修复步骤与注册表调整
若客户端支持CredSSP但仍未成功连接,可检查以下关键配置项:
# PowerShell命令:检查本地是否启用CredSSP客户端支持 Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Lsa\Credssp\PolicyDefaults\Client" -Name "DefaultEncryptionLevel" # 注册表路径:控制NLA行为 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp → UserAuthentication (DWORD): 0 = 不要求NLA(不安全) 1 = 要求NLA(推荐值) # 启用CredSSP作为 SSP 提供者 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders → SecurityProviders = msapsspc.dll,credssp.dll5. 网络拓扑中的最佳实践流程图
以下Mermaid流程图展示了从客户端发起连接到最终会话建立的决策路径:
graph TD A[客户端发起RDP连接] --> B{是否支持NLA?} B -- 否 --> C[显示错误: This action is not allowed...] B -- 是 --> D[尝试建立TLS加密通道] D --> E{服务器证书可信?} E -- 否 --> F[提示证书警告] E -- 是 --> G[启动CredSSP身份验证] G --> H{凭据验证成功?} H -- 否 --> I[拒绝连接并记录事件] H -- 是 --> J[加载用户配置文件] J --> K[渲染远程桌面界面] K --> L[会话正常运行]6. 补丁管理与协议演进建议
Microsoft已发布多个针对CredSSP漏洞(如CVE-2018-0886)的安全更新。确保所有系统安装了KB4088787或更高版本补丁至关重要。
对于长期运行的老系统,建议采取以下措施:
- 部署WSUS统一管理RDP相关更新
- 启用Schannel日志以调试TLS协商失败
- 使用Microsoft Remote Desktop Client替代mstsc.exe(支持更多现代协议扩展)
- 在Active Directory环境中配置基于证书的身份验证(Smart Card Logon)
- 结合Azure AD Conditional Access实现零信任接入控制
- 定期审查Event Viewer中TerminalServices-RemoteConnectionManager日志
- 使用Netsh trace抓包分析RDP协商细节
- 配置QoS标记以优先处理RDP流量
- 启用远程FX或AVC/H.264编码提升用户体验
- 集成SIEM系统监控异常登录尝试
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报