背景故事:在我们公司,我们购买了客户端/服务器进程pipe理软件,客户端从该进程pipe理软件直接与SQL服务器通信。 这在我看来是一个重大的安全缺陷,因为可以从所有客户端计算机上的registry中读取SQL服务器密码。 这个SQL用户可以访问整个数据库。 该软件是基于用户的,这显然只是安慰剂,并没有增加安全性。 该软件的制造商意识到这个问题,但只提供一个Web访问模块,以防止直接与SQL服务器通信,这将花费额外的~5000美元。
所以我想知道是否build立另一个Windows服务器安装客户端软件并将其发布为“RemoteApp”是一个好主意。 我想知道这是否足以阻止用户启动任何未发布的程序? 我知道,如果客户端软件启动任何额外的软件,用户也可以访问该软件。 PDF阅读器或其他文本编辑器的情况就是如此。
考虑到这些信息,我是否可以假设无法读取registry项和/或启动由RemoteApp用户上传的任何软件(networking嗅探器等)?
是。
您可以使用RemoteApp服务器上的软件限制策略和/或AppLocker进行pipe理。 由于您提到的安全问题,您绝对不希望客户端运行在最终用户的工作站上,除非这些安全问题是由pipe理层在对风险进行详尽而详细的讨论之后予以注销的。
如果您愿意,可以采取额外的步骤lockingRemoteApp服务器。 例如,我已将RemoteApp用户的默认shell从explorer.exe
更改为logoff.exe
以防止发生非RemoteApp RDPlogin。
您没有料到RemoteApp本身会提供一个安全层。 它所做的只是调整用户的应用程序视图,使其看起来像在本地运行。 您仍然需要pipe理RemoteApp服务器的安全configuration,就好像RemoteApp用户通过RDP正常login一样。