背景故事:在我们公司,我们购买了一款客户端/服务器进程管理软件,客户端可以通过该软件直接与 SQL 服务器通信。在我看来,这是一个重大的安全漏洞,因为可以从所有客户端计算机上的注册表中读取 SQL 服务器密码。此 SQL 用户可以访问整个数据库。该软件是基于用户的,这显然只是安慰剂,并没有增加任何安全性。该软件的制造商意识到了这个问题,但只提供了一个 Web 访问模块来阻止与 SQL 服务器的直接通信,这将额外花费约 5000 美元。
因此,我想知道是否应该设置另一台 Windows Server,在该服务器上安装客户端软件并将其发布为“RemoteApp”。我想知道这是否足以阻止用户启动任何未发布的程序?我知道,如果客户端软件启动任何其他软件,用户也可以访问该软件。这仅适用于 PDF 阅读器或其他文本编辑器。
考虑到这些信息,我是否可以假设无法读取注册表项和/或启动 RemoteApp 用户上传的任何软件(网络嗅探器等)?
答案1
是的。
您可以使用 RemoteApp 服务器上的软件限制策略和/或 AppLocker 来管理这一点。由于您提到的安全问题,您肯定不希望客户端在最终用户的工作站上运行,除非管理层在对风险进行全面且有据可查的讨论后消除了这些安全问题。
如果您愿意,可以采取其他步骤来锁定 RemoteApp 服务器。例如,我已将 RemoteApp 用户的默认 shell 从 更改为 ,explorer.exe
以logoff.exe
防止非 RemoteApp RDP 登录。
你是正确的不是期望 RemoteApp 本身提供一层安全性。它所做的只是调整用户对应用程序的视图,使其看起来像是在本地运行。您仍然需要管理 RemoteApp 服务器的安全配置,就像 RemoteApp 用户通过 RDP 正常登录一样。