远程桌面的安全
远程桌面有多安全
远程桌面会话通过加密通道运行,防止任何人通过监听网络来查看您的会话。但是,用于加密早期版本RDP中会话的方法中存在漏洞。此漏洞允许使用中间人攻击(链接是外部的)对会话进行未经授权的访问。
在Windows Vista、Windows 7、Windows 8、Windows 10和Windows Server 2003/2008/2012/2016(注意,某些系统MS已经不再提供支持)中,可以使用SSL/TLS保护远程桌面。,虽然远程桌面比不加密整个会话的远程管理工具(如VNC)更安全,但只要远程授予对系统的管理员访问权限,就存在风险。
远程桌面的初级安全技巧
强密码 我只说一句,不要以为Passw0rd就是一个强密码。
双因素身份验证 原理我在之前的文章里讲过吧,但具体怎么实现超过了本文的范围——好吧,主要是超过了我的知识范围:)
更新软件 启用Microsoft自动更新,确保运行的是客户端和服务器软件的最新版本。
限制访问 使用防火墙限制对远程桌面侦听端口的访问(默认为TCP 3389)。
网络级身份验证 默认情况下,Windows 10、Windows Server 2012 R2/2016/2019还提供网络级身份验证(NLA)。NLA在建立连接之前提供了额外的身份验证级别。检查NLA是否启用,需要通过Computer\Policies\Windows Components\Remote Desktop Services\Remote Desktop Session Host\Security查看组策略设置,可参考
https://docs.microsoft.com/en-us/windows-server/remote/remote-desktop-services/clients/remote-desktop-allow-access
限制登录用户 默认情况下,所有管理员都可以登录到远程桌面。单击开始-->程序-->管理工具-->本地安全策略,在本地策略-->用户权限分配下,转到“允许通过终端服务登录”或“允许通过远程桌面服务登录”
删除“管理员”组,保留“远程桌面用户”组。用“系统控制面板”将用户添加到“远程桌面用户”组。最好用组策略来覆盖本地策略
为了控制对系统的访问,通过组策略使用“受限组”也很有帮助。
账号锁定 Start-->Programs--> Administrative Tools--> Local Security Policy,在 Account Policies--> Account Lockout Policies中设置锁定功能可以有效防止暴力**密码
远程桌面安全的最佳实践
RDP gateway 提供了一种方法来严格限制对远程桌面端口的访问,同时支持通过单个“网关”服务器进行的远程连接。使用RD网关服务器时,应将台式机和工作站上的所有远程桌面服务限制为仅允许从RD网关进行访问。RD网关服务器通过HTTPS(端口443)侦听远程桌面请求,并将客户端连接到目标计算机上的远程桌面服务。
配置客户端以使用RD网关很简单。MS官方文档在这里:http://technet.microsoft.com/zh-cn/library/cc770601.aspx
本质上,只需在RDP客户端的“高级”选项卡上进行简单更改
更改RDP端口 更改监听端口将帮助“隐藏”远程桌面,这样可以有效地防御扫描在默认远程桌面端口(TCP 3389)黑客工具以及RDP蠕虫,例如Morto。编辑以**册表项:HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Terminal Server \ WinStations \ RDP-Tcp。将侦听端口从3389更改为其他端口,并记住要使用新端口更新所有防火墙规则。(尽管此方法很有用,但“隐藏”并不是最可靠的安全性方法。)
IPSec或SSH隧道 如果使用RD网关不可行,则可以通过IPSec或SSH隧道化远程桌面会话,从而添加额外的身份验证和加密层。IPSec自Windows 2000以来已内置到所有Windows操作系统中,(参阅:http://technet.microsoft.com/zh-cn/network/bb531150) 。如果有SSH服务器可用,则可以将SSH隧道用于远程桌面连接。
RDP日志记录和配置 监视本地安全日志,查找RDP会话中的异常情况,例如从本地Administrator帐户登录的尝试。