开发者社区> 依乐祝> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

SQL Server数据库漏洞评估了解一下

简介: SQL Server Management Studio 17.4或更高版本的SSMS中提供了SQL Server漏洞侦测(VA)功能,此功能允许SQL Server扫描您的数据库以查找潜在的安全漏洞,并且可以针对SQL Server 2012或更高版本运行。
+关注继续查看

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

1545380389839

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

1545380624418

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

SQL Server漏洞评估

  1. 在错误列表中随便单击一个的失败检查结果,我们将看到更多详细信息以及对应的修复步骤,并提供进行修复的脚本(想想是不是有点小激动呢)。赶紧打开看看吧。
  2. 这里我们简单选择第二个吧,VA1143 - 'dbo' user should not be used for normal service operation 什么你看不懂?我擦,不会百度翻译啊?““dbo”用户不应该用于正常的服务操作”,啥意思呢?“dbo”或数据库所有者是一个用户帐户,它隐含了执行数据库中所有活动的权限。sysadmin固定服务器角色的成员自动映射到dbo。此规则检查dbo不是唯一允许访问此数据库的帐户。请注意,在新创建的干净数据库中,在创建其他角色之前,此规则将失败。总结一句话就是你得为你的数据库创建一个单独的用户来提高安全性。如图所示:

1545381882801

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

1545382425341

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

1545382491627

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

1545383245472

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

1545383474097

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

    ![1545383575076](https://img2018.cnblogs.com/blog/1377250/201812/1377250-20181221171742475-1819450244.png)
    

总结

SQL Server漏洞评估是评估数据隐私、安全性和遵从性标准的一个非常好的第三方工具,并且非常容易使用。纸上得来终觉浅,还不赶紧尝试一下,看看数据库存在哪些可以提升的地方吧。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
SQL数据库学习之路(九)
目录   数据库创建补充: 为数据库用户赋予权限 在数据库表中使用视图进行添加修改 数据库创建补充: 以文本格式显示自己创建的数据库表                                          以网格格式显示自己创建的数据库表 可以右键数据库--属性---选项,在选项中可以设置数据库的兼容性,还有是否可以让多人同时访问或者单人访问。
889 0
SQL数据库学习之路(练习)---C#登录界面连数据库
目录 C#登录界面连数据库 一、在数据库中先创建一个数据库。 二、在VS中创建C#的windows窗体应用程序 三、在VS中连接到数据库 四、设计登录界面 五、设置注册界面 六、将form1的按钮和form2进行关联 七、设置form2界面的注册按钮 八、form1的登录按钮设置 九、运行成果 参考文章: C#登录界面连数据库 一、在数据库中先创建一个数据库。
2793 0
SQL数据库学习之路(八)
数据库介绍: 在网页上的主程序中进行注册操作,然后把数据发送给人,人传递这些数据到数据库当中。   为什么学ADO.NET:之前我们所学的只能在查询分析器中查看数据,操作数据。
901 0
SQL数据库学习之路(七)
在SQL server managerment中可以点击帮助,会有帮助文档。 一、联合查询 将多个查询结果集合并成一个。
837 0
SQL数据库学习之路(六)
一、连接查询:当需要的结果需要从多张表中取时 关键问题:哪些表、关系(学生表的Id联系到班级表的Id) 内连接:inner join,两表中完全匹配的数据。
923 0
SQL数据库学习之路(四)
要求:通过SQL语句创建以下基本表:    教师关系 T(T#, TNAME,TITLE)    课程关系 C(C#,CNAME,T#)    学生关系 S(S#,SNAME,AGE,SEX)    选课关系SC(S#,C#,SCORE)    班级关系CLASS(CLASSID,CLASSNAME)    其中红色粗体为主键,带下划线的属性为外键。
826 0
SQL数据库学习之路(二)
(一)1.约束:实现数据的有效性检查---------主键(保证值是唯一的) 2.非空(输入的数据不允许为空) 3.唯一(存入的数据不能重复) 4.默认(自己不给数据添加值,值会默认添加) 5.检查(给值一个选定的范围) 6.外键(对关系的有效性进行检查,有关系才有外键) (二)脚本操作数据库 1.不区分大小写,字符串使用单引号,末尾不需要加分号。
815 0
SQL数据库学习之路(三)
一.表数据的操作 1.简单查询 select * from 表名 2.增加数据 insert into 表名(列名) values(值)                   ----要求值的列名与值要位置对应   ...
802 0
SQL数据库学习之路(一)
1.数据库简介(一个放数据的仓库)  解决的问题:持久化存储,优化读写,保证数据的有效性 关系型数据库:    基于E-R模型(实体-联系图Entity Relationship)    使用sq|语言进行操作(SQL...
1036 0
+关注
依乐祝
学无先后,达者为师!爱写代码并乐于分享技术但不喜欢搞基!目前专注于ASP.NET Core微服务架构的研究。能够利用现有开源的微服务相关的技术开发支持高并发,高可用的分布式系统!本人微账信号:jkingzhu。.NETCore实战项目交流群637326624
文章
问答
文章排行榜
最热
最新
相关电子书
更多
SQL Sever迁移PG经验
立即下载
用SQL做数据分析
立即下载
MaxCompute SQL计算成本调优以及优化方法
立即下载