MSSQL数据库安全实验
(1)确认 SQL Server 验证
①在桌面上单击“开始”,选择“程序”→“Microsoft SQL Server 2005” →“SQL Server Management Studio”,出现“连接到服务器”对话框。
②在“连接到服务器”对话框中,然后单击“连接”按钮,如下图。

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

④单击“安全性”。

⑤在“服务器身份验证”选项区中,选择“SQL Server 和Windows 身份验证模式”。

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

⑦在“对象资源管理器”中,右击服务器,然后单击“重新启动”。天出来的对话框中选择是


⑧在“摘要”面板中,右击“SQL Server 代理”,然后单击“启动”。弹出来的对话框中选择是


管理数据库登录
(1)使用企业管理器管理Windows身份验证的登录帐号。
① 回到桌面,右击我的电脑,点击管理。

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

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

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

此时在用户列表中可以看到该用户已经添加成功。

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

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



点击左下角的高级,弹出如下对话框:点击立即查找,在搜索结果中选择 administrators。


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

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

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

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

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

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

弹出选择用户或组对话框,点击高级

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

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

验证方式选择 “Windows 身份验证”。 默认数据库选择student,完成登陆账号winuser的创建。

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

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

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

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

验证用WinUser账号登录SQL Server:来到桌面,右击我的电脑,点击管理,在计算机管理窗口,依次展开 系统工具-本地用户和组-用户(不会的可参考之前新建winuser时的步骤),在右侧右击administrator,选择设置密码。在弹出的对话框中选择继续。 然后设置一个密码admin。


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

然后点击左下角的开始,选择注销。在弹出的对话框中选择确定。

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

登录后,点击左下角的开始-所有程序-Microsoft SQL Server 2005-SQL Server Management Studio 进入SQL Server Management Studio。 身份验证选择 Windows 身份验证。点击连接后,登陆成功,此时可以新建查询,使用数据库master和student。

(2)使用SQL Server Management Studio管理SQL Server身份验证的登录帐号。注销winuser,切换到administrator用户。
①在 SQL Server Management Studio中,展开实例下的“安全性”,右击“登录名”按钮,在弹出的快捷菜单中选择“新建登录”

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

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

④关闭SQL Server Management Studio重新打开,在登录页面处身份验证选择SQL Server身份验证。然后输入刚才新建的账号和密码,然后点击连接。 登录成功,此时可以新建查询来查询数据。

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

弹出“新建用户”对话框,在用户名输入框输入要新建的数据库用户名称,如dbuser。在“登录名”处点击后面的按钮

弹出选择登录名对话框,在该对话框选择浏览

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

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

点击确定,在此用户拥有的架构勾选db_owner,数据库角色成员身份同样选择db_owner,单击“确定”按钮,即可完成数据库用户的创建。
(2)修改用户信息
用鼠标右键单击要修改的用户,在系统弹出菜单上单击“属性”。可打开“数据库用户”对话框查看该用户的信息,同时需要时能直接修改相应用户的设置信息。

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

若出现以下情况删除不掉

则需要在架构里右击db_owner,选择删除

再重新选择用户即可删除

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

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

在里面选择一个用户,例如选择winuser

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

(2)删除自定义的数据库角色
在SQL Server Management Studio中,用鼠标右键单击要删除的自定义角色,如NewRole,从弹出的菜单中选择“删除”命令即可删除自定义角色。 注意:不能删除一个有成员的角色,在删除角色之前,应先删除其成员。

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

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

分析与思考:
1、 SQL Server的Windows认证模式和混合认证模式的区别?
Windows认证模式:用户身份由 Windows 进行确认。 SQL Server 不要求提供密码,也不执行身份验证。 Windows 身份验证是默认身份验证模式,并且比 SQL Server 身份验证更为安全。
混合:当使用 SQL Server 身份验证时,在 SQL Server 中创建的登录名并不基于 Windows 用户帐户。 用户名和密码均通过使用 SQL Server 创建并存储在 SQL Server 中。 通过 SQL Server 身份验证进行连接的用户每次连接时必须提供其凭据(登录名和密码)。 当使用 SQL Server 身份验证时,必须为所有 SQL Server 帐户设置强密码。
2、 分析数据库各种角色权限的异同,自定义数据库,并进行权限管理,深入理解实验原理。
3、 查阅近期数据库安全事件,分析攻击原理,掌握数据库安全的重要性

浙公网安备 33010602011771号