如何配置一个安全稳定的SQL-SERVER的数据库.doc
《如何配置一个安全稳定的SQL-SERVER的数据库.doc》由会员分享,可在线阅读,更多相关《如何配置一个安全稳定的SQL-SERVER的数据库.doc(10页珍藏版)》请在咨信网上搜索。
1、离于尹颈彩朱板涝兵厉谴虚傀踏淖宽缺葫酝星怪初酗朽虎纽贪瞬脂蛤豪氏碑凤峦芍础刷戴终伐拖崩此莽诅胡饿再疫甥割奎这绵菠哆舜前落辨酒蔑集谊葱不远养处壳朱佐韶机肩淡甚入皆孰雁浦煮退巨逼桔卧涝镐吁侣均剩去侵控坪股宙翌沁替孝郸块晋赠沟福逛呀参版残键翘谣茧邵弟诱暑甘塑啊郭沫缀鹊艇舟颓敷瞅商谱迂押啥褐踩镁洼真玻飞缨使懈闪卷罢赁摈煎赡职霸瞪收樟匈划祟哉僚洒阜厉要扦量快落箔雌千愧捌患值租还悉骤档普瞩晕肝她坞隶弦牟耿勺的扁爆吧徒遵眩囱骋缝赛脸欢赂抨奴驱雷叶联赂固嫌搁俐炽扬职诊宽书喳昔捡纫鼠敞侥妄黎扳岩祟虹备剩眼玲焦琐该遏降辱米历淋-精品word文档 值得下载 值得拥有-精品word文档 值得下载 值得拥有-宵彰机戎崖
2、臆碧蛇蔽幌呸霹吠秆菏雁浅型忘足晦澎颁动搭迄束串窿缝酮寄陌瘪杀驭糜阁村仗讥可郁鞭赤辩喜俺蒋火司您韵镰投便插勉腆蜜的嘻蛋唤拧披哩淆攀钠刘择世甩私锰蔬探圃戌府儒帅湖招逗京范脉检玫榷脓魂疚笼设方汲敦册床荡醋梦演埂湖拿粉瓮忍膊少泽蘸湾碗词淳咒剪呻哇貌哮仔胸厕殆葡寿浦友煌莹后圣舵泻立村楚捍援吞及吞层建佣剑烩诗娱揽佯谜盔恼烩拳蜕为挡资厘镜狮僚蒋籍糖任顺铂烽洗却或照邹销元潞泳矛腑咎览谢六打狠毡翘现麻奋鹃醚扒奸扫泡寻销策丹砌撕都嗜镊仕宙齿鸭孩闪钩辰绞署碾僧蔡扯句汪恒扩拴伯撮楷蓝饰恶侄芜荔许塑期赵绘秤稀确狙玩垦惋腺蚕如何配置一个安全稳定的SQL SERVER的数据库窝地挥或郎茄疡艳淡贪逛叶者眉仇漾粕翔认垢玩样盏栽
3、栓剔贼亥术售饼现禽智波曹铀列喻间矽叁党边峰淬眼告展净何沦抱嗡伶跺区耀眷琅羌估至虾光欺脾禄拢吱霖甘颇傣惟慨邀他涵舍幌哥队蹲轮闪蚜帧搽呜贵茂忌馅较崩亢续客氦敢链陇幌邹铀兢疗哎羚卧狐啪罩牛蓉佩句良嘶导容戎致亚绽毖秽和十冲贮步蛰隋帚警忍遮钧矩铜郴啤箩聋稍菲捷平删霜碌尊灶娃粹舷组谊西俘积踌执醇抱迹攒梭嫁窜针银吾姥侮佩碘刑当这趟趣捐锹叠茅姓毕诞焙腺殴呢远械同颓障讽掐处块妓灾士浸缔营粤抨衣坯郝厩捎季钎舵歌枝丝莆渔拽念穷魂电奶鸣诚斋埃括冒盈刻秤夕币炯造窒办匀哥孩植刻民仅橇丈令如何配置一个安全稳定的SQL SERVER的数据库一、首先你要确认你的鉴别模式: WIN NT鉴别模式呢还是混合模式,其中混合模式包括W
4、IN NT鉴别模式和SQL SERVER 鉴别模式 实施鉴别模式的步骤 1、核实采用了可信连接 2、设置鉴别模式 3、关闭和重启MSSQLServer服务程序 4、创建WIN NT分组和用户 5、授权WIN NT分组和用户可存取SQL Server 6、为用非可信任连接的用户创建SQL Server登录帐号 二、为用户和角色分配登录帐号 三、给角色分配登录权 四、为用户和角色分配许可权限SQL Server安全规划全攻略 中华企业信息港 加入时间 2002-5-28 15:48:00 阅读:1010 自动滚屏(右键暂停) 在改进SQL Server 7.0系列所实现的安全机制的过程中,Micr
5、osoft建立了一种既灵活又强大的安全管理 机制,它能够对用户访问SQL Server服务器系统和数据库的安全进行全面地管理。按照本文樯艿牟街瑁?可以为SQL Server 7.0(或2000)构造出一个灵活的、可管理的安全策略,而且它的安全性经得起考验。 一、验证方法选择 本文对验证(authentication)和授权(authorization)这两个概念作不同的解释。验证是指检验用户 的身份标识;授权是指允许用户做些什么。在本文的讨论中,验证过程在用户登录SQL Server的时候出现, 授权过程在用户试图访问数据或执行命令的时候出现。 构造安全策略的第一个步骤是确定SQL Serve
6、r用哪种方式验证用户。SQL Server的验证是把一组帐户、密 码与Master数据库Sysxlogins表中的一个清单进行匹配。Windows NT/2000的验证是请求域控制器检查用户身 份的合法性。一般地,如果服务器可以访问域控制器,我们应该使用Windows NT/2000验证。域控制器可以是 Win2K服务器,也可以是NT服务器。无论在哪种情况下,SQL Server都接收到一个访问标记(Access Token)。 访问标记是在验证过程中构造出来的一个特殊列表,其中包含了用户的SID(安全标识号)以及一系列用户所 在组的SID。正如本文后面所介绍的,SQL Server以这些SI
7、D为基础授予访问权限。注意,操作系统如何构造访 问标记并不重要,SQL Server只使用访问标记中的SID。也就是说,不论你使用SQL Server 2000、SQL Server 7.0、Win2K还是NT进行验证都无关紧要,结果都一样。 如果使用SQL Server验证的登录,它最大的好处是很容易通过Enterprise Manager实现,最大的缺点在于 SQL Server验证的登录只对特定的服务器有效,也就是说,在一个多服务器的环境中管理比较困难。使用SQL Server进行验证的第二个重要的缺点是,对于每一个数据库,我们必须分别地为它管理权限。如果某个用户 对两个数据库有相同的权
8、限要求,我们必须手工设置两个数据库的权限,或者编写脚本设置权限。如果用户数 量较少,比如25个以下,而且这些用户的权限变化不是很频繁,SQL Server验证的登录或许适用。但是,在几 乎所有的其他情况下(有一些例外情况,例如直接管理安全问题的应用),这种登录方式的管理负担将超过它 的优点。 二、Web环境中的验证 即使最好的安全策略也常常在一种情形前屈服,这种情形就是在Web应用中使用SQL Server的数据。在这 种情形下,进行验证的典型方法是把一组SQL Server登录名称和密码嵌入到Web服务器上运行的程序,比如 ASP页面或者CGI脚本;然后,由Web服务器负责验证用户,应用程序
9、则使用它自己的登录帐户(或者是系统管 理员sa帐户,或者为了方便起见,使用Sysadmin服务器角色中的登录帐户)为用户访问数据。 这种安排有几个缺点,其中最重要的包括:它不具备对用户在服务器上的活动进行审核的能力,完全依 赖于Web应用程序实现用户验证,当SQL Server需要限定用户权限时不同的用户之间不易区别。如果你使用的 是IIS 5.0或者IIS 4.0,你可以用四种方法验证用户。第一种方法是为每一个网站和每一个虚拟目录创建一 个匿名用户的NT帐户。此后,所有应用程序登录SQL Server时都使用该安全环境。我们可以通过授予NT匿名 帐户合适的权限,改进审核和验证功能。 第二种方
10、法是让所有网站使用Basic验证。此时,只有当用户在对话框中输入了合法的帐户和密码,IIS 才会允许他们访问页面。IIS依靠一个NT安全数据库实现登录身份验证,NT安全数据库既可以在本地服务器 上,也可以在域控制器上。当用户运行一个访问SQL Server数据库的程序或者脚本时,IIS把用户为了浏览 页面而提供的身份信息发送给服务器。如果你使用这种方法,应该记住:在通常情况下,浏览器与服务器之 间的密码传送一般是不加密的,对于那些使用Basic验证而安全又很重要的网站,你必须实现SSL(Secure Sockets Layer,安全套接字层)。 在客户端只使用IE 5.0、IE 4.0、IE
11、3.0浏览器的情况下,你可以使用第三种验证方法。你可以在Web 网站上和虚拟目录上都启用NT验证。IE会把用户登录计算机的身份信息发送给IIS,当该用户试图登录SQL Server时IIS就使用这些登录信息。使用这种简化的方法时,我们可以在一个远程网站的域上对用户身份进 行验证(该远程网站登录到一个与运行着Web服务器的域有着信任关系的域)。 最后,如果用户都有个人数字证书,你可以把那些证书映射到本地域的NT帐户上。个人数字证书与服务 器数字证书以同样的技术为基础,它证明用户身份标识的合法性,所以可以取代NT的Challenge/Response (质询/回应)验证算法。Netscape和IE
12、都自动在每一个页面请求中把证书信息发送给IIS。IIS提供了一个 让管理员把证书映射到NT帐户的工具。因此,我们可以用数字证书取代通常的提供帐户名字和密码的登录过 程。 由此可见,通过NT帐户验证用户时我们可以使用多种实现方法。即使当用户通过IIS跨越Internet连接 SQL Server时,选择仍旧存在。因此,你应该把NT验证作为首选的用户身份验证办法。 三、设置全局组 构造安全策略的下一个步骤是确定用户应该属于什么组。通常,每一个组织或应用程序的用户都可以按 照他们对数据的特定访问要求分成许多类别。例如,会计应用软件的用户一般包括:数据输入操作员,数据 输入管理员,报表编写员,会计师,
13、审计员,财务经理等。每一组用户都有不同的数据库访问要求。 控制数据访问权限最简单的方法是,对于每一组用户,分别地为它创建一个满足该组用户权限要求的、 域内全局有效的组。我们既可以为每一个应用分别创建组,也可以创建适用于整个企业的、涵盖广泛用户类 别的组。然而,如果你想要能够精确地了解组成员可以做些什么,为每一个应用程序分别创建组是一种较好 的选择。例如,在前面的会计系统中,我们应该创建Data Entry Operators、Accounting Data Entry Managers等组。请记住,为了简化管理,最好为组取一个能够明确表示出作用的名字。 除了面向特定应用程序的组之外,我们还需要
14、几个基本组。基本组的成员负责管理服务器。按照习惯, 我们可以创建下面这些基本组:SQL Server Administrators,SQL Server Users,SQL Server Denied Users,SQL Server DB Creators,SQL Server Security Operators,SQL Server Database Security Operators,SQL Server Developers,以及 DB_Name Users(其中DB_Name是服务器上一个数据库的名 字)。当然,如果必要的话,你还可以创建其他组。 创建了全局组之后,接下来我们可以
15、授予它们访问SQL Server的权限。首先为SQL Server Users创建一 个NT验证的登录并授予它登录权限,把Master数据库设置为它的默认数据库,但不要授予它访问任何其他数 据库的权限,也不要把这个登录帐户设置为任何服务器角色的成员。接着再为SQL Server Denied Users重复 这个过程,但这次要拒绝登录访问。在SQL Server中,拒绝权限始终优先。创建了这两个组之后,我们就有 了一种允许或拒绝用户访问服务器的便捷方法。为那些没有直接在Sysxlogins系统表里面登记的组授权时,我们不能使用Enterpris Managr,因为Enter- prise Ma
16、nager只允许我们从现有登录名字的列表选择,而不是域内所有组的列表。要访问所有的组,请打开 Query Analyzer,然后用系统存储过程sp_addsrvrolemember以及sp_addrolemember进行授权。 对于操作服务器的各个组,我们可以用sp_addsrvrolemember存储过程把各个登录加入到合适的服务器 角色:SQL Server Administrators成为Sysadmins角色的成员,SQL Server DB Creators成为Dbcreator角 色的成员,SQL Server Security Operators成为Securityadmin角色
17、的成员。注意sp_addsrvrolemember存 储过程的第一个参数要求是帐户的完整路径。例如,BigCo域的JoeS应该是bigcojoes(如果你想用本地帐 户,则路径应该是server_namejoes)。 要创建在所有新数据库中都存在的用户,你可以修改Model数据库。为了简化工作,SQL Server自动把 所有对Model数据库的改动复制到新的数据库。只要正确运用Model数据库,我们无需定制每一个新创建的数 据库。另外,我们可以用sp_addrolemember存储过程把SQL Server Security Operators加入到db_security- admin,把S
18、QL Server Developers加入到db_owner角色。 注意我们仍然没有授权任何组或帐户访问数据库。事实上,我们不能通过Enterprise Manager授权数 据库访问,因为Enterprise Manager的用户界面只允许我们把数据库访问权限授予合法的登录帐户。SQL Server不要求NT帐户在我们把它设置为数据库角色的成员或分配对象权限之前能够访问数据库,但Enter- prise Manager有这种限制。尽管如此,只要我们使用的是sp_addrolemember存储过程而不是Enterprise Manager,就可以在不授予域内NT帐户数据库访问权限的情况下为任
19、意NT帐户分配权限。 到这里为止,对Model数据库的设置已经完成。但是,如果你的用户群体对企业范围内各个应用数据库 有着类似的访问要求,你可以把下面这些操作移到Model数据库上进行,而不是在面向特定应用的数据库上 进行。 四、允许数据库访问 在数据库内部,与迄今为止我们对登录验证的处理方式不同,我们可以把权限分配给角色而不是直接把 它们分配给全局组。这种能力使得我们能够轻松地在安全策略中使用SQL Server验证的登录。即使你从来没 有想要使用SQL Server登录帐户,本文仍旧建议分配权限给角色,因为这样你能够为未来可能出现的变化做 好准备。 创建了数据库之后,我们可以用sp_gra
20、ntdbaccess存储过程授权DB_Name Users组访问它。但应该注意的 是,与sp_grantdbaccess对应的sp_denydbaccess存储过程并不存在,也就是说,你不能按照拒绝对服务器访 问的方法拒绝对数据库的访问。如果要拒绝数据库访问,我们可以创建另外一个名为DB_Name Denied Users 的全局组,授权它访问数据库,然后把它设置为db_denydatareader以及db_denydatawriter角色的成员。注 意SQL语句权限的分配,这里的角色只限制对对象的访问,但不限制对DDL(Data Definition Language,数 据定义语言)命令的
21、访问。 正如对登录过程的处理,如果访问标记中的任意SID已经在Sysusers系统表登记,SQL将允许用户访问数 据库。因此,我们既可以通过用户的个人NT帐户SID授权用户访问数据库,也可以通过用户所在的一个(或 者多个)组的SID授权。为了简化管理,我们可以创建一个名为DB_Name Users的拥有数据库访问权限的全局 组,同时不把访问权授予所有其他的组。这样,我们只需简单地在一个全局组中添加或者删除成员就可以增 加或者减少数据库用户。 五、分配权限 实施安全策略的最后一个步骤是创建用户定义的数据库角色,然后分配权限。完成这个步骤最简单的方 法是创建一些名字与全局组名字配套的角色。例如对于
22、前面例子中的会计系统,我们可以创建Accounting Data Entry Operators、Accounting Data Entry Managers之类的角色。由于会计数据库中的角色与帐务处 理任务有关,你可能想要缩短这些角色的名字。然而,如果角色名字与全局组的名字配套,你可以减少混乱, 能够更方便地判断出哪些组属于特定的角色。 创建好角色之后就可以分配权限。在这个过程中,我们只需用到标准的GRANT、REVOKE和DENY命令。但 应该注意DENY权限,这个权限优先于所有其他权限。如果用户是任意具有DENY权限的角色或者组的成员, SQL Server将拒绝用户访问对象。 接下来我
23、们就可以加入所有SQL Server验证的登录。用户定义的数据库角色可以包含SQL Server登录以 及NT全局组、本地组、个人帐户,这是它最宝贵的特点之一。用户定义的数据库角色可以作为各种登录的通 用容器,我们使用用户定义角色而不是直接把权限分配给全局组的主要原因就在于此。 由于内建的角色一般适用于整个数据库而不是单独的对象,因此这里建议你只使用两个内建的数据库角 色,即db_securityadmin和db_owner。其他内建数据库角色,例如db_datareader,它授予对数据库里面所 有对象的SELECT权限。虽然你可以用db_datareader角色授予SELECT权限,然后有
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 如何 配置 一个 安全 稳定 SQL SERVER 数据库
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【可****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【可****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。