打印本文 关闭窗口 | ||||||||||
SQL Server 2000数据库安全妙招拆解 | ||||||||||
作者:未知 文章来源:it168 点击数 更新时间:2006/12/1 7:49:04 文章录入:admin 责任编辑:admin | ||||||||||
|
||||||||||
【导读】如何有效地保证数据库系统的安全,实现数据的保密性、完整性和有效性,已经成为业界人士探索研究的重要课题之一,本文就SQL Server2000数据库服务器的安全性策略问题进行了简要的探索性总结。 1.使用健壮安全的密码策略 很多数据库帐号的密码过于简单,这跟系统密码过于简单是一个道理。对于sa更应该注意,同时不要让sa帐号的密码写于应用程序或者脚本中。健壮的密码是安全的第一步!SQL Server2000安装的时候,如果是使用混合模式,那么就需要输入sa的密码,除非你确认必须使用空密码。这比以前的版本有所改进。同时养成定期修改密码的好习惯。数据库管理员应该定期查看是否有不符合密码要求的帐号。 比如使用下面的SQL语句:
由于SQL Server不能更改sa用户名称,也不能删除这个超级用户,所以,我们必须对这个帐号进行最强的保护,当然,包括使用一个非常强壮的密码,最好不要在数据库应用中使用sa帐号,只有当没有其它方法登录到 SQL Server 实例(例如,当其它系统管理员不可用或忘记了密码)时才使用 sa。建议数据库管理员新建立个拥有与sa一样权限的超级用户来管理数据库。安全的帐号策略还包括不要让管理员权限的帐号泛滥。 SQL Server的认证模式有Windows身份认证和混合身份认证两种。在任何可能的时候,您都应该对指向SQL Server的连接要求Windows身份验证模式。 Windows认证模式比混合模式更优越,原因在以下: 1) 它通过限制对Microsoft Windows用户和域用户帐户的连接,保护SQL Server免受大部分Internet工具的侵害。 2) 服务器将从Windows安全增强机制中获益,例如更强的身份验证协议以及强制的密码复杂性和过期时间 。 3) 使用Windows认证,不需要将密码存放在连接字符串中。存储密码是使用标准SQL Server登录的应用程序的主要漏洞之一。 4) Windows认证意味着你只需要将密码存放在一个地方。 要在SQL Server的Enterprise Manager安装Windows身份验证模式,请按下列步骤操作:
SQL Server的默认安装将监视TCP端口1433以及UDP端口1434。配置您的防火墙来过滤掉到达这些端口的数据包。而且,还应该在防火墙上阻止与指定实例相关联的其他端口。 4.审核指向SQL Server的连接 SQL Server可以记录事件信息,用于系统管理员的审查。至少您应该记录失败的SQL Server连接尝试,并定期地查看这个日志。在可能的情况下,不要将这些日志和数据文件保存在同一个硬盘上。 要在SQL Server的Enterprise Manager中审核失败连接,请按下列步骤操作:
对存储过程进行大手术,并且对帐号调用扩展存储过程的权限要慎重。其实在多数应用中根本用不到多少系统的存储过程,而SQL Server的这么多系统存储过程只是用来适应广大用户需求的,所以请删除不必要的存储过程,因为有些系统的存储过程能很容易地被人利用起来提升权限或进行破坏。如果你不需要扩展存储过程xp_cmdshell请把它去掉。使用这个SQL语句:
6.使用视图和存储程序以分配给用户访问数据的权利
7.使用最安全的文件系统 NTFS是最适合安装SQL Server的文件系统。它比FAT文件系统更稳定且更容易恢复。而且它还包括一些安全选项,例如文件和目录ACL以及文件加密(EFS)。在安装过程中,如果侦测到 NTFS,SQL Server将在注册表键和文件上设置合适的ACL。不应该去更改这些权限。 通过EFS,数据库文件将在运行SQL Server的帐户身份下进行加密。只有这个帐户才能解密这些文件。如果您需要更改运行SQL Server的帐户,那么您必须首先在旧帐户下解密这些文件,然后在新帐户下重新进行加密。 8.安装升级包 为了提高服务器安全性,最有效的一个方法就是升级到SQL Server 2000 Service Pack 3a (SP3a)。另外,您还应该安装所有已发布的安全更新。 9.使用Microsoft基线安全性分析器(MBSA)来评估服务器的安全性 MBSA 是一个扫描多种Microsoft产品的不安全配置的工具,包括SQL Server和Microsoft SQL Server 2000 Desktop Engine(MSDE 2000)。它可以在本地运行,也可以通过网络运行。该工具针对下面问题对SQL Server安装进行检测:
10.其他安全策略
使用TCP/IP作为SQL Server的网络库。这是微软推荐使用的库,是经受考验的。如果服务器将与网络连接,使用非标准端口会被一些别有用心的人破坏。 使用一个低级别的帐号来运行SQL Server,而不是一个管理帐号。这对系统崩溃的时候起着保护作用。 不要允许未获得安全许可的客人访问任何包括安全数据的数据库。 将数据库保护于一个“被锁的房间”。记住,很多骚扰都是来自于内部的人。 |
||||||||||
打印本文 关闭窗口 |