快速,持续,稳定,傻瓜式
支持Mysql,Sqlserver数据同步

SQL Server安全性简介-第6部分

在线QQ客服:1922638

专业的SQL Server、MySQL数据库同步软件

SQL Server有许多用于使其安全的工具。在本文中,Robert Sheldon演示了其中的一些功能,包括SQL Server配置管理器和漏洞评估工具。

到目前为止的系列:

  1. SQL Server安全性简介-第1部分
  2. SQL Server安全性简介-第2部分
  3. SQL Server安全性简介-第3部分
  4. SQL Server安全性简介-第4部分
  5. SQL Server安全性简介-第5部分
  6. SQL Server安全性简介  -第6部分

SQL Server提供了广泛的工具来确保您的环境保持安全并保护隐私。在本系列的最后一篇文章中,我介绍了一些系统视图和功能,可以帮助您保护该环境。

在本文中,我将通过概述其他五个重要功能来继续讨论:SQL Server配置管理器,服务器级方面,sp_configure系统存储过程,SQL漏洞评估工具以及SQL数据发现和分类工具。与任何SQL Server工具一样,您越了解如何使用这些功能,就可以越有效地保护数据库及其包含的数据。

SQL Server配置管理器

SQL Server配置管理器是一个Microsoft管理控制台管理单元,可让您管理与SQL Server实例关联的服务,网络协议和网络连接配置。通过此工具,您可以启动,暂停,继续或停止服务,也可以查看或更改服务属性。您还可以启用或禁用连接协议,强制协议加密或将SQL Server配置为侦听特定的端口,管道或网络协议。

图1显示了已选择“ SQL Server服务”节点的SQL Server配置管理器。您可以浏览任何节点,还可以钻取到特定的服务或配置,在其中可以查看或修改属性设置。

SQL Server安全性简介-第6部分

图1.在SQL Server配置管理器中查看服务和配置

要访问组件的属性,请双击右窗格中的列表。例如,图1所示的服务之一是SQL Server(SQLSRV16),它是SQL Server 2016的运行实例。当我双击该服务时,将出现“ SQL Server(SQLSRV16)属性”对话框,如图所示。图2。

SQL Server安全性简介-第6部分

图2.在SQL Server配置管理器中查看服务详细信息

“ 属性”对话框中可用的选项取决于所选的服务或配置。在这种情况下,对话框将打开“ 登录”选项卡,您可以在其中启动,停止,暂停和重新启动服务。您也可以更改服务帐户或更新密码。

其他选项卡提供其他选项。例如,在“ 服务”选项卡上,可以将服务设置为自动启动,指定该服务必须手动启动,或者完全禁用该服务。

SQL Server Configuration Manager是开始在一个界面中处理服务,网络协议和网络连接配置的好地方。该界面易于使用,比遍历系统的所有服务以查找特定于SQL Server的服务要容易得多。

SQL Server配置方面

在SQL Server Management Studio(SSMS)中,可以配置几个与SQL Server安全性相关的服务器范围的方面。构面是适用于特定管理领域的逻辑属性的集合。

要访问服务器级构面,请在对象资源管理器中右键单击SQL Server实例名称,然后单击构。当查看构面对话框出现时,选择外围应用配置在小刻面的下拉列表。主窗口显示与所选构面相关的属性,如图3所示。

SQL Server安全性简介-第6部分

图3.访问Surface Area Configuration界面

顾名思义,“ Surface Area Configuration”(表面区域配置)构面可快速访问表面区域配置设置。在这里,您可以根据需要启用或禁用功能,即您应该禁用任何不必要的功能以减小表面积。例如,您可以配置SqlMailEnabled属性,该属性支持与数据库引擎交换电子邮件的旧版应用程序。

另一个有用的方面是服务器安全性,如图4所示。在这里,您可以启用或禁用在服务器级应用的与安全性相关的属性,例如CrossDBOwnershipChainingEnabled属性,该属性控制跨数据库所有权链接。当前,该属性设置为False,因此不允许链接。

SQL Server安全性简介-第6部分

图4.访问Server Security方面属性

在“ 查看面”对话框中,您还可以访问许多其他构面,例如“ 服务器审核”和“ 服务器配置”。构面提供了一种从SSMS内调整设置的快速简便的方法。但是,您也可以使用sp_configure存储过程来设置数据库引擎选项,这为控制SQL Server设置提供了更大的灵活性。

SQL Server sp_configure存储过程

sp_configure系统存储过程,您可以查看或修改服务器范围内的配置设置。当用于修改设置时,存储过程通常与RECONFIGURE语句一起执行,如果该设置为dynamic,则该语句立即将新设置应用于服务器环境。如果不是动态的,则新设置在重新启动SQL Server服务之前不会生效。

您可以使用sys.configurations系统视图来确定设置是否是动态的。该视图还返回有关配置设置的其他重要信息。以下SELECT语句使用该sys.configurations视图返回有关当前SQL Server实例可用的服务器级配置设置的详细信息:

图5显示SELECT了我的系统(SQL Server 2017的本地实例)上的语句返回的部分结果。该语句总共返回77行。

SQL Server安全性简介-第6部分

图5.查看所有服务器范围的配置选项

除了每个设置的名称和描述之外,该sys.configurations视图还返回其他几列,这些列在使用sp_configure存储过程时会有影响:

  • value列是选项的配置值。
  • minimum列是选项的允许最小值。
  • maximum列是选项的允许最大值。
  • value_in_use列是当前有效的值。value如果该值已设置但尚未提交,则该值可以与列中的值不同。
  • is_dynamic列指定配置设置是否为动态。动态设置的值为1
  • is_advanced列指示该选项是否为高级选项。高级选项的值为1sp_configure只有show advanced options启用了设置,存储过程才能访问高级选项。

在阅读本文时,您将更好地理解这些专栏的含义。但是,首先,运行以下EXECUTE语句,该语句将在sp_configure不使用任何参数的情况下调用存储过程:

当您调用不带参数的过程时,它将返回服务器范围配置选项的列表。图6显示了系统中返回的部分结果。该语句总共返回了23行。

SQL Server安全性简介-第6部分

图6.查看非高级服务器范围的配置选项

该过程的config_value列映射到视图value返回的列sys.configurations,该过程的run_value列映射到视图的value_in_use列。

sp_configure我的系统上仅返回23行的原因show advanced options是未启用该设置。要启用该设置,然后查看结果,请运行以下T-SQL语句集:

第一条EXECUTE语句运行sp_configure存储过程,并将设置的值show advanced options设置为1。使用存储过程更新选项值时,必须首先指定选项名称,然后再指定新值,并用单引号引起来并用逗号分隔。

重置值后,您可以运行一条RECONFIGURE语句以立即应用该值。这是可能的,因为该show advanced options设置是一个动态选项,即该is_dynamic值设置为1

最后一步是再次调用sp_configure不带参数的存储过程,以返回可用配置设置的列表。这次,该EXECUTE语句返回所有77个设置,就像sys.configurations视图一样。

在某些情况下,SQL Server不允许您使用该RECONFIGURE语句将值应用于配置设置,即使该值在允许的最小值和最大值之间。要查看其工作原理,请首先获取有关recovery interval (min)设置的信息,该信息确定以分钟为单位的最大恢复间隔:

调用sp_configure并仅指定设置名称时,它将返回有关该设置的信息,而无需进行任何更改。在这种情况下,存储过程0以配置值和运行值,0最小允许值和32767最大允许值的形式返回。

根据此信息,您似乎应该能够将选项的值设置为120分钟,如以下示例所示:

但是,当您运行该语句时,SQL Server返回以下消息:

对于某些配置设置,即使设置支持更大的范围,SQL Server也会确定可接受的范围。在某些情况下,您可以使用RECONFIGURE WITH OVERRIDE语句而不是仅覆盖以下行为RECONFIGURE

这次,SQL Server返回了一条更有利的消息:

RECONFIGURE WITH OVERRIDE语句在需要绕过常规安全措施的情况下很有用,但是在使用此选项时要小心。错误地设置值会严重影响SQL Server的配置,因此请谨慎操作。

同时,如果您想将recovery interval (min)设置恢复为原始值,请运行以下语句:

现在,配置设置应具有与首次验证设置值时相同的值。

SQL漏洞评估

SQL漏洞评估是SSMS中提供的工具,可让您扫描数据库中的潜在漏洞。扫描将运行许多安全检查,然后将其显示在报告中,该报告显示哪些检查失败和哪些检查通过。对于失败的检查,该工具还提供了解决问题的可行步骤。

安全检查是基于一组基于Microsoft最佳实践的规则得出的,这些最佳实践特定于权限,配置和数据保护。这些规则重点关注安全隐患,这些安全隐患带来最大的数据风险,并且反映了满足合规性标准所需的许多要求。

要启动SQL漏洞评估扫描,请在对象资源管理器中右键单击数据库,指向“ 任务”,指向“ 漏洞评估”,然后单击“ 扫描漏洞”。评估结果显示在SSMS主窗口中自己的选项卡中,按通过和不通过分类。

图7显示了WideWorldImporters在系统上扫描示例数据库时收到的评估结果。图中所示的安全检查是失败的。该工具将失败的检查分类为“ 高风险”,“中风险”和“ 低风险”

SQL Server安全性简介-第6部分

图7.在漏洞报告中查看失败的评估

该图还表明该工具总共执行了54次安全检查,其中有6次失败。要查看已通过的安全检查,请选择“ 通过”选项卡,如图8所示。

SQL Server安全性简介-第6部分

图8.在漏洞报告中查看通过的评估

您可以深入研究任何安全检查以获取更多详细信息。例如,图7中显示的最后一个失败的安全检查是VA1282,标题为“ 孤立角色”。如果展开安全性检查并滚动到底部,您将找到建议的补救和补救脚本,如图9所示。

SQL Server安全性简介-第6部分

图9.查看评估失败的建议补救措施

SQL漏洞评估工具还使您可以调整安全检查的基准。例如,您可能决定不想删除图9中所示的孤立角色,因为您打算在不久的将来使用它们。在这种情况下,您可以批准安全检查为基准,这样在以后的扫描中它不会显示为失败。

要批准基准,请像上面一样展开安全检查,但不要向下滚动。在描述的顶部,单击“ 批准为基准”选项,如图10所示。

SQL Server安全性简介-第6部分

图10.批准评估失败的基准

设置基线后,请重新运行扫描。现在,结果应表明只有五项检查失败。此外,VA1282安全检查应在“ 通过”选项卡上列出,如图11所示。

SQL Server安全性简介-第6部分

图11.运行漏洞评估报告

SQL漏洞评估工具为您提供了一种快速简便的方法来跟踪和修复潜在的数据库漏洞,从而帮助您达到合规性和隐私标准,同时减少了潜在的安全风险。

SQL数据发现和分类

微软最近还向SSMS添加了数据发现和分类工具。该工具提供了一种发现和分类数据库中潜在敏感信息的机制。通过这些分类,您可以运行可用于合规性和审计目的的报告。

对敏感数据进行分类的过程开始于使用数据发现和分类功能对目标数据库进行扫描。要运行扫描,请在“对象资源管理器”中右键单击数据库,指向“ 任务”,然后单击“ 分类数据”。将在SSMS主窗口中打开一个选项卡,显示正在进行扫描。

扫描完成后,该选项卡将显示具有建议分类的列数。图12显示了我对WideWorldImporters数据库运行扫描后的选项卡。在这种情况下,数据发现和分类工具为92列提供了分类建议。

SQL Server安全性简介-第6部分

图12.运行SQL数据发现和分类报告

如果单击显示建议数量的信息消息,则该选项卡将显示列列表,以及有关信息类型和灵敏度标签的建议。图13显示了该列建议的部分列表。

SQL Server安全性简介-第6部分

图13.在报告中查看推荐的分类

对于每个推荐的列,您都可以接受“ 信息类型”值和“ 灵敏度标签”值,或者从可用值列表中选择。此外,您必须选中与要分类的每一列关联的复选框,然后单击“ 应用所选建议”

在我的系统上,我选中了与图13所示的前六列关联的复选框,并保留了前两列的建议值。对于其他四个,我将“ 灵敏度标签”值更改为“ 高度机密– GDPR”,然后单击“ 接受选定的建议”。这给我留下了六个分类栏。

数据发现和分类工具还允许您手动对列进行分类。要添加手动分类,请单击选项卡顶部的添加分类。当“ 添加分类”表单出现(在选项卡右侧)时,设置分类。例如,我添加了图14所示的分类。

SQL Server安全性简介-第6部分

图14.添加分类

选项卡中列出了您接受或手动添加的所有分类,如图15所示。您可以在此处进一步修改或删除它们。无论是否进行任何更改,都必须专门保存分类以将其保留在数据库中。这样做,请单击选项卡顶部的“ 保存 ”。

SQL Server安全性简介-第6部分

图15.查看批准的分类

使用数据发现和分类工具,您还可以生成报告,以显示如何对列进行分类。要生成报告,请单击选项卡顶部的“ 查看报告”。图16显示了在设置七个分类之后在系统上生成的报告。

SQL Server安全性简介-第6部分

图16.生成数据分类报告

您可以在报告底部的网格中深入了解有关分类的详细信息。例如,该Application架构包括六个分类。如果展开架构,则可以查看各个列及其分类。

更多SQL Server安全工具

除了我在这里或本系列其他文章中讨论的内容之外,SQL Server还提供了许多其他工具。例如,SQL Server提供了SQL Server Audit,行级安全性和基于策略的管理功能,分别由Feodor Georgiev,Louis Davidson和Dennes Torres很好地发现。

加密在SQL Server安全性中也起着重要作用,采取多种形式,包括列级加密和透明数据加密。不久前,我写了一系列有关加密相关主题的文章:

  • 加密SQL Server:使用加密层次结构保护列数据
  • 加密SQL Server:透明数据加密(TDE)
  • SQL Server加密:始终加密
  • 加密SQL Server:动态数据屏蔽

您越了解用于保护数据库环境的可用工具,就可以越有效地保护隐私,满足合规性要求并在各个级别保护数据。您可能需要花费一些时间来熟悉其中的一些工具,但是您现在进行的投资很值得将来付出努力。

相关推荐

咨询软件
 
QQ在线咨询
售前咨询热线
QQ1922638