sqlserver evaluation是什么版本_使用SSMS扫描和查找SQL Server数据库的潜在安全漏洞...

SQL Server Management Studio 17.4或更高版本的SSMS中提供了SQL Server漏洞侦测(VA)功能,此功能允许SQL Server扫描您的数据库以查找潜在的安全漏洞,并且可以针对SQL Server 2012或更高版本运行。如果您还没有使用SSMS上的较新版本,请不要担心,您可以在此处 进行下载。

作者:依乐祝
原文地址:https://www.cnblogs.com/yilezhu/p/10157012.html

写在前面

当我们对数据进行任何类型的扫描时总是让我很担心,因为进行数据库扫描时的性能影响可能真的会毁了你的一天。幸运的是,VA是轻量级的,并且可以在不影响性能的情况下运行,同时可以深入了解并指出我们可以在哪里改进SQL Server的安全性。该过程被设计成使用知识库规则来满足数据隐私标准和遵从性,这些规则寻找与Microsoft最佳实践的偏差从而给出。

实战演练

  1. 要运行漏洞侦测,只需选择我们需要扫描的数据库,然后右键单击并选择“任务”。在这里,您将看到漏洞评估选项接着选择扫描漏洞。如果您之前运行过一个VA,则可以通过选择“打开现有扫描”来访问它。

    dea402db9f5953de77a206bcd185c871.png

  2. 它会弹出一个窗口,然后我们按下图所示选择好结果保存的位置。单击“确定”后,该过程将运行。

    dc11cc94d46df2e6cc25dcfd5a3303a0.png

  3. 在这里,点击上面的确定按钮后就会立即执行,执行完成后将弹出结果窗口。这里你可以看到我们的CzarCms的检查结果中有6个失败的检查结果,52个已通过的检查结果。它列出了每个检查的明细并给出了对应的评定的风险等级。

    b6d11746c7f9cfb9a73d27368c8ae55f.png

  4. 在错误列表中随便单击一个的失败检查结果,我们将看到更多详细信息以及对应的修复步骤,并提供进行修复的脚本(想想是不是有点小激动呢)。赶紧打开看看吧。

  5. 这里我们简单选择第二个吧,VA1143 - 'dbo' user should not be used for normal service operation什么你看不懂?我擦,不会百度翻译啊?““dbo”用户不应该用于正常的服务操作”,啥意思呢?“dbo”或数据库所有者是一个用户帐户,它隐含了执行数据库中所有活动的权限。sysadmin固定服务器角色的成员自动映射到dbo。此规则检查dbo不是唯一允许访问此数据库的帐户。请注意,在新创建的干净数据库中,在创建其他角色之前,此规则将失败。总结一句话就是你得为你的数据库创建一个单独的用户来提高安全性。如图所示:

    fa9360cc287097deaedfeaf1dde7852c.png

  6. 您可以在下面看到,它向我们描述了没有遵循的最佳实践规则,并提供了一个查询,我们可以运行该查询来查看结果。我真的很喜欢这个特性,并且它是一个方便的脚本,用于以后评估其他服务器的健康状况时使用。它甚至给了我们一个小的复制按钮,以复制出脚本和选项打开它在查询窗口。

    62ed0b453e7435af80a3db34e19a285d.png

  7. 只指出错误而不给出解决方法的行为是可耻的,所以伟大的微软给出了我们来补救的步骤以及脚本。这里我们进一步向下滚动,您将看到建议的补救步骤和脚本。如果没有提供脚本,它将为您提供一个链接,通过这个链接可以找到有关如何解决问题的正确文档。在我看来,VA做了很好的解释解决问题所需的东西。请记住,虽然这是由Microsoft创建的,但我还是建议你在生产环境部署之前来运行这个漏洞检查并进行相关的补救。

    1044721c208599a8ba7305a7eab94c15.png

  8. 这里需要注意一下,如下图所示你可以设置结果基线 。基线允许您对结果报告中的错误结果进行接收,这样在下次漏洞扫描的时候这个错误的结果就不会出现在错误列表里面了。

    05777d19c4b1cfeed8713234f4d67951.png

  9. 通过将结果标记为BASELINE,您告诉VA,这个错误在您的环境中是可接受的,尽管它可能不符合最佳实践或监管标准。将来与基线匹配的任何内容都标记为在后续扫描中传递,并将记录按自定义基线传递的原因。这个基线匹配的结果会在后期的漏洞扫描进行传递,如下所示:我讲两个结果设置为了基线

    d10f5e7465a91fd154c121effe40a0f4.png

  10. 当我再次扫描时,我们将会看到这一点。如下所示,扫描报告现在显示我只有1个失败(我没有修复的问题),附加信息列显示原因的基线。

    c8ce5859015f9be5788474c2449d0f6d.png

总结

SQL Server漏洞评估是评估数据隐私、安全性和遵从性标准的一个非常好的第三方工具,并且非常容易使用。纸上得来终觉浅,还不赶紧尝试一下,看看数据库存在哪些可以提升的地方吧。有兴趣的朋友可以加入我们的DotNetCore实战项目交流群637326624进行交流。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这个问题出现的原因是在尝试附加一个与现有数据库同名的数据库。每个数据库服务器中都有一个唯一的名称,因此不能同时存在两个同名的数据库。 要解决这个问题,可以使用以下步骤: 1. 首先,确保你要附加的数据库文件具有不同的名称,与现有数据库文件不同。 2. 打开SQL Server Management Studio (SSMS) 并连接到你的数据库服务器。 3. 在对象资源管理器中,展开 "数据库" 节点,右键单击 "附加",选择 "数据库"。 4. 在 "附加数据库" 对话框中,点击 "添加" 按钮选择要附加的数据库文件。 5. 在 "数据库详细信息" 部分,为新附加的数据库指定一个唯一的数据库名称。 6. 确认附加的数据库文件路径和日志文件路径是否正确。 7. 点击 "确定" 按钮附加数据库。 如果你仍然遇到相同的问题,可能是因为你在附加数据库时指定的数据库名称与现有数据库的文件名不一致。请确保在指定数据库名称时,与要附加的数据库文件的名称完全匹配。 同时,还要确保你有足够的权限来执行附加操作。如果你是作为一个普通用户登录到SQL Server,可能需要联系管理员获取附加数据库的权限。 总结起来,错误提示 "无法附加与现有数据库同名的数据库" 说明了附加操作的数据库名称与已存在的数据库名称发生了冲突。解决这个问题的关键是确保数据库名称的唯一性,并且确保你具有足够的权限来执行附加操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值