SQLServer2012SecurityCookBook
文章平均质量分 94
發糞塗牆
MVP, TOGAF, MCSE, Azure Solution Architect
展开
-
Chapter 1 Securing Your Server and Network(1):选择SQL Server运行账号
SQL Server是一个Windows 服务,以某个Windows用户或系统用户权限运行在Windows操作系统上。选择合适的帐号运行SQL Server是非常重要的,本系列文章只关注安全性方面。翻译 2014-07-18 10:59:46 · 5354 阅读 · 1 评论 -
Chapter 2 User Authentication, Authorization, and Security(10):创建包含数据库
在SQL Server中,安全性分为两级:服务器级别和数据库级别。服务器的登录名被映射到数据库中的一个用户。身份验证在登录名连接到服务器时发生。如果数据库中有这个登录名所对应的用户,那么这个登录名就能访问数据库。登录名和用户之间的映射是基于一个内部SID,当从一个服务器复制数据库到另外一个服务器,即使用户名相同,如果SID不同,也会打算这个连接关系。从2012开始引入了包含数据库(Contained database)概念,用于解决这种问题。翻译 2014-09-22 11:12:34 · 4628 阅读 · 0 评论 -
Chapter 1 Securing Your Server and Network(13):配置端点安全性
SQL Server端点(Endpoint)是出入SQL Server的门户,通过端点,任何东西可以在网络和SQL Server之间传输。端点可以是系统或者用户自定义的,其中系统端点允许使用T-SQL连接SQL Server并发送查询。翻译 2014-08-11 11:32:15 · 4669 阅读 · 0 评论 -
Chapter 1 Securing Your Server and Network(14):限制功能——xp_cmdshell 和OPENROWSET
基于安全性原因,某些功能在安装SQL Server时就被禁用,从2008开始,所有敏感选项可以通过一个叫【外围应用配置器】的【方面】进行管理,这个功能在2005的时候以独立工具的形式出现过,在2008又取消了。翻译 2014-08-18 11:09:21 · 5092 阅读 · 0 评论 -
Chapter 2 User Authentication, Authorization, and Security(5):使用固定服务器角色
登录帐号允许你连到SQL Server,并且如果有数据库用户映射到这个帐号,那么这个帐号也可以访问对应的数据库。默认情况下,他们没有服务器层面的管理操作权。固定服务器角色允许你简化授权和回收权限的操作。翻译 2014-09-01 11:00:14 · 4821 阅读 · 0 评论 -
Chapter 2 User Authentication, Authorization, and Security(4):限制SA帐号的管理权限
SA帐号是SQL Server的系统管理员,在安装过程中就可以启用,在SQL Server 2005之前,这个帐号不能修改,但是从2005开始,可以重命名或者禁用sa来减少被攻击的风险。在后续版本中,Sa仅作为向后兼容。由于SA是众人皆知的帐号,不建议使用。翻译 2014-08-25 11:07:36 · 5259 阅读 · 1 评论 -
Chapter 2 User Authentication, Authorization, and Security(7):创建和使用用户自定义服务器角色
从SQL Server 2012开始,不再限制于使用固定服务器角色,可以创建自定义的角色,允许你预设特殊权限。翻译 2014-09-01 11:03:35 · 4583 阅读 · 0 评论 -
Chapter 2 User Authentication, Authorization, and Security(6):服务器权限授予粒度
在SQL Server 2005之前,只有通过添加登录到固定服务器角色,才能获取管理权限。SQL Server 2005引入了一套服务器粒度权限,允许你定义一套严密的权限给服务器级别的登录。翻译 2014-09-01 11:01:04 · 4563 阅读 · 0 评论 -
Chapter 2 User Authentication, Authorization, and Security(8):创建映射到登录名的数据库用户
登录名用于授权并访问服务器资源,如果需要访问数据库,需要对数据库内部的用户进行映射。用户是数据库级别的安全主体,访问数据库资源是授予给用户,而不是登录名。翻译 2014-09-01 11:10:46 · 8233 阅读 · 0 评论 -
Chapter 3 Protecting the Data(1):理解权限
关系型数据库管理系统(RDBMS),如SQL Server、Oracle、Mysql等,不仅仅需要负责存取数据,也要负责确保数据的一致性和安全性。类似于其他服务器系统,通过授权给一个用户并维护这个用户的会话来控制数据的访问行为。每当尝试读写数据时,SQL Server都会检查这些权限。翻译 2014-09-25 11:47:05 · 5318 阅读 · 0 评论 -
Chapter 2 User Authentication, Authorization, and Security(11):在已还原的数据库中修正登录映射错误
如果你把非包含数据库从一个服务器移到另外一个服务器,不管是备份还原还是分离附加,都有可能导致SQL用户变成孤立用户,意味着他们没有对应的登录关联。因为登录名和用户之间的映射是基于SID的,即使新服务器上有相同的登录名,但是由于SID不同,也会使得用户无法被识别,从而形成孤立用户。 如果在同一个域中迁移,那么映射问题仅会影响SQL登录,因为域账号(Windows身份验证)的SID在活动目录中是相同的。翻译 2014-09-23 12:01:43 · 4678 阅读 · 0 评论 -
Chapter 3 Protecting the Data(2):分配列级权限
SQL Server的权限是有层次的,一个用户有架构级别的权限,就有了架构内部所有对象的权限,除非使用了DENY权限单独移除。但是对象并不是层次中的最低级,可以把权限设置到列级别。但是列级权限会覆盖掉表上被GRANT的权限。翻译 2014-09-26 11:09:25 · 4990 阅读 · 0 评论 -
Chapter 3 Protecting the Data(4):创建和使用应用程序角色
数据库角色用于管理数据库内部的访问和权限。数据库角色成员是能通过客户端软件如SSMS连接SQL Server的数据库用户,但是你可能希望授予某个特殊用户一些特权,但是仅限制于某个应用程序而不是SSMS时,第一个解决方案是使用专用SQL 帐号作为应用程序的登录。但是这个方案的缺点是需要使用SQL Server身份验证,并且不能标识出哪个用户正在连接SQL Server。但是可以使用同一个应用程序登录名,并且使用Windows身份验证,因此能更好地标识应用程序的用户,从而在必要的时候提升权限。翻译 2014-10-09 11:21:10 · 5560 阅读 · 0 评论 -
Chapter 3 Protecting the Data(3):创建和使用数据库角色
数据库层级的角色允许把数据库权限像服务器级别角色一样组合管理。你可以配置固定服务器角色,创建用户自定义角色等。翻译 2014-09-28 12:41:57 · 5438 阅读 · 0 评论 -
Chapter 2 User Authentication, Authorization, and Security(9):防止登录名和用户查看元数据
在SQL Server 2005之前,所有服务器和数据库元数据都是所有人可见的。当基于网银的系统把SQL Server实例共享给客户时,有可能可以看到其他用户的信息。从2005开始,可以通过控制权限来限制登录名或用户查看不必要的元数据。翻译 2014-09-02 11:42:14 · 5048 阅读 · 0 评论 -
Chapter 2 User Authentication, Authorization, and Security(3):保护服务器避免暴力攻击
暴力攻击(Brute-force attack)是通过几乎所有可能的字符组合尝试破解密码,或者使用一个字典表,包含几乎所有可能的密码来实现密码破解的方法。如果你的密码很简单,那么很快就会被破解。所以,测试密码是非常重要的。翻译 2014-08-22 14:41:42 · 5114 阅读 · 0 评论 -
Chapter 1 Securing Your Server and Network(2):管理服务的SIDs
像SQL Server这种运行在一个Windows 帐号的安全上下文下的服务,如果还有其他服务使用相同的Windows帐号运行,那么这些服务(非SQL Server)将可能访问一些非预期资源翻译 2014-07-18 12:21:36 · 4278 阅读 · 0 评论 -
Chapter 1 Securing Your Server and Network(3):使用托管服务帐号
托管服务帐号(Managed Servcie Account)从Windows Server 2008 R2出现, 它的目的是使用于运行服务的活动目录帐号更加容易管理。翻译 2014-07-21 15:33:15 · 5782 阅读 · 0 评论 -
Chapter 1 Securing Your Server and Network(4):使用虚拟服务帐号
虚拟服务帐号(Virtual service account)和托管帐号一样,都是Windows Server 2008 R2引入的新特性,它是一个不需要密码管理的本地帐号,并且可以和NetworkService帐号一样通过计算机标识访问网络。翻译 2014-07-22 10:55:12 · 4762 阅读 · 0 评论 -
Chapter 1 Securing Your Server and Network(5):使用SSL加密会话
如果想保护这些数据不被嗅探器侦测,需要使用SSL加密客户端和服务器之间的交互。翻译 2014-07-23 14:42:19 · 4529 阅读 · 0 评论 -
Chapter 1 Securing Your Server and Network(6):为SQL Server访问配置防火墙
SQL Server 的通信基于TCP和UDP端口,如果你需要从非本机的机器上访问SQL Server,需要打开防火墙的端口。翻译 2014-07-24 11:48:27 · 5586 阅读 · 0 评论 -
Chapter 1 Securing Your Server and Network(7):禁用SQL Server Browse
SQL Server Browser 服务在安装SQL Server 群集或者命名实例时自动启动,它用于与机器上的SQL Server实例进行交互,并让客户端通过命名实例正在侦听的端口进行信息发送。翻译 2014-07-28 11:47:31 · 4729 阅读 · 0 评论 -
Chapter 1 Securing Your Server and Network(9):使用Kerberos用于身份验证
在活动目录(Active Directory)中,有两种身份验证机制:NTLM和Kerberos。其中NTLM(NT LAN Manager)是基于旧版加密方式的授权协议,微软不建议再使用。翻译 2014-08-01 10:42:15 · 4502 阅读 · 0 评论 -
Chapter 1 Securing Your Server and Network(10):使用扩展保护避免授权中继攻击
在客户端和服务器互访过程中,授权是会一直保持,通过验证,可以接受或拒绝连接。翻译 2014-08-04 14:10:02 · 4866 阅读 · 0 评论 -
Chapter 1 Securing Your Server and Network(8):停止未使用的服务
如果完全安装SQL Server,会有一些非必要的组件也会被安装上去,这些组件会影响性能,也会带来更大的安全隐患。翻译 2014-07-29 11:26:49 · 4322 阅读 · 0 评论 -
Chapter 2 User Authentication, Authorization, and Security(1):选择Windows和SQL 身份验证
SQL Server 有两种身份验证:一种是WIndows身份验证,Windows身份验证使用Windows上的帐号,并利用其安全令牌进行验证。一种是SQL Server验证,使用SQL Server里面定义的帐号进行身份验证。翻译 2014-08-18 11:13:41 · 5909 阅读 · 0 评论 -
Chapter 1 Securing Your Server and Network(11):使用透明数据库加密
如果没有对数据库文件(MDF/LDF等)做权限控制,攻击者可以把这些文件复制走,然后附加到自己机器上进行分析。第一层保护就是对SQL Server文件所在的NTFS文件系统进行权限管控。如果希望进一步保护数据库,可以使用透明数据库加密(Transparent Database Encryption,TDE),这个功能可以保护对应数据库的所有文件,不管有多少个文件。因为文件已经加密,即使这些文件被复制走,如果没有数据库主密钥,也一样不能使用。同时,这种加密不影响用户对数据库的使用,开发人员不需要对此做额外的工翻译 2014-08-06 11:49:25 · 4639 阅读 · 0 评论 -
Chapter 2 User Authentication, Authorization, and Security(2):创建登录帐号
登录帐号是定义在服务器(实例)级别,并能被授予进行管理任务、连接、访问数据库等权限的帐号。SQL Server安全模型有两个级别:服务器级别和数据库级别。登录帐号必须先创建在服务器级别。如果需要访问数据库,还需要在数据库级别创建一个用户映射到已有的登录名中。翻译 2014-08-20 14:41:04 · 7347 阅读 · 0 评论 -
Chapter 1 Securing Your Server and Network(12):保护链接服务器
链接服务器(Linked Server)可以使两个不同的SQL Server实例甚至和其他类型的RDBMS进行互访。通过链接服务器,可以实现分布式查询,类似于一个应用程序,把连接目标服务器的连接字符串预存起来。翻译 2014-08-08 13:53:40 · 4472 阅读 · 0 评论 -
SQL Server扫盲系列——安全性专题——SQL Server 2012 Security Cookbook
SQL Server扫盲系列——安全性专题原创 2014-07-17 15:08:37 · 8242 阅读 · 1 评论