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,则可以通过选择“打开现有扫描”来访问它。

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

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

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

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

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

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

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

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

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

总结

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

SQL Server数据库漏洞评估了解一下的更多相关文章

  1. TransactionScope事务处理方法介绍及.NET Core中的注意事项 SQL Server数据库漏洞评估了解一下 预热ASP.NET MVC 的VIEW [AUTOMAPPER]反射自动注册AUTOMAPPER PROFILE

    TransactionScope事务处理方法介绍及.NET Core中的注意事项   作者:依乐祝 原文链接:https://www.cnblogs.com/yilezhu/p/10170712.ht ...

  2. SQL Server - 数据库初识

      在互联网笔试中,常遇到数据库的问题,遂来简单总结,注意,以 Sql Server 数据库为例. 数据库 数据库系统,Database System,由数据库和数据库管理系统组成. 数据库,Data ...

  3. SQL Server 2008 R2评估期已过的解决办法

    SQL Server 2008 R2评估期已过的解决办法   发现问题 北美产品测试服每日随机任务没有刷新 每日随机任务是使用数据库作业定期执行操作,重置玩家随机任务项 排查问题  www.2cto. ...

  4. 优化SQL Server数据库查询方法

    SQL Server数据库查询速度慢的原因有很多,常见的有以下几种: 1.没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2.I/O吞吐量小,形成了瓶颈效应. 3.没有创建计算列 ...

  5. 转载 50种方法优化SQL Server数据库查询

    原文地址 http://www.cnblogs.com/zhycyq/articles/2636748.html 50种方法优化SQL Server数据库查询 查询速度慢的原因很多,常见如下几种: 1 ...

  6. Microsoft SQL Server 数据库 错误号大全

    panchzh :Microsoft SQL Server 数据库 错误号大全0 操作成功完成. 1 功能错误. 2 系统找不到指定的文件. 3 系统找不到指定的路径. 4 系统无法打开文件. 5 拒 ...

  7. SQL Server 数据库索引

    原文:SQL Server 数据库索引 一.什么是索引 减少磁盘I/O和逻辑读次数的最佳方法之一就是使用[索引] 索引允许SQL Server在表中查找数据而不需要扫描整个表. 1.1.索引的好处: ...

  8. SQL Server数据库优化的10多种方法

    巧妙优化sql server数据库的几种方法,在实际操作中导致查询速度慢的原因有很多,其中最为常见有以下的几种:没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷). I/O吞吐量小, ...

  9. C#面试题(转载) SQL Server 数据库基础笔记分享(下) SQL Server 数据库基础笔记分享(上) Asp.Net MVC4中的全局过滤器 C#语法——泛型的多种应用

    C#面试题(转载) 原文地址:100道C#面试题(.net开发人员必备)  https://blog.csdn.net/u013519551/article/details/51220841 1. . ...

随机推荐

  1. 18 章 CSS 链接、光标、 DHTML 、缩放

    1.CSS 中链接的使用 2.CSS 中光标的使用 3.CSS 中 DHTML 的使用 4.CSS 中缩放的使用 1 18 8. .1 1 S CSS  中 链接的使用 超链接伪类属性 a:link ...

  2. 国内常用DNS

    114.114.114.114 国内移动,电信,联通通用DNS 223.5.5.5 阿里 223.6.6.6 阿里 180.76.76.76 百度

  3. octotree-chrome插件,Github代码阅读神器

    1.下载octotree-chrome插件 下载地址 2.安装问题 由于新版chrome为了安全,已经不支持像以前一样拖拽插件进行安装,只能从其 Chrome Web Store 下载安装扩展程序. ...

  4. python进程和线程(四)

    线程同步条件.信号量及队列 同步条件(event) 下面是官方文档对event的一些解释: An event is a simple synchronization object; the event ...

  5. 以前的博客内容迁至CSDN,博客名不变,以后博客将在两个平台同步更新

    为了更好的利用博客园和csdn这两个博客家园,今天把博客园中的内容迁至csdn,博客名称还是使用cooldream2009,以后的文章将同步在博客园和csdn发表,特此声明.

  6. 用ASP.NET Core 2.1 建立规范的 REST API -- 保护API和其它

    本文介绍如何保护API,无需看前边文章也能明白吧. 预备知识: http://www.cnblogs.com/cgzl/p/9010978.html http://www.cnblogs.com/cg ...

  7. C# 中的Async 和 Await 的用法详解

    众所周知C#提供Async和Await关键字来实现异步编程.在本文中,我们将共同探讨并介绍什么是Async 和 Await,以及如何在C#中使用Async 和 Await. 同样本文的内容也大多是翻译 ...

  8. MySQL视图简介与操作

    1.准备工作 在MySQL数据库中创建两张表balance(余额表)和customer(客户表)并插入数据. create table customer( id int(10) primary key ...

  9. vue-cli3安装过程

    作为一个本来是java开发的搬运工,在公司前端人员缺乏的时候,就直接顶上来开发前台页面了(话说我已经很久很久没写java代码了(:′⌒`)) 好吧言归正传,刚开始弄前台就是vue,vue2还没弄熟,老 ...

  10. 微信小程序开发03-这是一个组件

    编写组件 基本结构 接上文:微信小程序开发02-小程序基本介绍 我们今天先来实现这个弹出层: 之前这个组件是一个容器类组件,弹出层可设置载入的html结构,然后再设置各种事件即可,这种组件有一个特点: ...