SQL Server第十三到翻译:SQL Server安全级别1:SQL Server安全性概述

SQL Server安全级别1:SQL
Server安全性概述

源自:Stairway to SQL Server
Security Level 1: Overview of SQL Server Security

http://www.sqlservercentral.com/articles/Stairway+Series/109941/

作者:Don
Kiely,
2014/06/04

翻译:刘琼滨 谢雪妮 许雅莉 赖慧芳

正文:

该系列

正文是楼梯系列的一致片段:SQL
Server安全性的台阶

 

SQL Server拥有您所急需之万事,以保您的服务器和数据免受当今错综复杂的抨击。但是当公会行得通地使用这些安全特点之前,您得了解你所面临的威胁以及有些主干的安概念。第一独阶梯级提供了一个基础,这样你便得充分利用SQL Server中的平安特点,而不要浪费时间在针对数码的特定威胁不做任何保障之特色上。

 

关系数据库在丰富多彩的应用程序中使用,这些应用程序的连日来自于一个使人乱的客户端,分布在广大分布之大网直达,特别是在Internet上,这叫几乎任何人都足以拜任何地方的数。数据库可控制人类知识的酷挺片段,包括高度敏感的个人信息和要数据,这些数量如果国际商贸运作。

 

这些特点使数据库成为那些想只要盗取数据要透过篡改数据如果损伤其主人的丁的目标。确保您的数据是高枕无忧之是安排SQL
Server和开使用它来储存数据的应用程序的机要部分。这个阶梯探讨了SQL Server 2012安全性的基础知识,这样您尽管好保护而的数额和服务器资源,尽可能地掩护而不给影响多少的独特安全威胁。大部分消息用应用叫SQL Server的最初版本,回到SQL Server 2005,因为就是微软针对产品之安全性展开了清的改动。但自还将讨论才以SQL Server 2012暨后来的风味。

 

SQL Server拥有您所急需之周,以保证您的服务器和多少免受当今错综复杂的抨击。但是在公会行得通地应用这些安全特点之前,您要了解你所面临的胁以及组成部分主干的安康概念。第一单阶梯级提供了一个基础,这样您就可以充分利用SQL Server中的安特点,而不必浪费时间在对数据的一定威胁不开另外保护的性状上。

 

威胁

辨认特定一组数及其服务器的威逼是清楚什么安排以及采用SQL
server来保护数量的首要第一步。你创造的一个数据库用来治本而的小学足球队的设施库存,可能不需要非常重复的安全法。您可能想要提供起码最小的访问控制,这样团队成员就是未可知随随便便地改变谁所有哪个足球球的笔录。但是,如果有人进来并窃取或干扰数据,这可能并无是世界末日。

 

单,如果数据库有关于集体中男女的民用数据,比如家庭地址与电话号码,那么你或许想如果提高安全保安(您可能当法网上务求这样做)。您可由此切断访问来保护数量的隐情,这样几任何访问数据库的丁都足以转设备数量,但惟独出个别口能够访问个人数据。如果数额包含了父母亲之信用卡号,那么您要采用最的章程来维护这些多少。

 

若的数据可能好被部分威胁,下面列有的是有些比较宽泛的威逼。Web上发雅量可用之资源,可以帮忙你分析特定情景下的风险。这个列表的目的是支援而开始考虑威胁,以及哪行使SQL
Server的特点来对抗它,或者至少减少你的数量对她的影响。

 

行窃数额:窃取数据包括各种未经授权的针对您的多寡的看,无论是外部入侵而的大网,还是对名人的内部扫描。它恐怕连阅读让取缔的音的提神,或者给地下的信用卡号的行销所鼓舞。

数码破坏:一个可知访问你的数量的黑客可以改它,它会挑起一层层的问题,从公开的尴尬到关门而的整操作(当你有着的客户记录受剔除时可能会见产生)。

资料损坏:于关系数据库中存储数据的尽充分好处有是,数据库本身可以扶持保护数量的完整性。数据完整性包括要求每个订单还发一个相关的客户,在日期字段中蕴藏的日期实际上意味着一个日历日期,而百分比较字段只保证含0到100里的价值。数据完整性可能无是和安全性有关的第一起事,但它是保安数量的重点部分。

黑储存:当过去,您当事情经过被募集之数码实际上是你自己的事情。但是本美国有众多底联邦法律。在全路欧盟,以及另外国家,这些国家控制着你可储存的私房数据,你怎么存储,以及你怎么样维护它们。对违规行为的判罚或者会见针对你的号之公众形象造成惨重的罚款及有害。

 

当即段楼梯涵盖了SQL Server
2012遭受的片段特色,这些特征帮助减轻了这些威胁及其它过多题目。你必了解您的数据的威胁,知道怎样保护而的数。不要将时间浪费在那些未可知维护而的一定数据的现实威胁的不二法门上。您将永生永世无法覆盖有设的图景,最可怜之情况下,您将使数据库服务器完全无法以该预期的用户。安全始终是一致种妥协,它平衡了实行以及维护保障方法所需要的时光与资本的高风险。

平安规划理念

早以2002年,比尔盖茨就宣布了他那么声狼藉的“值得信赖的乘除备忘录”,这同一备忘录为证实是微软什么对待和兑现其产品安全的一个契机。根据微软网站的布道,由此有的但是信赖计算计划“专注于创造并交基于可靠工作实践的安、私有和保险的计量体验”。我们的目标是重安全、更可信之互联网。”

 

转换句话说,十差不多年前,微软本着安康问题的态度变得深盛大。在就同样变之后,SQL
Server的第一独版是SQL Server
2005,在斯版中,微软对整个产品的安全性展开了绝望底改善。从那以后,每一个本的SQL
Server都保存了初的安康根基设备,同时增加了新的安全性,并追加了初的性状,以增强安全性及诺针对新面世的胁。

 

恰巧使微软于SQL Server
2005年所描述的那样,通过定义产品安全设计之季个支柱,可信计算影响了SQL
Server的开支:

 

安全:微软对该设计、代码和相进行了常见的威慑分析与平安审计,以确定攻击者可当服务器和数码遭到赢得立足之地。其结果是,Microsoft设计了SQL
Server,以保护你存储于那边的多少的机密性、完整性和可用性。

巩固安全:于默认情况下,SQL
Server只以默认情况下安装和激活关键之核心数据库组件。这代表那些针对骨干数据库功能不重大之风味要么没装,要么为安装,但未曾被激活。没有设置之性状不爱遭遇攻击。你必出觉察地、有意识地设置或激活非核心作用。这可以防范广大对准您可能未亮堂的风味的攻击,因为您没有采取了它们。

确保:微软为平安地设置SQL
Server提供了工具及支撑,并保管了它的平安。SQL
Server配置工具得以助而安全地部署服务器。最要紧之是,SQL
Server的换代现在可看作在线Microsoft更新服务的同有些,所以很易获取安全更新和补丁。

平安通过关系:微软一度立了一个精心设计的基础设备来收集有关那个产品受到漏洞的音讯。但是,如果这些信还留给在微软内,那么这些消息都是毫无价值的。因此,该商家从事为沟通新的纰漏,积极地打补丁以护他们,并限期更新其在线帮助系统,以反映新的安全信息。

 

这种“it安全”的见解对全部产品还来震慑。但是,尽管SQL
Server非常安全,但是当你创建数据库暨安装服务时,您必须做出明智的安全选择,以担保SQL服务器的平安。要要生产数据库服务器安全,需要工作及保持警惕。

 

呼吁记住,有时候保护数量的极致好方法就是是不用把它座落数据库中,例如,如果你来绝对有效的要挂于即时类信息达(并且没有多这么的音),那么就只有存储信用卡号。如果你没这样的需要,您该处理信用卡交易并储存结果,而无是信用卡信息本身。你免能够忍受而莫的安数据!

安然之蝇头个阶段

SQL
Server的平安模型,就像Windows一样,是一个点儿路的长河,允许用户或任何登录访问服务器遭受的被保障资源:

 

证明:用户登录,得到认证,并获得对服务器的访问权。认证应了这题目:“你是谁?”“并且要求用户征其,通常是经过提供用户名的密码,但任何花样之印证正更换得进一步受欢迎。”

授权:用户可单独和数据库、表及贮过程进行互,而这些SQL服务器是它享有权的。授权对了此题目:“您允许开什么?”

 

用户或好登录到SQL
Server,但是只有他们发权力做片事情,比如看数据库,否则不见面出什么便宜。因此,您不只要吗而的用户提供身份验证凭证,还需授权他们通过当每个数据库被为她们定义帐户来聘数,这些数据库在通过身份验证后需要用。

 

当您考虑是题材常常,在每个数据库被还得一个用户帐户是挺有含义的。否则,什么会拦用户登录到SQL
Server,然后使他们想只要之另外数据库也?这同定义的扭转是为适应不同的面貌,但随即是骨干的安康状态。

 

立即段楼梯的延续级别包括身份验证和授权,您将修怎样以SQL
Server中落实各种安全特点,以防止你对数码的威逼。

SQL Server安全术语

当您于SQL
Server和任何产品遭应用安全性时,您将会晤遇上各种非常的术语。下面是有些比较广泛的术语,以及它当数据库安全上下文中的含义。

 

证明:碰巧使上面所涉及的,身份验证是由此要求它们作证其是和登录相关的人头来确定一个人口的经过。它应了是题材,你是哪位?

 

授权:一旦系统对用户展开身份验证,授权(如上所述)确定用户在服务器或数据库中有所的权限。这便应对了这问题,你本能够举行什么吗?

 

组:每当Windows中,一个组是和它相关的记名的中心。授予该组的另权力都给予以相关的报到。

 

模拟:富有的Windows进程,包括各种SQL
Server进程,都以一定的安康达成下文中运行,通常是造成进程启动的着重点。当进程临时接受不同之安全上下文时,就会产出模拟。这是一样种植非常有力以及必备之力量,但陪在滥用的也许。

 

登录:签到是在服务器实例中对目标有肯定程度看权限的主心骨。在常用之情景下,登录时同用户交换使用。但是,SQL
Server登录是用于从表面看服务器的一个帐户。登录有时连走访服务器范围的靶子的权限,比如配置信息,但日常不见面以数据库中给任何权力。

 

权限:权是看于保障资源的权,例如从表中读取数据或以服务器级别创建新数据库。权限通常意味着任何权限,这在主体权限的限制。

 

主体:一个核心是其它用户或代码组件,它好接到至以SQL
Server中做客被保障资源的权力。

 

特权: 特权是依赖中心有的大面积的权或权限。这个词有时可以同许可互换使用,这通常意味着一个一定的、狭窄的权利。特权意味着一组还广阔的权杖。

 

角色:SQL
Server角色类似于Windows组,但但限于SQL
Server实例的限定。与组同样,您可以将登录以及用户分配给角色,这将为登录以及用户提供角色所所有的有权力。

 

用户:用户是在一定数据库中对目标有肯定程度看权限的基本点。用户日常被射到登录。简单的话,登录可以看SQL
Server实例,而用户可以拜数。

 

于当下段楼梯被而会见到大部分的术语。

管住以及促成SQL Server安全性

与SQL
Server中之大部管制以及治本职责同样,几乎连接发出多种术来治本与贯彻安全特点,包括采取管理Studio的图形界面、编写和履行t-SQL代码,以及利用SQL
Server与PowerShell集成以咱们中间的命令行。使用PowerShell超出了此楼梯之克,但是在全路楼梯被,您将张多运用其他两栽技术之演示。(要询问PowerShell和SQL
Server之间的严谨集成,请查看SQL PowerShell的梯子)。

 

以以管理Studio进行安全特点,大多数景象下,您才待在对象浏览器被右击一个适中的目标并选取Properties,然后以对话框中采用相当的页面来拓展您想如果之更改。例如,要于AdventureWorksLT2012示范数据库被设置权限,右键单击对象浏览器中之数据库名称,选择Properties,然后择权限选项卡,如图1.1所著。

SQL Server 1

图1.1:修改AdventureWorksLT2012数据库安全性的权柄页面。

 

于数据库和服务器实例级上,对象资源管理器包括一个安全节点,它同意而管理和实现其他门类的平安特点。图1.2来得了AdventureWorksLT2012数据库暨劳务器实例级的之节点。两单突出展示的节点受到之每个节点都带有多独子节点,它们要您能够访问同选择范围相适应之平安目标。

 SQL Server 2

贪图1.2:对象资源管理器中之服务器和数码库级的安全目标。

 

君会以合管理工作室和它的各种窗口中找到各种各样的安特点,所以当您遇见她的时段,有必要开展部分追。

 

SQL Server
2005吃引入的安康检查所带来的变迁有是允许以更密切粒度的法门分配权限。正使您将以后的级别中打探及之那么,您可以为各种主体分配多种权,以便实现最要的安全规范,即每个重点还起权力来好他们待做的政工:不多吗不丢。除了就同样变,微软还提高了t-sql,在言语中含有了对直接操作安全目标的精支撑。

 

清单1.1着的代码展示了一个简约的t-sql示例,您得利用其来创造平安目标。该代码首先创建一个与存活的Windows登录相关联的劳务器级登录。然后,在AdventureWorks2012数据库中,代码创建了一个辉映到登录的用户,并也用户分配了一个默认的模式。最后一点代码显示了什么在数据库被删除用户,并创立另一个用户映射到同一的报到。当然,这是生做作的,但是她显得了公可以当代码中开来什么。或者当管理工作室的GUI工具被,如果您欣赏的话语。

 

— Add a Windows login to SQL Server

CREATE LOGIN [Marathon\JoeStairway] FROM WINDOWS;

GO

 

USE AdventureWorks2012;

GO

 

— Name the user the same name as login

CREATE USER [Marathon\JoeStairway] FOR LOGIN
[Marathon\JoeStairway]

    WITH DEFAULT_SCHEMA = Production;

GO

 

— Or, rename the user in the database

DROP USER [Marathon\JoeStairway];

GO

CREATE USER Jane FOR LOGIN [Marathon\JoeStairway];

GO

 

— Query metadata to show that user was created

SELECT * FROM sys.database_principals WHERE name =
‘Marathon\JoeStairway’;

SELECT * FROM sys.database_principals WHERE name = ‘Jane’;

 

清单1.1:用于创造服务器登录以及数据库用户的示范代码。

 

设若您想尝尝运行就段代码,那么你可能得事先进行一些改观。除非你当一个称作也老的机器上,并且有着一个现有的用户名joest气道,否则你将需要在代码中改变这些号。该代码在AdventureWorks2012中开创数据库用户,并行使它们的生产模式,因此而还是用设置该数据库,要么得变更代码以利用任何一个数据库暨水土保持的模式。但是,您可能想如果装AdventureWorks的样书数据库,因为当时段楼梯将反复地运其。

摘要

眼看同一重合的首先重合提供了SQL Server
2012受挑大梁安全概念的概述。您已经了解了片再常见的数据威胁,并探索了SQL
Server安全性背后的计划性理念。您了解了安全性的有限个阶段——身份验证和授权,学习了有的安术语,您将于满楼梯上张,并观看你可以通过管理Studio的GUI工具与t-sql代码来治本暨贯彻安全性。

 

以产一样交汇,您将了解再多关于怎样在SQL
Server中进行身份验证,以及可用的身份验证选项。

 

正文是SQL
Server安全性阶梯的相同部分

 

注册及我们的RSS订阅源,当我们以楼梯及揭晓一个新级别的下,就会获取关照!

相关文章