有时,我们的支持和维护人员会整天登录我们的生产应用程序和 SQL Server,有时会进进出出运行各种 SQL 查询。然而,这个问题与运行 SQL 查询无关,而是与 RDP 连接处于打开状态且用户帐户(管理员)连续数小时登录有关。除了它占用了一个用户帐户之外,在阻止这种行为时我还应该引用哪些其他问题?
答案1
存在安全隐患
例如,获得受害服务器任意级别访问权限的攻击者可以运行 MIMIKATZ 攻击并检索会话处于活动状态时保留在内存中的明文凭据。对于尚未过期的活动 Kerberos 密钥,可能也可以执行相同的操作。
此外,当会话处于断开连接模式时,某些防病毒解决方案会拒绝更新。
我想到的是这两个元素,我相信还会有更多。
答案2
由于您允许他们以管理员身份登录,我认为不存在真正的安全问题,因此除此之外,唯一的问题就是可靠性。即使如此,总体而言,这方面的问题可能并不多。
至于开放连接阻止重启的问题,我今天实际上发布了一篇新帖子来解决这个问题:当您不在本地时,如何重新启动服务器?
对我来说,最大的问题是,正如您所说,它们占用了您有限数量的连接之一。假设您不同意我在下一段中所说的内容,如果您遇到问题并想要限制会话,我肯定会配置本地计算机策略。打开 gpedit.msc,导航到计算机配置>管理模板>Windows 组件>终端服务>会话,然后配置您想要的任何时间限制。
如果您必须证明将会话限制给上级,您可以直接告诉他们,如果没有连接,您将无法管理服务器。或者,您可以购买 5 个终端服务器许可证,并将其设为 TS。实际上,我已经为我的一位客户的 SQL 服务器做过这样的事情。
答案3
存在几个问题:
- 当有人使用相同的用户名登录服务器时,他/她将获得开放会话。然后这个人可以看到一些他们无权查看的数据。特别是当查询结果窗口仍处于打开状态时。
- 这样,没人知道这个打开的窗口内发生了什么。(例如,是否有查询运行了几个小时。)如果现在其他人必须登录服务器并且没有打开会话,那么他会将某人踢出。这可能会破坏数据库,因为查询被中止。
答案4
除了占用服务器上不需要使用的资源之外,本身没有任何“问题”。此外,当用户登录时,windowa 不会自动重新启动系统(用于 Windows 更新)。此论点可用于实施 RDP 会话的时间限制。但是,您可以更进一步,提出一个案例,即他们根本没有业务登录服务器。
您不需要通过登录服务器来运行 SQL 查询。SQL Server Management Studio 直接在本地工作站上运行。Windows 中内置了远程管理工具,可以利用这些工具来管理服务器本身。
最令人不安的是,您说他们都是以管理员身份登录的。出于多种原因,这是一个坏主意。用户应该使用自己的帐户获得所需的权限。