my sql 数据库安全实验

Posted .y叶

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了my sql 数据库安全实验相关的知识,希望对你有一定的参考价值。

、数据库安全的概念

    对任何企业组织来说,数据的安全性最为重要。安全性主要是指允许那些具有相应的数据访问权限的用户能够登录到数据库,并访问数据以及对数据库对象实施各种权限范围内的操作,但是要拒绝所有的非授权用户的非法操作。因此安全性管理与用户管理是密不可分的。

2、SQL Server的安全性

    SQL Server 2000 的安全性管理是建立在认证(authentication)和访问许可(permission)两者机制上的。认证是用来确定登录SQL Server 的用户的登录账号和密码是否正确,以此来验证其是否具有连接SQL Server 的权限。但是通过认证阶段并不代表该用户能够访问SQL Server 中的数据,用户只有在获取访问数据库的权限之后,才能够对服务器上的数据库进行权限许可下的各种操作(主要是针对数据库对象,如表、视图、存储过程等),这种用户访问数据库权限的设置是通过用户账号来实现的,同时在SQL Server 中,角色作为用户组的代替物大大地简化了安全性管理。

3、SQL Server的认证模式

    SQL Server提供了2种安全管理模式,即Windows 身份验证模式和混合身份验证模式,数据库设计者和数据库管理员可以根据实际情况进行选择。每个用户必须通过登录帐户建立自己的身份验证,以获得对SQL Server 实例的访问权限。

    SQL Server 2000提供了两种确认用户的登录认证模式:Windows认证模式和混合认证模式。

    (1)Windows认证模式

    SQL Server数据库系统通常运行在NT服务器平台或基于NT 构架的Windows 2000上,而NT作为网络操作系统,本身就具备管理登录、验证用户合法性的能力,所以Windows认证模式正是利用这一用户安全性和账号管理的机制,允许SQL Server也可以使用NT的用户名和口令。在该模式下,用户只要通过Windows的认证就可连接到SQL Server,而SQL Server本身也不需要管理一套登录数据。

    (2)混合认证模式

    在混合认证模式下,Windows认证和SQL Server 认证这两种认证模式都是可用的。NT的用户既可以使用NT认证,也可以使用SQL Server 认证。

    在SQL Server认证模式下,用户在连接SQL Server时必须提供登录名和登录密码,这些登录信息存储在系统表syslogins中,与NT的登录账号无关。SQL Server自己执行认证处理,如果输入的登录信息与系统表syslogins 中的某条记录相匹配则表明登录成功。

4、SQL Server权限管理

    SQL Server数据库管理系统利用角色设置、管理用户的权限。登录名本身并不能让用户访问服务器中的数据库资源。要访问具体数据库中的资源,还必须有该数据库的用户名。新的登录创建以后,才能创建数据库用户,数据库用户在特定的数据库内创建,必须和某个登录名相关联。数据库用户创建后,通过授予用户权限来指定用户访问特定对象的权限。通过角色,可以将用户集中到一个单元中,然后对这个单元应用权限。对角色授予或收回权限时,将对其中的所有成员生效。利用角色进行权限设置可以实现对所有用户权限的设置,大大减少了管理员的工作量。

管理swl server 认证模式

 

1)确认 SQL Server 验证

 

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

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

 

    右击服务器,点击重新启动-->摘要”面板中,右击“SQL Server 代理”,然后单击“启动”。

 

 

 

 

 

 

 

 

   

 

    

 

 二,管理数据库服务:

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

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

 

 点击本地用户和组---用户

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

    

 

 

 创建新用户

 

 用户添加成功

 

 右击选择属性,弹出对话框

 

 点击隶属于选项,添加:

 

 点击高级,立即查找。选择administrators

 

依次确定

 

 在SQL Server Management Studio中,右击数据库,选择新建数据库,创建名为student的数据库

 

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

 

 常规选项中,单击名称右侧按钮,弹出对话框

 

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

 

 

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

       

winuser 已经存在,student 用户中也已经建立了winuser

             

 

 

验证用WinUser账号登录SQL Server:首先在操作系统中注销当前用户的登陆,将用户切换到WinUser,再用此账号连接SQL Server查询分析器,用Windows身份验证登录,可以进入查询分析器,使用数据库master和student,右击我的电脑,点击管理,在计算机管理窗口,依次展开 系统工具-本地用户和组-用户

    

 

 

 

 

 

开始注销

 

 跳转到登陆界面,输入密码进行登录

 

 

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

  

 

 

 

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

  

 

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

 

 

 

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

 

三管理数据库用户

(1)创建数据库用户

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

         

 

 

 

 

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

 

 

 

 

(2)修改用户信息

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

 

 

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

  

3)删除数据库用户。

 

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

 

 四,管理数据库角色

 1.创建数据库角色

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

 

 

 

 

  

弹出“新建角色”对话框,在角色名称输入框中输入数据库新角色的名称,如NewRole,点击所有者后面的按钮,   在里面选择一个用户,例如选择winuser,在此角色拥有的架构中选择db_owner,然后点击确定,完成角色创建

 

 

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

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

 

 

 

 五,管理数据库权限

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

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

分析与思考

1.Windows 身份验证模式会启用 Windows 身份验证并禁用 SQL Server 身份验证。
混合模式会同时启用 Windows 身份验证和 SQL Server 身份验证。 Windows 身份验证始终可用,并且无法禁用。

2.

SQL使用角色的概念 管理数据库访问权限。根据角色自身的设置不同,一个角色可以看做是一个 数据库用户,或者一组数据库用户。角色可以拥有数据库对象(比如表)以及 可以把这些对象上的权限赋予其它角色,以控制谁拥有访问哪些对象的权限。 另外,我们也可以把一个角色的成员权限赋予其它角色, 这样就允许成员角色使用它被赋予其他成员权限的角色的权限。

角色的概念替换了"用户"和"组"。在PostgreSQL 版本8.1之前,用户和组是独立类型的记录,但现在它们只是角色。任何角色都可以是 一个用户、一个组、或者两者。

3.

北京市教育考试院信息篡改事件、教育学籍信息泄漏事件、深圳孕妇信息的“泄密光盘”、车主股民信息泄露、福彩中奖信息篡改、“力拓门”事件;从个人的隐私到企业的商业秘密,甚至是政府国家的核心机密,都出现了不同程度的信息安全问题。

而上述的这些案例告诉我们:数据安全保护十分重要。由于目前大部分重要数据都是通过数据库系统来存储的,因此,数据库安全保护尤其重要。

                           

 

以上是关于my sql 数据库安全实验的主要内容,如果未能解决你的问题,请参考以下文章

数据库系统概论实验五 SQL数据库安全控制

数据库系统概论实验五 SQL数据库安全控制

20155201 网络攻防技术 实验九 Web安全基础

如何安全地进行SQL注入测试

软件安全实验——pre8(SQL注入预习)

20155324《网络对抗技术》web安全基础实践