面向数据库管理员的SQL Server 2008安全性概述
2010-03-06 15:43:13 来源:WEB开发网最短的口令长度
口令必须满足复杂度要求参见下文。
利用可逆加密存储口令允许在 Windows 中检索口令。绝对不要启用该选项,除非应用程序的要求优先于安全口令的要求。(该策略不适用于 SQLServer。)
口令过期日口令的最长存在时间
口令的最短存在时间
帐户锁定策略帐户锁定持续时间帐户锁定的持续时间(以分钟计)。当锁定阈值>0时,Windows 将启用该策略。
帐户锁定阈值不成功登录尝试的最大次数。
时间到后即可重置帐户锁定计数器多久之后 Windows 将重置不成功尝试的计数器。当锁定阈值>0时,Windows 将启用该选项。
如未运行 WindowsServer2003 或更新版本,SQLServer 仍利用简单的检查方法,强行应用口令强度,以阻止以下口令:
Null 或空口令
与计算机或登录名相同
Password、admin、administrator、sa、sysadmin 等口令
相同的复杂度标准被应用给在 SQL Server 中创建及使用的所有口令,包括 sa 登录的口令、应用程序角色、用于加密的数据库主密钥以及对称加密密钥。
SQL Server 默认情形下总会检查口令策略,但利用 CREATE LOGIN 或 ALTER LOGIN 语句,可取消对个别登录的强行应用,代码如下:
CREATE LOGIN bob WITH PASSWORD = 'S%V7Vlv3c9Es8',
CHECK_EXPIRATION = OFF, CHECK_POLICY = OFF
CHECK_EXPIRATION 使用 WindowsServer2003 策略的“口令最大和最小年龄”部分,而CHECK_POLICY 使用其他的策略设置。
管理设置还允许启用或关闭口令策略检查、启用或关闭口令过期检查,并在用户第一次登录时强行修改口令。CREATE LOGIN 中的 MUST_CHANGE 选项强行让用户修改下次登录时的口令。在客户端,它允许在登录时修改口令。所有新型客户端数据访问技术都支持该特性,包括 OLE DB 和ADO.NET 以及客户端工具,如 Management Studio。
如果用户的不成功登录次数过多,超出了口令策略允许的尝试次数,SQL Server 将根据 Windows 策略中的设置锁定该帐户。管理员可利用 ALTER LOGIN 语句取消锁定该帐户:
ALTER LOGIN alice WITH PASSWORD = '3x1Tq#PO^YIAz' UNLOCK
端点验证
SQL Server2008 支持传统的二进制 Tabular Data Stream(表格数据流),客户端利用该数据流通过HTTP 访问数据,也可通过 HTTP 访问本地 XML Web 服务。允许通过 HTTP 进行访问的主要好处就是,任何理解 Web 服务协议的客户端软件和开发工具都可访问存储在 SQL Server 中的数据。这表示 SQL Server2008 可以提供独立的 Web 服务方法,它也是Service Oriented Architecture(面向服务的体系结构,SOA)中的一个完整端点。
将 SQL Server2008 用作 Web 服务主机需要两步通用操作,每一步都有很多变化:定义存储过程和用户定义的函数,以提供 Web 服务方法;定义 HTTP 端点,以通过 HTTP 接收方法调用,并将其转给适当的过程。本文主要介绍其中涉及到安全问题。有关配置及使用 HTTP 端点的详情,请参阅 SQL Server Books Online 中的 CREATE ENDPOINT(Transact-SQL)部分。
由于默认情形下 SQL Server 中的 XML Web 服务使用 HTTP 和80端口,因此大多数防火墙都允许流量通过。但是,不受保护的端点其实是潜在的攻击载体,必须对其施加保护,因此 SQL Server 提供了强大的验证和授权机制。默认情形下,SQL Server 没有任何端点,用户必须拥有高级权限,以创建、更改及启用 HTTP 端点。
SQLServer2008 提供了五种不同的验证类型,与 IIS 用于网站验证的方法类似。
Basic 验证
基本验证是 HTTP 1.1 协议的一部分,它以base-64编码的明文传送登录凭证。凭证必须映射到 Windows 登录,然后 SQL Server 利用该凭证授权给对数据库资源的访问。如果使用 Basic 验证,就无法将 PORTS 自变量设为 CLEAR,反之必须将其设为 SSL,并通过 SSL 利用数字证书加密与客户端软件的通信。
- ››数据库对象——存储过程
- ››数据库设计词汇对照表
- ››面向对象的JS-私有成员变量实现方式
- ››数据库大型应用解决方案总结
- ››面向对象的JavaScript (一、对象基础,使用函数来...
- ››面向对象数据库 db4o 之旅,第 4 部分: 使用 dRS
- ››面向 Java Web 应用程序的 OpenID,第 2 部分: 为...
- ››面向 Java 开发人员的 db4o 指南: 简介和概览
- ››面向 Java 开发人员的 db4o 指南: 查询,更新和一...
- ››面向 Java 开发人员的 db4o 指南: db4o 中的数据库...
- ››面向 Java 开发人员的 db4o 指南: 超越简单对象
- ››面向 Java 开发人员的 db4o 指南: 结构化对象和集...
更多精彩
赞助商链接