MSSQL数据库安全实验

发布时间:2022-07-05 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了MSSQL数据库安全实验脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

  数据库是以一定方式储存在一起,能予多个用户共享,与应用程序彼此独立的数据集合。  在当前网络大数据时代,对任何企业组织来说,数据的安全性最为重要

 

一、实验目的

1)掌握管理SQL Server认证模式的方法;

2)掌握管理数据库登录的方法;

3)掌握管理数据库用户的方法;

4)掌握管理数据库角色的方法;

5)掌握管理数据库权限的方法。

 

二、实验步骤

  本实验通过练习以掌握管理数据库登录的方法;掌握管理数据库用户的方法;掌握管理数据库角色的方法;掌握管理数据库权限的方法,实验任务共分为五部分,详情如下:

1)管理SQL Server认证模式

 1、确认 SQL Server 验证

  ①在桌面上单击“开始”,选择“程序”→“Microsoft SQL Server 2005” →“SQL Server Management Studio”,出现“连接到服务器对话框。

  ②在“连接到服务器”对话框中,按表中的指定值进行设置,然后单击“连接”按钮,如下图。

  

MSSQL数据库安全实验

  ③如果 “对象资源管理器” 不可见,则选择 “视图” 菜单上的 “对象资源管理器” 。

  ④在 “对象资管理器” 中,右击服务器,然后单击 “属性” 。

  

MSSQL数据库安全实验

  ⑤单击 “安全性” 。

  

MSSQL数据库安全实验

 

  ⑥在“服务器身份验证”选项区中,可以选择身份验证模式,“Windows 身份验证模式”或“SQL Server 和Windows 身份验证模式”,本次实验选择“SQL Server 和Windows 身份验证模式”。

  

MSSQL数据库安全实验

 

  ⑦选择身份验证模式后,单击“确定”按钮以执行该更改。有如下提示:

  

MSSQL数据库安全实验

  ⑧在 “对象资源管理器” 中,右击服务器,然后单击 “重新启动” 。

  

MSSQL数据库安全实验

   当提示确认时,请单击“是”。

  

MSSQL数据库安全实验

   如果通知“SQL Server 代理”服务也将停止时,请单击“是”。

  ⑨在“摘要”面板中,右击“SQL Server 代理”,然后单击“启动”。

  

MSSQL数据库安全实验

   当提示是否确实要启动SQLSERVERAGENT服务时,点击是。

  

MSSQL数据库安全实验

 

2)管理数据库登录

  SQL Server有两个默认的用户登录账号:即sa和administratorsbuiltin。sa是系统管理员,它是SQL Server的一个超级登录账号,这个账号具有操作SQL Server服务器的一切权限。BUILTINAdministrators组成员的 Windows NT 4.0 或 Windows 2000 用户自动成为 Sysadmin 固有服务器角色成员。

 1、使用企业管理器管理Windows身份验证的登录帐号

  ①回到桌面,右击我的电脑,点击管理。

      

MSSQL数据库安全实验

    然后一次展开系统工具-本地用户和组-用户,此时在右边可以看到当前系统中所有的用户。

   

MSSQL数据库安全实验

    在右侧空白处右击,点击新用户。

  

MSSQL数据库安全实验

   添加一个用户WinUser,并给该用户设置一个密码,本实验使用的密码是admin,密码可随意设置,但是需要记住,在后面需要用到,把用户下次登录时须更改密码前面的勾选去掉,把密码永不过期的选项选上,然后点击创建,设置如图:

  

MSSQL数据库安全实验

   创建完后点击关闭,此时在用户列表中可以看到该用户已经添加成功。

  

MSSQL数据库安全实验

   然后右击该用户,选择属性。

  

MSSQL数据库安全实验

               

   弹出如下对话框:

  

MSSQL数据库安全实验

   点击隶属于选项卡。

  

MSSQL数据库安全实验

   然后点击左下角的添加按钮。弹出选择组对话框。

  

MSSQL数据库安全实验

   点击左下角的高级,弹出如下对话框:

  

MSSQL数据库安全实验

   点击立即查找,在搜索结果中选择 administrators。

  

MSSQL数据库安全实验

   然后点击确定按钮,会自动返回上一回话窗口。

  

MSSQL数据库安全实验

   同样点击确定。此时,在winuser属性的隶属于选项卡下可以看到,多了一个administrators。

  

MSSQL数据库安全实验

   然后点击右下角的应用,最后点击确定。

  ②在SQL Server Management Studio中,右击数据库,选择新建数据库

  

MSSQL数据库安全实验

   在数据库名称内输入student新建一个student数据库,然后点击确定 。

  

MSSQL数据库安全实验

 

   展开实例下的“安全性”,右击“登录名”按钮,在弹出的快捷菜单中选择“新建登录”。

   

@H_304_248@

   打开SQL Server登录属性对话框。在“常规”选项卡中,单击“名称”输入框右侧的按钮。

  

MSSQL数据库安全实验

   弹出选择用户或组对话框

  

MSSQL数据库安全实验

   点击高级,弹出新的对话框

  

MSSQL数据库安全实验

   点击右侧的立即查找,在搜索结果中,找到winuser并选择该用户,然后点击确定。

  

MSSQL数据库安全实验

   会自动返回上一个对话框,然后点击确定。

  

MSSQL数据库安全实验

   验证方式选择 “Windows 身份验证”。

  

MSSQL数据库安全实验

   默认数据库选择student,完成登陆账号winuser的创建。

  

MSSQL数据库安全实验

  ③选择“服务器角色”选项卡。可以在服务器角色列表框中选择相应的服务器角色成员。在这里,设置登录用户winuser的服务器角色为系统管理员。

  

MSSQL数据库安全实验

   ④选择“用户映射”选项卡,在列表框中列出了该账号可以访问的数据库,如果单击数据库左边的复选框,表示该用户可以访问相应的数据库。在这里,选中数据库master和student左边的复选框,表示登陆用户winuser可以访问的数据库为master和student。在下方的数据库角色成员身份都选择public。然后点击确定。

  

MSSQL数据库安全实验

   在对象资源管理器中,展开安全性-登录名,可以看到winuser已存在。

  

MSSQL数据库安全实验

   同时,展开数据库-系统数据库-student-安全性-用户,在用户列表中可以看到数据库student中已经建立一个数据库用户winuser。

  

MSSQL数据库安全实验

   验证用WinUser账号登录SQL Server:首先在操作系统中注销当前用户的登陆,将用户切换到WinUser,再用此账号连接SQL Server查询分析器,用Windows身份验证登录,可以进入查询分析器,使用数据库master和student。

   由于远程桌面注销会又会自动连接,所以我们需要先修改当前用户(administrator)的登录密码。

   来到桌面,右击我的脑,点击管理,在计算机管理窗口,依次展开 系统工具-本地用户和组-用户(不会的可参考之前新建winuser时的步骤),在右侧右击administrator,选择设置密码。

  

MSSQL数据库安全实验

   会弹出如下对话框,点击继续。

  

MSSQL数据库安全实验

   然后设置一个密码(我设置的密码是admin),可以随意设置,但是需要记住密码,后面还需要登陆该用户。

  

MSSQL数据库安全实验

   点击确定,会提示密码已设置

  

MSSQL数据库安全实验

   然后点击左下角的开始,选择注销

  

MSSQL数据库安全实验

   弹出确认窗口,点击注销。

  

MSSQL数据库安全实验

   然后会自动到登陆页面,输入之前新建的winuser和密码,点击确定登录。

  

MSSQL数据库安全实验

   登录后,点击左下角的开始-所有程序-Microsoft SQL Server 2005-SQL Server Management Studio 进入SQL Server Management Studio。

  

MSSQL数据库安全实验

   身份验证选择 Windows 身份验证。

  

MSSQL数据库安全实验

   点击连接后,登陆成功,此时可以新建查询,使用数据库master和student。

 2、使用SQL Server Management Studio管理SQL Server身份验证的登录帐号。

  注销winuser,切换到administrator用户(不会的可参考之前从administrator切换到winuser的步骤)。

  ①在 SQL Server Management Studio中,展开实例下的“安全性”,右击“登录名”按钮,在弹出的快捷菜单中选择“新建登录”(参考前面新建登录步骤);

  ②在登录名输入框内输入需要新建的用户名,这里新建的用户名是SQLUser。验证方式选择SQL Server身份验证,然后在密码框输入SQLUser的密码。这里设置成test。把强制实施密码策略的复选框去勾选去掉,默认数据库选择master,然后点击确认。

  

MSSQL数据库安全实验

   注意:采用该方法创建的SQL Server登录账号只能用于登录SQL Server服务,与登录的计算机的Windows账号无关,不能用此账号登录Windows。

  ③单击“用户映射”,在“映射到此用登录名的用户”中,将所有数据库都选中,下方的数据库角色成员身份全部选择public,然后单击确定完成账号的创建。

  

MSSQL数据库安全实验

  ④关闭SQL Server Management Studio重新打开,在登录页面处身份验证选择SQL Server身份验证。然后输入刚才新建的账号和密码,然后点击连接。

  

MSSQL数据库安全实验

   登录成功,此时可以新建查询来查询数据。

 

3)管理数据库用户

  数据库用户对数据的访问权限以及对数据库对象的所有关系都是通过用户账号来控制的。在数据库中,用户账号与登录账号是两个不同的概念。一个合法的登录账号只表明该账号通过了Windows认证或SQL Server 认证,但不能表明其可以对数据库数据和数据对象进行某种或某些操作,只有其同时拥有了用户账号后,才能够访问数据库。所以一个登录账号总是与一个或多个数据库用户账号(这些账号必须分别存在相异的数据库中)相对应,这样才可以访问数据库。

 1、创建数据库用户

  打开SQL Server Management Studio,展开服务器-数据库,选择要创建用户的数据库,如student,展开student,用鼠标右键单击“安全性”节点,从弹出的菜单中选择“新建-用户”命令。

  

MSSQL数据库安全实验

   弹出“新建用户”对话框,在用户名输入框输入要新建的数据库用户名称,如dbuser 

  

MSSQL数据库安全实验

   在“登录名”处点击后面的按钮,弹出选择登录名对话框,在该对话框选择浏览

  

MSSQL数据库安全实验

   弹出查找对象对话框,在里面选择一个用户,选择administrators。

  

MSSQL数据库安全实验

   然后点击确定,自动返回到选择登录名对话框

  

MSSQL数据库安全实验

   点击确定,在此用户拥有的架构勾选db_owner,数据库角色成员身份同样选择db_owner,单击“确定”按钮,即可完成数据库用户的创建。

  

MSSQL数据库安全实验

  2、修改用户信息

  用鼠标右键单击要修改的用户,在系统弹出菜单上单击“属性”

  

MSSQL数据库安全实验

   可打开“数据库用户”对话框查看该用户的信息,同时需要时能直接修改相应用户的设置信息。

  

MSSQL数据库安全实验

  3、删除数据库用户

  在企业管理器中,用鼠标右键单击要删除的数据库用户,如数据库student中的数据库用户dbuser,从快捷菜单中选择“删除”命令即可。

  

@H_903_512@

 

4)管理数据库角色

  SQL Server有自己的固有角色。固有角色是指 SQL Server预先定义好的系统角色。用户不能修改这些角色的任何属性,也不能创建新的服务器固有角色和数据库固有角色。

  数据库角色是在数据库的安全级别上创建,一个数据库角色只在其所在的数据库中有效,对其他数据库无效。在数据库中,除了有固有的数据库角色外,还可以自定义数据库角色,同时根据需要,可以为数据库角色添加成员或删除自定义角色。

 1、创建数据库角色

  打开SQL Server Management Studio,展开服务器-数据库,选择要创建用户的数据库,如student,展开student,用鼠标右键单击“安全性”节点,从弹出的菜单中选择“新建-数据库角色”命令。

    

MSSQL数据库安全实验

   弹出“新建角色”对话框,在角色名称输入框中输入数据库新角色的名称,如NewRole,点击所有者后面的按钮

  

MSSQL数据库安全实验

   在里面选择一个用户,例如选择winuser(如果不会,参考前面的步骤)

  

MSSQL数据库安全实验

   在此角色拥有的架构中选择db_owner,然后点击确定,完成角色创建。

  

MSSQL数据库安全实验

   可以在安全性-角色-数据库角色中看到,刚才添加的角色已经成功。

  

MSSQL数据库安全实验

  2、删除自定义的数据库角色

  在SQL Server Management Studio中,用鼠标右键单击要删除的自定义角色,如NewRole,从弹出的菜单中选择“删除”命令即可删除自定义角色。

   

MSSQL数据库安全实验

   注意:不能删除一个有成员的角色,在删除角色之前,应先删除其成员。

 

5)管理数据库权限

  权限用来指定授权用户可以使用的数据库对象和这些授权用户可以对这些数据库对象执行的操作。用户在登录到SQL Server之后,其用户账号所归属的NT组或角色所被赋予的权限决定了该用户能够对哪些数据库对象执行哪种操作以及能够访问、修改哪些数据。在SQL Server中包括语句级权限和对象级权限。

 1、进行语句级权限管理:

  启动SQL Server Management Studio,展开实例数据库,右击student数据库,在弹出的快捷菜单中选择“属性”,然后选择“权限”选项卡。在用户WinUser一栏中,将“创建表”和“创建视图”选中。

  

MSSQL数据库安全实验

   在SQLUser一栏中,则选择除“创建表”和“创建视图”以外的选项

  

MSSQL数据库安全实验

 

   图中权限设置的方法是:

   许可权限中复选框单击为勾号时:表示授予该权限。

   许可权限中复选框单击为叉号时:表示角色或用户不具有该操作权限。

   许可权限中复选框既没勾号,也没叉号时:表示角色或用户是否具有该操作权限要根据隐含规则来决定。

   这样的结果是,授予用户WinUser可以在数据库student中创建视图和表。授予用户SQLUser可以在数据库student中进行除创建视图和表以外的所有操作。

 

三、分析与思考

1)SQL Server的Windows认证模式和混合认证模式的区别?

答:windows 身份验证相对于混合模式更加安全,使用本连接模式时候,sql不判断sa密码,而仅根据用户的windows权限来进行身份验证,我们称为“信任连接”,但是在远程连接的时候会因NTML验证的缘故,无法登陆。  混合模式验证就比较既当本地用户访问sql时候采用windows身份验证建立信任连接,当远程用户访问时由于未通过windows认证,而进行sql server认证(使用sa的用户也可以登录sql),建立“非信任连接”,从而使得远程用户也可以登录。  更加直接一些就是windows身份验证,不验证sa密码,如果windows登录密码不正确,无法访问sql,混合模式既可以使用windows身份验证登录,有可以在远程使用sa密码登录。

 

2)分析数据库各种角色权限的异同,自定义数据库,并进行权限管理,深入理解实验原理。

答:

@H_126_682@

 

 

3)查阅近期数据库安全事件,分析攻击原理,掌握数据库安全的重要性

 

四、答题

MSSQL数据库安全实验

 

MSSQL数据库安全实验

 

脚本宝典总结

以上是脚本宝典为你收集整理的MSSQL数据库安全实验全部内容,希望文章能够帮你解决MSSQL数据库安全实验所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。