SQL Server特点和安全性概述讲诉.docx
- 文档编号:6229072
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:10
- 大小:188.42KB
SQL Server特点和安全性概述讲诉.docx
《SQL Server特点和安全性概述讲诉.docx》由会员分享,可在线阅读,更多相关《SQL Server特点和安全性概述讲诉.docx(10页珍藏版)》请在冰豆网上搜索。
SQLServer特点和安全性概述讲诉
SQLServer特点和安全性概述
摘要:
SQLServer是一个关系数据库管理系统。
主要具有可信任的、高效的、智能的特点。
使得它成为至今为止的最强大和最全面的SQLServer版本。
其中SQLServer提供了丰富的安全特性,提供了许多旨在改善数据库环境的总体安全性的增强功能和新功能。
它增加了密钥加密和身份验证功能,并引入了新的审核系统,以帮助您报告用户行为并满足法规要求。
并且,它的安全机制可以分为5个层级:
客户机安全机制、网络传输的安全机制、实例级别安全机制、数据库级别安全机制、对象级别安全机制。
使其在安全方面表现的更加突出。
而新的审核系统和SQLServer基于策略的管理则为您提供新工具来监控安全合规性的状态。
关键字:
特点安全性
SQLServer是一个关系数据库管理系统。
主要具有这几个主要特点:
可信任的、高效的、智能的。
服务器级别的安全机制、数据库级别的安全机制、数据对象级别的安全机制
一、可信任的
使得公司可以以很高的安全性、可靠性和可扩展性来运行他们最关键任务的应用程序。
SQLServer为关键任务应用程序提供了强大的安全特性、可靠性和可扩展性。
1.1、安全特性
安全特性表现为:
保护你的信息。
在过去的SQLServer的基础之上,SQLServer做了以下方面的增强来扩展它的安全性
(1)简单的数据加密:
SQLServer可以对整个数据库、数据文件和日志文件进行加密,而不需要改动应用程序。
简单的数据加密的好处包括使用任何范围或模糊查询搜索加密的数据、加强数据安全性以防止未授权的用户访问、还有数据加密。
(2)外键管理:
SQLServer通过支持第三方密钥管理和硬件安全模块为这个需求提供了很好的支持。
(3)增强了审查:
SQLServer使你可以审查你的数据的操作,从而提高了遵从性和安全性。
审查不只包括对数据修改的所有信息,还包括关于什么时候对数据进行读取的信息。
还可以定义每一个数据库的审查规范,所以审查配置可以为每一个数据库作单独的制定。
为指定对象作审查配置使审查的执行性能更好,配置的灵活性也更高。
1.2、可靠性
可靠性就表现为:
确保业务可持续性。
主要体现在改进了数据库镜像:
SQLServer2008提供了更可靠的加强了数据库镜像的平台。
新的特性包括:
页面自动修复、提高了性能、加强了可支持性。
1.3、扩展性
扩展性表现在:
最佳的和可预测的系统性能。
(1)性能数据的采集:
SQLServer推出了范围更大的数据采集,一个用于存储性能数据的新的集中的数据库,以及新的报表和监控工具。
(2)扩展事件:
SQLServer扩展事件是一个用于服务器系统的一般的事件处理系统。
扩展事件基础设施是一个轻量级的机制,它支持对服务器运行过程中产生的事件的捕获、过滤和响应。
这个对事件进行响应的能力使用户可以通过增加前后文关联数据,以此来快速的诊断运行时问题。
事件捕获可以按几种不同的类型输出,包括Windows事件跟踪,当扩展事件输出到ETW时,操作系统和应用程序就可以关联了,这使得可以作更全面的系统跟踪。
(3)备份压缩:
保持在线进行基于磁盘的备份是很昂贵而且很耗时的。
有了SQLServer2008备份压缩,需要的磁盘I/O减少了,在线备份所需要的存储空间也减少了,而且备份的速度明显加快了。
(4)数据压缩:
改进的数据压缩使数据可以更有效的存储,并且降低了数据的存储要求。
数据压缩还为大型的限制输入/输出的工作负载例如数据仓库提供了显著的性能改进。
(5)资源监控器:
资源监控器使数据库管理员可以为不同的工作负载定义资源限制和优先权,这使得并发工作负载可以为终端用户提供稳定的性能。
二、高效的
使得公司可以降低开发和管理他们的数据基础设施的时间和成本。
2.1、基于政策的管理
SQLServer推出了陈述式管理架构(DMF),它是一个用于SQLServer数据库引擎的新的基于策略的管理框架。
陈述式管理提供了以下优点:
遵从系统配置的政策、监控和防止通过创建不符合配置的政策来改变系统、通过简化管理工作来减少公司的总成本、使用SQLServer管理套件查找遵从性问题。
2.2、改进了安装
SQLServer对SQLServer的服务生命周期提供了显著的改进,它重新设计了安装、建立和配置架构。
这些改进将计算机上的各个安装与SQLServer软件的配置分离开来。
2.3、加速开发过程
SQLServer提供了集成的开发环境和更高级的数据提取,使开发人员可以创建下一代数据应用程序,同时简化了对数据的访问。
通过对语言级设计来实现。
同时,Transact-SQL也进行了改进。
比如,SQLServer推出了新的日期和时间数据类型:
DATE(—个只包含日期的类型,只使用3个字节来存储一个日期)、TIME(—个只包含时间的类型,只使用3到5个字节来存储精确到100纳秒时间)、DATETIMEOFFSET(一个可辨别时区的日期/时间类型)、DATETIME2(一个具有比现有的DATETIME类型更精确的秒和年范围的日期/时间类型)。
2.4、偶尔连接系统
有了移动设备和活动式工作人员,偶尔连接成为了一种工作方式。
SQLServer推出了一个统一的同步平台,使得在应用程序、数据存储和数据类型之间达到一致性同步。
在与VisualStudio的合作下,SQLServer使得可以通过ADO.NET中提供的新的同步服务和VisualStudio中的脱机设计器快速的创建偶尔连接系统。
SQLServer提供了支持,使得可以改变跟踪和使客户可以以最小的执行消耗进行功能强大的执行,以此来开发基于缓存的、基于同步的和基于通知的应用程序。
2.5、不只是关系数据
应用程序正在结合使用越来越多的数据类型,而不仅仅是过去数据库所支持的那些。
SQLServer基于过去对非关系数据的强大支持,提供了新的数据类型使得开发人员和管理员可以有效的存储和管理非结构化数据,例如文档和图片。
还增加了对管理高级地理数据的支持。
除了新的数据类型,SQLServer还提供了一系列对不同数据类型的服务,同时为数据平台提供了可靠性、安全性和易管理性。
三、智能的
SQLServer提供了一个全面的平台,用于为用户提供智能化。
3.1集成任何数据
SQLServer提供了一个全面的和可扩展的数据仓库平台,它可以用一个单独的分析存储进行强大的分析,以满足成千上万的用户在几兆字节的数据中的需求。
SQLServer在数据仓库方面的一些优点为:
数据压缩、备份压缩、分区表并行、星型联接查询优化器、资源监控器、分组设置、捕获变更数据。
为了使开发人员可以更有效地处理数据仓库的场景,SQLServer提供了MERGESQL语句。
为了实现可扩展的数据仓库平台提供了可扩展的集成服务,集成服务的可扩展性方面的两个关键优势是:
管道改进、SSIS持久查找。
3.2、可以自动的发送相应的报表
SQLServer使得公司可以有效的以用户想要的格式和他们的地址发送相应的、个人的报表给成千上万的用户。
通过提供了交互发送用户需要的企业报表,获得报表服务的用户数目大大增加了。
这使得用户可以获得对他们各自领域的洞察的相关信息的及时访问,使得他们可以作出更好、更快、更符合的决策。
SQLServer使得所有的用户可以通过下面的报表改进之处来制作、管理和使用报表:
企业报表引擎、新的报表设计器、强大的可视化、MicrosoftOffice渲染(使得用户可以从Word里直接访问报表)、MicrosoftSharePointServices深度集成(使得用户可以访问包含了与他们直接在商业门户中所做的决策相关的结构化和非结构化信息的报表)。
3.3、使用户获得全面的洞察力
为所有用户提供了更快的查询速度。
这个性能的提升使得公司可以执行具有许多维度和聚合的非常复杂的分析。
其中,SQLServer分析服务具有下面的分析优势:
设计为可扩展的、块计算、回写到MOLAP、资源监控器、预测分析。
MicrosoftSQLServer是一个重大的产品版本,正是它推出的这些新的特性和关键的改进,使得它成为至今为止的最强大和最全面的MicrosoftSQLServer版本。
四、安全性
4.1、安全机制
SQLServer整个安全体系结构从顺序上可以分为认证和授权两个部分,其安全机制可以分为5个层级:
客户机安全机制、网络传输的安全机制、实例级别安全机制、数据库级别安全机制、对象级别安全机制。
这些层级由高到低,所有的层级之间相互联系,用户只有通过了高一层的安全验证,才能继续访问数据库中低一层的内容。
客户机安全机制——数据库管理系统需要运行在某一特定的操作系统平台下,客户机操作系统的安全性直接影响到SQLServer2012的安全性。
在用户用客户机通过网络访问SQLServer2012服务器时,用户首先要获得客户机操作系统的使用权限。
保护操作系统的安全性是操作系统管理员或网络管理员的任务。
网络传输的安全机制——SQLServer2012对关键数据进行了加密,即使攻击者通过了防洪墙和服务器上的操作系统达到了数据库,还要对数据进行破解。
SQLServer2012有两种对数据加密的方式:
数据加密和备份加密。
数据加密:
数据加密执行所有数据库级别的加密操作,消除了应用程序开发人员创建定制的代码来加密和解密数据的过程,数据在写到磁盘时进行加密,从磁盘读的时候进行解密。
使用SQLServer来管理加密和解密,可以保护数据库中的业务数据而不必对现有的应用程序做任何更改。
备份加密:
对备份进行加密可以防止数据泄露和被篡改。
实例级别安全机制——SQLServer2012采用了标准SQLServer登陆和集成Windows登陆两种。
无论使用哪种登陆方式,用户在登录时必须提供密码和账号,管理和设计合理的登陆方式是SQLServer数据库管理员的重要任务,也是SQLServer安全体系中重要的组成部分。
SQLServer2012服务器中预设了很多固定服务器的角色,用来为具有服务器管理员资格的用户分配使用权限,固定服务器角色的成员可以用于服务器级的管理权限。
数据库级别安全机制——在建立用户的登陆账号信息时,SQLServer提示用户选择默认的数据库,并分给用户权限,以后每次用户登录服务器后,会自动转到默认数据库上。
SQLServer2012允许用户在数据库上建立新的角色,然后为该用户授予多个权限,最后再通过角色将权限赋予给SQLServer2012的用户,使其他用户获取具体数据的操作权限。
对象级别安全机制——对象安全性检查是数据库管理系统的最后一个安全的等级。
创建数据库对象时,SQLServer2012将自动把该数据库对象的用户权限赋予该对象的所有者,对象的拥有者可以实现该对象的安全控制。
4.2、加密增强功能
在加密方面有两个主要改进。
第一,SQLServer现在可以使用存储在外部第三方硬件安全模块上的加密密钥。
第二,对于存储在SQLServer中的数据,可采用对连接到该数据库的应用程序透明的方法来对其进行加密。
即意味着数据库管理员可轻松地对整个数据库中存储的所有数据进行加密,而不必修改现有的应用程序代码。
第一个改进是通过新的可扩展密钥管理(EKM)功能来实现的,在SQLServer2008Enterprise、Developer和Evaluation版本中提供有该功能。
EKM使企业密钥管理和硬件安全模块(HSM)解决方案的第三方供应商可在SQLServer中注册其设备。
一旦注册了这些设备,用户便可使用这些模块中存储的加密密钥。
此类供应商甚至还可在这些模块中提供高级加密功能(如密钥老化和密钥轮换)。
在某些配置中,它允许使用并非系统管理员组成员的数据库管理员所提供的数据保护。
随后,T-SQL加密语句可使用存储在外部EKM设备上的密钥来加密和解密数据。
另一新功能是透明数据加密,它允许您在不必更改任何应用程序的情况下加密数据库文件。
它可对数据和日志文件执行实时I/O加密和解密。
加密所使用的数据库加密密钥(DEK)存储在数据库引导记录中,以便在恢复时仍可使用。
DEK的安全则由存储在服务器主数据库中的一个证书来保证。
图1中的图表显示了实现透明数据加密的体系结构。
4.3、密的体系结构
它对于保护空闲数据非常有用。
尽管可使用多种防范措施来帮助保护数据库的安全(如加密机密资产和为数据库服务器安装防火墙),但存储数据库的物理介质(甚至备份磁带)还是有其他漏洞。
恶意用户可盗取该介质,并且有可能访问到介质中存储的数据。
但是,透明数据加密可加密数据库中的敏感数据,并且使用证书来保护用于加密数据的密钥。
它可帮助您的组织遵循与正确保护数据相关的众多法律、法规和行业准则。
透明数据加密允许软件开发人员使用高级加密标准(AES)和三重数据加密标准(3DES)加密算法来加密数据。
数据库文件的加密是在页面级执行的,在写入磁盘之前加密页面,然后在读入内存时进行解密。
对于启用了透明数据加密的数据库备份文件,也使用数据库加密密钥进行了加密。
要恢复已加密的数据库,您必须有权访问用于加密数据库的证书或非对称密钥。
如果没有证书或非对称密钥,您将无法恢复数据库。
因此,请务必保留访问相关备份所需的任意密钥。
4.4、身份验证增强功能
您可能知道,Kerberos是一种网络身份验证协议,用于为网络中的客户端和服务器实体(或安全主体)进行相互验证提供一种高度安全的方法。
Kerberos可帮助用户减少安全漏洞(如引诱攻击和中间人攻击。
与Windows®NTLM身份验证相比,Kerberos更安全、更可靠,并且提供更好的性能。
要使用Kerberos对连接进行相互身份验证,必须在ActiveDirectory®中注册SQLServer实例的服务主体名称(SPN),并且客户端驱动程序必须在连接时提供已注册的SPN。
在SQLServer中,Kerberos身份验证已扩展到所有网络协议,包括TCP、命名管道、共享内存和虚拟接口适配器(VIA)。
默认情况下,客户端驱动程序会自动推断出所连接SQLServer实例的正确SPN。
还可在连接字符串参数中显式指定SPN,以提供更好的安全性、控制和故障排除功能。
Internet信息服务(IIS)不再提供对ASP.NET、报表管理器或报表服务器Web服务的访问。
在SQLServer中,报告服务通过新的身份验证子系统来处理所有的身份验证请求,该子系统支持基于Windows的身份验证和自定义身份验证。
报告服务现在包含内置到SQLServer公共语言运行库(CLR)中的Microsoft®.NETFramework和ASP.NET技术,并且报告服务还可以使用操作系统的HTTP.SYS功能。
报表服务器包括一个HTTP侦听程序,以接受定向到在服务器配置过程中所定义的URL和端口处的请求。
URL保留和注册现由报表服务器通过HTTP.SYS直接管理。
4.5、安全审核
SQLServerAudit是一项新功能,可通过它来创建自定义的数据库引擎事件审核。
该功能使用扩展事件来记录审核信息,并且提供在各种服务器和数据库对象上启用、存储和查看审核所需的工具和过程。
SQLServerAudit还比SQLServerTrace更快,并且SQLServerManagementStudio使审核日志的创建和监控变得简单。
现在,审核级别更加精细,甚至可以捕获单个用户的SELECT、INSERT、UPDATE、DELETE、REFERENCES和EXECUTE语句。
另外,SQLServerAudit可通过T-SQL语句CREATESERVERAUDIT和CREATESERVERAUDITSPECIFICATION以及相关的ALTER和DROP语句来实现完全脚本化。
要建立审核,需创建审核并指定记录所审核事件的位置。
审核可保存到Windows安全日志、Windows应用程序日志或指定位置的文件中。
为审核命名并配置其特征(如审核文件的路径和最大大小)。
还可选择在审核失败时关闭SQLServer。
如果需将所审核事件记录到多个位置,只需创建多个审核即可。
下一步是创建一个或多个审核规范。
服务器审核规范收集有关SQLServer实例的信息,并且包括服务器范围内的对象(如登录和服务器角色成员身份)。
它还包括在主数据库中管理的数据库信息(如数据库访问权限)。
在定义审核规范时,需指定由哪个审核来接收监控事件。
可定义多个服务器审核和多个服务器审核规范,但每个服务器审核每次仅可包含一个已启用的服务器审核规范。
也可创建用于监控单个数据库中事件的数据库审核规范。
可向一个审核添加多个数据库审核规范,但一个服务器审核一次仅可为每个数据库启用一个数据库审核规范。
用于服务器审核规范的SQLServer审核操作事件被分组到相关审核操作事件集合中。
它们以审核操作组形式公开。
当把某个组添加到审核规范时,您将监控到该组中包含的所有事件。
例如,有一个名为DBCC_GROUP的审核操作组,它使用DBCC命令。
但是,无法单独审核DBCC命令。
服务器可用的审核操作组有35个,其中一些组又彼此密切相关。
例如,有SUCCESSFUL_LOGIN_GROUP、FAILED_LOGIN_GROUP和LOGOUT_GROUP。
还有一个AUDIT_CHANGE_GROUP,包含可用于对审核过程进行审核的审核操作类型。
数据库审核规范也可指定收集到数据库级别审核操作组中的审核操作事件组。
除审核操作组外,数据库审核规范还可包括对审核数据操作语言语句进行审核的单独审核操作事件。
可将这些事件配置为监控整个数据库,或仅监控特定数据库对象。
例如,SELECT审核操作可用于审核对单个表或整个架构的SELECT查询。
也可将这些事件配置为监控特定用户或角色(如所有db_writer)的操作。
例如,可使用SELECT审核操作来审核用户Mary或FINANCE_DEPT数据库角色或公共数据库角色对单个表的SELECT查询。
很明显,它在创建所需审核方面提供了极大的控制功能和灵活性。
4.6、依赖关系报告
依赖关系报告有所改进,包括有新的目录视图和新的系统功能。
如果使用sys.sql_expression_dependencies、sys.dm_sql_referencing_entities和sys.dm_sql_referenced_entities,可针对架构绑定对象和非架构绑定对象的服务器之间、数据库之间以及数据库SQL依赖关系提供报告。
4.7、新的数据库角色
msdb数据库中包含的数据库角色发生了一些变化。
db_dtsadmin角色已重命名为db_ssisadmin,db_dtsltduser角色已重命名为db_ssisltduser,并且db_dtsoperator角色已重命名为db_ssisoperator。
为支持向后兼容性,在服务器升级时,将把原来的角色添加为新角色的成员。
除这些更改外,还添加了新的数据库角色来支持SQLServer2008的新功能。
特别地,msdb数据库包含用于服务器组的新角色(ServerGroupAdministratorRole和ServerGroupReaderRole)、用于基于策略的管理的新角色(PolicyAdministratorRole)和用于数据收集器的新角色(dc_admin、dc_operator和dc_proxy)。
并且,管理数据仓库数据库也包含用于数据收集器的新角色(mdw_admin、mdw_writer和mdw_reader)。
4.8、FILESTREAM安全性
现在,SQLServer支持FILESTREAM存储,因而SQLServer应用程序可在文件系统中存储非结构化数据(如文档和图像)。
反过来,它意味着客户端应用程序可从文件系统的流式API和性能获益,同时仍维持非结构化数据和对应结构化数据之间的事务一致性。
FILESTREAM数据必须存储在FILESTREAM文件组中—它是包含文件系统目录而非实际文件的特殊文件组。
这些称为数据容器的目录提供数据库引擎存储和文件系统存储之间的接口。
从安全性方面看,FILESTREAM数据与所有其他数据的安全性相同—在表级别或列级别授予权限。
授予对FILESTREAM容器的NTFS权限的唯一帐户是运行SQLServer服务的帐户。
当数据库处于打开状态时,SQLServer会限制对FILESTREAM数据容器的访问,使用T-SQL事务和OpenSqlFilestreamAPI进行的访问除外。
4.9、基于策略的管理
SQLServer基于策略的管理为管理SQLServer提供了一个新系统。
可创建策略来测试和报告SQLServer的多个方面,并且可将策略应用于单个数据库、单个SQLServer实例或所管理的所有SQLServer。
通过使用基于策略的管理,可测试SQLServer配置选项和许多安全设置。
并且,对于某些安全设置,可创建策略来检测不符合法规的数据库服务器,并采取措施强制其遵守法规。
在SQLServer中,默认禁用了许多不必要的功能,以最小化遭受攻击的风险。
可使用基于策略的管理来有选择性地启用所需的任何其他功能。
然后,可定期评估配置,如果发现配置设置与策略不匹配,会收到警报。
基于策略的管理将相关属性归纳成组,并将其放到称为层面的组件中。
例如,外围应用配置器层面包含用于即席远程查询、CLR集成、数据库邮件、OLE自动化、远程DAC、SQL邮件、Web助手和xp_cmdshell的属性。
可创建策略来启用CLR集成但禁用所有其他功能。
策略可包含复杂的条件语句,如禁用除名为Customer_Response以外的所有SQLServer实例的数据库邮件。
创建完策略后,可在所有服务器上评估该策略,以生成报告来告知您哪些服务器不遵守该策略。
按“Configure”(配置)按钮,所有不符合策略的实例都将配置该策略设置。
还应制定计划定期运行该策略,以监控服务器的状态。
为数据库引擎、分析服务和报告服务提供了外围应用配置器层面。
但是,请注意,基于策略的管理并不旨在用作安全强制执行机制。
在大多数情况下,拥有足够特权的用户可发出违反策略的语句,或忽略策略并执行可能违反安全策略的重新配置操作。
SQLServer基于策略的管理仅应视为监控SQLServer安全设置方面的助手。
层面强制执行设置的能力各有不同,具体取决于其相关DDL语句能否在非自动提交模式下运行。
有时,层面可强制在数据库引擎实例上实施某个配置设置,但管理员仍可重新配置设置。
有些层面可通过服务器触发器来强制实施—从而可以防止低权限用户更改设置,并降低管理员意外地更改设置的机率。
此时,管理员必须先暂时禁用该策略,然后才能更改设置。
其他一些层面仅报告属性的状态,而无法更改属性。
例如,检查对称或非对称密钥长度的策略(如图所示)。
4.10、非对称密钥的层面
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQL Server特点和安全性概述讲诉 Server 特点 安全性 概述
![提示](https://static.bdocx.com/images/bang_tan.gif)