学习笔记:

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 中的某条记录相匹配则表明登录成功。

管理SQL Server认证

登录SQL Server Management Studio软件,连接后右击服务器属性,选择安全性中身份验证当中的SQLsever+Windows混合验证模式,然后重新启动,最后江SQL代理启动即可

管理数据库登录

右击我的电脑管理,在用户中新建用户WinUser并设置密码,并将其设置属性隶属于administrator。打开SQL Server Management Studio软件,在数据库点击新建一个student数据库,在实例安全性点击新建登录名,搜做查找到WinUser新建用户,验证方式选择Windows身份验证,默认数据库为student,服务器角色选择sysadmin系统管理员,用户映射选择可以访问的数据库master和student,确定后建立完成。然后可以注销window进行验证,第一种新建用户WinUser的登录后,在打开sql server选择Windows身份验证进入就可已进行新建查询,第二种如果验证方式选择了sql+Windows身份验证,就是在进入sql server是选择sql身份验证需要账号和密码。

 管理数据库用户

数据库安全性选项新建数据库用户NewRole,为其选择一个电脑用户和架构后确定即可创建成功,删除和数据库用户没什么区别。

分析与思考:

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

windows认证在登录系统后即可连接打开sql server数据库,但是混合认证模式中你如果选择了sql身份认证,就需要你自己设置账号密码,登录时输入才能进入。

两个验证方式的不同主要集中在信任连接和非信任连接

     windows 身份验证相对于混合模式更加安全,使用本连接模式时候,sql不判断sa密码,而仅根据用户的windows权限来进行身份验证,我们称为“信任连接”,但是在远程连接的时候会因NTML验证(NT系统一种验证方法)的缘故,无法

     混合模式验证就比较既当本地用户访问sql时候采用windows身份验证建立信任连接,当远程用户访问时由于未通过windows认证,而进行sql server认证(使用sa的用户也可以登录sql),建立“非信任连接”,从而使得远程用户也可以登录。更加直接一些就是       windows身份验证,不验证sa密码,如果windows登录密码不正确,无法访问sql,混合模式既可以使用windows身份验证登录,有可以在远程使用sa密码登录。准确来说,混合身份验证模式,也就是基于Windows身份验证和SQL Server身份混合验证。在这个模式中,系统会判断账号在Windows操作系统下是否可信,对于可信连接,系统直接采用Windows身份验证机制,而非可信连接,这个连接不仅包括远程用户还包括本地用户,SQL Server 会自动通过账户的存在性和密码的匹配性来进行验证。比如当SQL Server实例在Windows 98上运行时,必须使用混合模式,因为在Windows 98上不支持Windows身份验证模式。

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

db_owner 可以执行数据库的所有配置和维护活动,还可以删除数据库。
db_securityadmin 可以修改角色成员身份和管理权限。向此角色中添加主体可能会导致意外的权限升级。
db_accessadmin 可以为 Windows 登录名、Windows 组和 SQL Server 登录名添加或删除数据库访问权限。
db_backupoperator 可以备份数据库。
db_ddladmin 可以在数据库中运行任何数据定义语言 (DDL) 命令。
db_datawriter 可以在所有用户表中添加、删除或更改数据。
db_datareader 可以从所有用户表中读取所有数据。
db_denydatawriter 禁止添加、修改或删除数据库内用户表中的任何数据。
db_denydatareader 禁止读取数据库内用户表中的任何数据。

 

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

数据库安全事件,例如用户账户密码的泄露,会给用户个人信息安全造成严重的损害。

实验进行截图部分:

 

MSSQL数据库安全实验_数据

 

 MSSQL数据库安全实验_数据库_02

 

 MSSQL数据库安全实验_身份验证_03

 

 MSSQL数据库安全实验_认证模式_04

 

 MSSQL数据库安全实验_数据库_05

 

 MSSQL数据库安全实验_数据库_06

 

 MSSQL数据库安全实验_sql_07

 

 MSSQL数据库安全实验_身份验证_08MSSQL数据库安全实验_身份验证_09

 

 MSSQL数据库安全实验_身份验证_10

 

 MSSQL数据库安全实验_sql_11

 

 MSSQL数据库安全实验_身份验证_12

 

 MSSQL数据库安全实验_认证模式_13

 

   MSSQL数据库安全实验_数据库_14