保护SQL服务器的安全-应用程序的角色

ZDNet软件频道 时间:2003-12-30 作者:ZDNet China |  我要评论()
本文关键词:sqltips spl
开发人员和管理员总是被迫重新考虑其应用程序的安全——事后才加入安全保护很显然不再能够被接受。安全从一开始就必须是一个重点,从设计过程一开始就是。
本文译自Builder.com,未经许可请勿转载

开发人员和管理员总是被迫重新考虑其应用程序的安全——事后才加入安全保护很显然不再能够被接受。安全从一开始就必须是一个重点,从设计过程一开始就是。在你下一次负责开发SQL服务器数据库的时候,请按照下面的指导方针,从一开始就为开发一个更加安全的应用程序作好准备。

基础知识
如果你还不了解SQL服务器安全的基本概念,那么现在就先停下来,仔细研究一下这些基本概念;不了解这些概念,你就无法正确地保证数据库的安全。它可以让你把安全机制看作是一辆汽车。你有一个引擎、一把钥匙,并了解在转动钥匙点火到引擎轰鸣之间所有的步骤。如果你不知道这些步骤,那么成功解决这些问题的几率就会非常低。你当然可以把自己的车送到机械师那里(去修理),但是为了保证应用程序的安全,你自己就要成为(维护)数据库的机械师。

在一开始,你可以在两种安全模式中选择一种:

  • Windows验证模式(Windows Authentication Mode):用户通过已有的Windows用户帐号连接到服务器上。当用户尝试连接到服务器的时候,SQL服务器就会验证用户的Windows帐号名和密码。用户不必同时登录进网络和SQL服务器;这需要登录一次就行了。这种方式也叫做受信连接trusted connection)。
  • 混合模式(Mixed Mode):这种模式结合了Windows验证和SQL服务器的验证。用户可以通过Windows的帐号连接,就像在Windows验证模式里一样。但是你也可以直接在SQL服务器里创建自己的帐号,而且它们不需要同Windows帐号有任何关系。每个SQL服务器帐号保存有用户名和密码。


我们建议在可能的时候都使用Windows验证模式。但是,在使用SQL服务器7.0(或者更早版本)的时候,必须要用混合模式。SQL服务器验证(混合模式)是为了向后兼容SQL服务器的更早版本而提供的。Windows验证同Windows安全系统集成在一起,这就提供了比SQL服务器验证更多的特性,而且更容易使用,更有效,更安全。你需要在设计过程的早期就决定要使用哪种模式。

密码
不论你使用哪种(验证)模式,总是要记住为SQL服务器自带的系统管理员(sa)用户设置一个密码。在你安装SQL服务器的时候,它会自动地使用SQL服务器的登录名sa和空白密码创建一个管理员用户。如果你不管这个用户而使用混合安全模式,那么任何具有SQL服务器基本知识的人,都可以轻易地登录进你的数据库,并做他们想做的事。如果你正在使用Windows验证模式,从理论上讲,你不需要为sa用户设置一个密码,因为SQL服务器登录不会被接受。但是设置一个密码总是个好习惯,以防止你在被迫转到混合模式的时候出问题。

如果把安全模式比作引擎,那么登录就是启动引擎的钥匙。你必须有正确的钥匙才能够启动你的引擎。登录的方式都是一样的——如果没有输入正确的用户名和密码,你就无法连接到网络上,继而无法连接到SQL服务器上。

作为管理员,一旦点火开动了引擎,你就准备好把车开走了。通过定义以下的属性,你就可以这样做了。


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134