在改进SQL Server 7.0系列所实现的安全机制的过程中,Microsoft建立了一种既灵活又强大的安全管理机制,它能够对用户访问SQL Server服务器系统和数据库的安全进行全面地管理。按照本文介绍的步骤,你可以为SQL Server 7.0(或2000)构造出一个灵活的、可管理的安全策略,而且它的安全性经得起考验。

  一、验证方法选择   

  本文对验证(authentication)和授权(authorization)这两个概念作不同的解释。验证是指检验用户的身份标识;授权是指允许用户做些什么。在本文的讨论中,验证过程在用户登录SQL Server的时候出现,授权过程在用户试图访问数据或执行命令的时候出现。   

  构造安全策略的第一个步骤是确定SQL Server用哪种方式验证用户。SQL Server的验证是把一组帐户、密码与Master数据库Sysxlogins表中的一个清单进行匹配。Windows NT/2000的验证是请求域控制器检查用户身份的合法性。一般地,如果服务器可以访问域控制器,我们应该使用Windows NT/2000验证。域控制器可以是Win2K服务器,也可以是NT服务器。无论在哪种情况下,SQL Server都接收到一个访问标记(Access Token)。访问标记是在验证过程中构造出来的一个特殊列表,其中包含了用户的SID(安全标识号)以及一系列用户所在组的SID。正如本文后面所介绍的,SQL Server以这些SID为基础授予访问权限。注意,操作系统如何构造访问标记并不重要,SQL Server只使用访问标记中的SID。也就是说,不论你使用SQL Server 2000、SQL Server 7.0、Win2K还是NT进行验证都无关紧要,结果都一样。   

  如果使用SQL Server验证的登录,它最大的好处是很容易通过Enterprise Manager实现,最大的缺点在于SQL Server验证的登录只对特定的服务器有效,也就是说,在一个多服务器的环境中管理比较困难。使用SQL Server进行验证的第二个重要的缺点是,对于每一个数据库,我们必须分别地为它管理权限。如果某个用户对两个数据库有相同的权限要求,我们必须手工设置两个数据库的权限,或者编写脚本设置权限。如果用户数量较少,比如25个以下,而且这些用户的权限变化不是很频繁,SQL Server验证的登录或许适用。但是,在几乎所有的其他情况下(有一些例外情况,例如直接管理安全问题的应用),这种登录方式的管理负担将超过它的优点。

  二、Web环境中的验证   

  即使最好的安全策略也常常在一种情形前屈服,这种情形就是在Web应用中使用SQL Server的数据。在这种情形下,进行验证的典型方法是把一组SQL Server登录名称和密码嵌入到Web服务器上运行的程序,比如ASP页面或者CGI脚本;然后,由Web服务器负责验证用户,应用程序则使用它自己的登录帐户(或者是系统管理员sa帐户,或者为了方便起见,使用Sysadmin服务器角色中的登录帐户)为用户访问数据。   

  这种安排有几个缺点,其中最重要的包括:它不具备对用户在服务器上的活动进行审核的能力,完全依赖于Web应用程序实现用户验证,当SQL Server需要限定用户权限时不同的用户之间不易区别。如果你使用的是IIS 5.0或者IIS 4.0,你可以用四种方法验证用户。第一种方法是为每一个网站和每一个虚拟目录创建一个匿名用户的NT帐户。此后,所有应用程序登录SQL Server时都使用该安全环境。我们可以通过授予NT匿名帐户合适的权限,改进审核和验证功能。   

  第二种方法是让所有网站使用Basic验证。此时,只有当用户在对话框中输入了合法的帐户和密码,IIS才会允许他们访问页面。IIS依靠一个NT安全数据库实现登录身份验证,NT安全数据库既可以在本地服务器上,也可以在域控制器上。当用户运行一个访问SQL Server数据库的程序或者脚本时,IIS把用户为了浏览页面而提供的身份信息发送给服务器。如果你使用这种方法,应该记住:在通常情况下,浏览器与服务器之间的密码传送一般是不加密的,对于那些使用Basic验证而安全又很重要的网站,你必须实现SSL(Secure Sockets Layer,安全套接字层)。   

  在客户端只使用IE 5.0、IE 4.0、IE 3.0浏览器的情况下,你可以使用第三种验证方法。你可以在Web网站上和虚拟目录上都启用NT验证。IE会把用户登录计算机的身份信息发送给IIS,当该用户试图登录SQL Server时IIS就使用这些登录信息。使用这种简化的方法时,我们可以在一个远程网站的域上对用户身份进行验证(该远程网站登录到一个与运行着Web服务器的域有着信任关系的域)。   

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10294527/viewspace-122727/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10294527/viewspace-122727/

SQL Server数据库安全规划全攻略(转)相关推荐

  1. SQLServer数据库安全规划全攻略(转)

    在改进SQL Server 7.0系列所实现的安全机制的过程中,Microsoft建立了一种既灵活又强大的安全管理机制,它能够对用户访问SQL Server服务器系统和数据库的安全进行全面地管理.按照 ...

  2. SQL Server六步改善安全规划全攻略

    SQL Server六步改善安全规划全攻略 1.验证方法选择 本文对验证(authentication)和授权(authorization)这两个概念作不同的解释.验证是指检验用户的身份标识:授权是指 ...

  3. Windows Home Server中文版使用全攻略

      新一代数字家庭中枢<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /& ...

  4. 程序员的职业规划_从菜鸡到大佬——程序员们,请收下这份职业规划全攻略!...

    作者:阿诺,有删改 引言 John Z. Sonmez是一位来自硅谷的杰出程序员,2016年他出版了<软技能:代码之外的生存指南>一书.这本书在中国翻译出版之后,引起了国内广大程序员的热烈 ...

  5. Win2003 Server手动设置全攻略

    最近自己正式安装了Windows 2003 server,感觉很多地方要手动设置后才好用,以下将记录我的DIY的心得,希望对大家有点用处! 1.禁用Internet Explorer Enhanced ...

  6. Windows server 2003 DHCP全攻略(二)

    一.配置DHCP选项 DHCP除了可以为客户端自动分配IP地址和子网掩码外,还可以分配很多可选的参数.,这些参数就是DHCP选项.下面介绍一下常用的几个: 003:路由器:DHCP客户端所在IP子网的 ...

  7. Windows server 2003 DNS 全攻略(一)

    在目前应用中主要使用两种名称体系:DNS名称体系和NetBIOS名称体系.但DNS成为INTERNET上通用的命名规范. 1.NetBIOS名称体系 它是使用长度不超过16个字符的名称来惟一标识每个网 ...

  8. VSCode插件开发全攻略

    原文:VSCode插件开发全攻略(一)概览 作者:小茗同学 文章索引 VSCode插件开发全攻略(一)概览 VSCode插件开发全攻略(二)HelloWord VSCode插件开发全攻略(三)pack ...

  9. WINDOWS SERVER 2003 DHCP服务器全攻略

    DHCP服务器全攻略 WINDOWS SERVER 2003从入门到精通之配置DHCP服务器 DHCP(Dynamic Hoat Configure Protocol)动态主机配置协议简称,首先我们先 ...

最新文章

  1. 详解tomcat的连接数与线程池
  2. c语言不用switch做计算器,超级新手,用switch写了个计算器程序,求指导
  3. C#利用反射实现实体类ListT索引器
  4. 浅谈JavaScript中forEach与each
  5. cocos2d-x 3.X (二)创建动起来的精灵
  6. 吾爱破解论坛2021年11月11日,光棍节免费开放注册
  7. 赛尔号星球大战服务器维修,《赛尔号星球大战》6月14日停服更新公告
  8. 互联网晚报 | 9月16日星期五 | ​B站回应诉争“哔哩哔哩”商标被驳回;​苹果占国内高端机70%份额;​蔚来手机被曝明年发布...
  9. 人脸识别产品问题及改进方法
  10. shell的课程大纲
  11. Pytorch-gpu版安装教程【注意:无需提前安装cuda和cudnn】
  12. 工程部署: 低算力平台模型性能的优化
  13. 求分享如何给短视频加特效
  14. 【IAR Error】IAR MSP430编译报错:error
  15. 使用随机森林做特征选择
  16. 实录 | 计算未来轻沙龙:人工智能前沿与应用研讨会(PPT下载)
  17. Kotlin ListView设置Adapter
  18. 阿里云自动挂载云盘脚本
  19. 用Python实现自动刷王者荣耀金币,这简直不要太爽了
  20. 备考计算机考研,如何备考计算机考研?

热门文章

  1. 应对高并发的几个常见方法
  2. java协议标准与规范
  3. 货来,速抢 — 天选 2 首发评测
  4. Java修仙道路_JAVA修仙??
  5. 1100 校庆 (25 分)
  6. 【支付宝沙箱支付】麻瓜教程——申请----代码----修改测试----问题解决
  7. 干掉 Swagger (丝袜哥),试试这个新工具!
  8. python爬虫简单入门(爬网页文本信息)
  9. 排版设计常用术语和常识
  10. 计算机高中竞赛自主招生,自主招生必备常识:高校认可的各类竞赛