Windows 10 Home 我的 Sql Server (SSMS) 被黑客入侵了吗?我在 sys.syslogins 中没有分配的奇怪密码

Windows 10 Home 我的 Sql Server (SSMS) 被黑客入侵了吗?我在 sys.syslogins 中没有分配的奇怪密码

我在 Windows 10 家庭版中运行带有 SSMS 和 Windows 身份验证的 Sql Server Dev 2017。我的 SqlServer 一直处于离线状态(我的 SqlServer 已禁用 TCP/IP,防火墙中没有入站规则),并且一直位于我的 PC 中,即不在网络中的任何服务器中。我的服务器中有 3 个实例,没有一个允许 Sql Server 身份验证

在此处输入图片描述

在做其他工作时,我使用了表“sys.syslogins”,其输出如下:

在此处输入图片描述

我很好奇:

  1. 为什么在我使用 Windows 的情况下会有一个包含登录信息的表,而在我使用 Win 身份验证的情况下,它并不需要登录信息?
  2. 鉴于我不懂中文,而且该表格从未上线过,图片中的中文字符是如何输入的?我是否可以合理地推断有人获得了对我电脑的物理访问权限?
  3. 在哪里/如何检查登录设置的时间?我猜是我的 SQL Server 日志,但是,更具体地说,在哪里?也许在我的 Win10 事件查看器中?

答案1

问题1

为什么在我使用 Windows 的情况下会有一个包含登录信息的表,而在我使用 Win 身份验证的情况下,它并不需要登录信息?

即使 Windows 登录也需要密码,尽管在出现连接窗口时您无需输入密码。当您输入用户名(Windows 登录名)时,SQL Server 会直接与 Windows 检查密码,如所述这里因为它信任它:

当用户通过 Windows 用户帐户连接时,SQL Server 使用操作系统中的 Windows 主体令牌验证帐户名和密码。这意味着用户身份由 Windows 确认。SQL Server 不会要求输入密码,也不会执行身份验证。Windows 身份验证是默认的身份验证模式,比 SQL Server 身份验证安全得多。Windows 身份验证使用 Kerberos 安全协议,针对强密码的复杂性验证提供密码策略实施,提供帐户锁定支持,并支持密码过期。使用 Windows 身份验证建立的连接有时称为受信任连接,因为 SQL Server 信任 Windows 提供的凭据。

问题2

鉴于我不懂中文,而且该表格从未上线过,图片中的中文字符是如何输入的?我是否可以合理地推断有人获得了对我电脑的物理访问权限?

正如@Ranhound在评论中所说,这些汉字实际上并不是中文字符。正如当客户端计算机的代码页与 SQL Server 2005 中的数据库的代码页不同时,字符数据显示不正确(较新版本也有效),字符显示不正确可能是由于:

X 存储在代码页 Y 的非 Unicode 列中。此外,字符数据无法正确转换。我们不支持将代码页 X 的字符数据存储在代码页 Y 的列中。

在 SQL Server 2005 中,当您使用非 Unicode 数据类型的字符串文字时,将使用从数据库排序规则派生的数据库默认代码页转换该字符串文字。将代码页 X 的字符数据存储在代码页 Y 的列中可能会导致数据丢失或数据损坏。

问题 3

在哪里/如何检查登录设置的时间?我猜是我的 SQL Server 日志,但是,更具体地说,在哪里?也许在我的 Win10 事件查看器中?

您可以运行以下查询,如下所示这里

SELECT [name], createdate, updatedate  , isntuser, isntgroup FROM syslogins;

查询将输出:

  • 登录名
  • 登录名创建时间
  • 上次修改登录信息的时间(密码更改或登录信息中的某项设置更改)
  • 登录是否是基于 Windows 的用户帐户
  • 登录名是否是基于 Windows 的安全组

相关内容