SQL Server数据库安全机制

上传人:z**** 文档编号:124686157 上传时间:2022-07-25 格式:DOC 页数:5 大小:184KB
收藏 版权申诉 举报 下载
SQL Server数据库安全机制_第1页
第1页 / 共5页
SQL Server数据库安全机制_第2页
第2页 / 共5页
SQL Server数据库安全机制_第3页
第3页 / 共5页
资源描述:

《SQL Server数据库安全机制》由会员分享,可在线阅读,更多相关《SQL Server数据库安全机制(5页珍藏版)》请在装配图网上搜索。

1、SQL Server 数据库安全机制一 SQL Server 数据库SQL Server 数据库是微软公司的一款关系型数据库系统。 它专门为分布 式客户机 / 服务器计算所设计的一个出众的数据库管理平台。 它的优势是可 扩展性,高性能管理,支持堆成多处理结构,ODBC和存储过程,强壮的事物处 理能力,支持 SQL 语句。其中 SQL 语句可以执行如从数据库中提取数据,更 新、删除数据库中的数据等等各种各样的操作,可以用来完成几乎所有的数据 库操作。二、数据库的安全机制数据库的安全性是指保护数据库避免不合法的使用, 以免数据的泄漏、更改 或破坏。数据库安全机制是多层次, 具体可以划分为用户、数据

2、库管理系统 (DBMS)、操作系统(OS)、数据库(DB)四个层次。对于用户部分的安全机制采 用身份认证方法; 数据库管理系统则是通过访问控制保证资料安全性和审计实 时监视和记录用户的行为, 任何一个用户意图控制一个对象都必须拥有相应的 授权同时用户的行为也将被监视和记录; 在操作系统级的安全控制主要侧重于 文件权限保护, 系统资源使用限制; 在数据库存储这一级目前大多采用加密技 术, 对数据进行加密,在数据传输时可以对数据协议进行加密,为了防止数据库 意外破坏,有备份恢复策略。( 一) 用户层次 数据库用户名是连接数据库、存取数据库对象的主体标记, 是数据库中管理权 限和控制数据访问的一种安

3、全措施, 用户认证就是确定所要求的用户身份的正 确性, 口令识别是数据库身份认证中最常用的方式。对于身份验证模式,SQL Server提供了两种认证方式:Windows身份验证和 SQL Server 身份验证。 Windows 身份验证模式,即使用 Windows 中的其中一 个用户登录到 SQL Server 数据库中。 SQL Server 身份验证即使用创建用来登 陆数据库的身份进行验证。而在远程以WEB形式登陆数据库的时候,同样要进行身份识别。SQL注入攻击是黑客最常见的攻击数据库的手段。SQL注入攻击是攻击者把SQL语句插入到Web表单的输入域或页面请求查询字符串中,欺骗服务器执行

4、恶意SQL语句的 操作。 防治SQL注入的方法:1.把用户验证的SQL语句构造到存储过程中是行之有效 的方法,例如构建存储过程,只有用户名正确和密码正确才能够登陆,同时将 输入的数据使用Cast()函数转换成一个整体进行验证。Create Procedure Proc IsUserValidUserName Varchar( 32) ,Password Varchar( 32)AsSelect Count(*) from UsersWhere Cast(UserName As Varchar(32)=Cast(UserName As Varchar(32)And Cast (Password

5、As Varbinary)=Cast (Password As Varbinary)Go2.对输入的验证信息进行严格的格式审查,排查字符” or” , ” and” , ” = ”等, 一旦遇到,可以拒绝登陆。( 二) 数据库管理系统层次主要包括访问控制、数据库审计、视图机制(1) 访问控制数据库访问控制 (access control) 是对用户访问数据库各种对象( 包括表、 视图、目录、应用等) 的权限( 包括创建、撤销、查询、增加、删除、修改、 执行等) 的控制, 可以通过用户分类和数据分类实现。访问控制是数据库安全 系统中的核心技术, 主要包括系统授权、确定访问权限和实施权限三个部分,

6、 是数据库管理系统最有效的安全手段。基于角色的权限管理可以有效的对用户进行权限管理。如下例子所示:USE class-创建角色r_testEXEC sp_addrole r_test-授予r_test对Student表的所有权限GRANT select ,delete ,update ON Student TO r_test-授予角色r_test对C ourse 表的SELECT权限GRANT SELECT ON Course TO r_test-添加登录1_ test, 设置密码为123,默认数据库为classEXEC sp_addlogin l_test,123,class为登录l_ te

7、st 在数据库class中添加安全账户 u_testEXEC sp_grantdbaccess l_test,u_test-添加u_test为角色r_test的成员EXEC sp_addrolemember r_test,u_test-拒绝安全账户 u_test 对Course 表的SELECT 权限DENY SELECT ON Course TO u_test执行命令,用l_ tes t登陆数据库,能够看到角色r_t es t和用户u_ tes t,如图一 所示,可以对Stu den t表进行所有操作,如图二和图三:但无法对Course表查询, 虽然角色r_test有Course表的sele

8、ct权限,但已经在安全账户中明确拒绝了对 Course的select权限,所以l_test无Course表的select权限e l用户lAIAIAbdho日 urstIN FO RM ATI ON_SCHEu _te stEl CJ角邑a o欺握吟第邑cd匚匚e-ssacdmi ni db_baiz-kupo pirate d b_d eiti ire=-;s d e-r d b_d atewriler db_ddlGdmin dk_denyd ata read id &3-_cd =-ny cd aawrifce- r cd Ej_nwm E-r d b_s-e cu ritya d min

9、 publ ic r ls 图一chenzliihua.class - SQLQueryZ.sql* 振蚤 select k from 5t-adeLt|结杲曲消息Sno5nameSsexSageSdept1200215121李里里2ftCS22CD215122刘晨女15CS32C321512i王敏女1SHA42CK1512&男IS图二男 J CS1 chenzliihua.ela - &QLQuery2.sql*inseit intc 5 fade nt vdlues5 f 弓妆戚民:1行受响)图三cli&nzhihua.class - SQLQtiery2豹呼摘要 select froir

10、. arse彳rm消息消息5圾别8状态6第1行扌籤了对对彖AuC,:数据库claaa1 ,架构dta J的SELZ3T权限图四(2)数据库审计 审计是指当用户对数据库进行各种操作时,审计功能会实时监视和记录用户的 行为。 审计功能对数据库管理员来说是非常有价值的。 通过审计机制,可以 随时查看用户行为,便于追查责任,对于不正常的用户行为可以及时的制止, 同时审计功能还有助于发现数据库安全方面的漏洞和弱点。 一般通过 SQL 的 事件探查器完成审计工作,由管理员权限用户进行。审计可以在服务器和数据 库级别上或者针对个别数据库对象实现,并以不同的格式保存记录,如二进制 文件或 Windows 应用

11、程序日志。在 SQL Server 的指定实例中创建一个 SQL Server 的审计。 SQL 语句如下:use mastergocreate server AUDIT userAudit TO FILE(FILEPATH=D:audit, MAXSIZE=10 MB) with(QUEUE_DELAY = 5000) 注意,必须在 master 数据库中创建审计。这是因为审计和 SQL Server 实例相 关联的并且作为一个整体。(3) 视图机制 视图可以被看成是虚拟表或存储查询。可通过视图访问的数据不作为独特的对 象存储在数据库内。数据库内存储的是SELECT语句。SELECT语句的结

12、果集构 成视图所返回的虚拟表。用户可以用引用表时所防止用户对基表的操作在 Transact-SQL 语句中通过引用视图名称来使用虚拟表。基于视图的信息隔离保 护机制通过授予用户操作视图的权限。可以防止用户对基表的操作。不同的用 户对于数据库具有不同的权限,即是,一个用户在执行某种任务时,他得到的 权限只能使他看到完成此任务所应看到的数据库的部分。( 三 ) 操作系统层次操作系统(OS)是数据库系统的运行平台,为数据库系统提供一定程度的安全保 护。由于数据库系统在操作系统下都是以文件形式进行管理的, 操作系统的用 户可以直接利用 OS 工具来伪造、篡改数据库文件内容。加强操作系统的安全 管理,

13、也有助于抵制来自网络的数据库攻击。对操作系统用户管理和权限进行 合理分配, 防止操作系统用户非法进入数据库系统。( 四) 数据库层次主要包括数据库加密、协议加密、备份与恢复策略 1.数据库加密要求数据库密码系统将明文数据加密成密文数据, 数 据库中存储密文数据, 查询时将密文数据取出解密得到明文信息, 即 便硬件存储失窃也不会泄漏数据, 这样就大大提高了数据库系统的安 全性, 当然成本也随之提高。以下是数据加密的实例:(1) 创建主秘钥USE classGOCREATE MASTER KEY ENCRYPTION BY PASSWORD = Pssw0rd(2) 用密码 Pssw0rd 创建证

14、书 chencreate certificate chen encryption by password=Pssw0rd with subject=chenzhihua tese certificate, start_date=1/9/2014, expiry_date=1/9/2015(3)建测试表,password字段为要加密的列,数据类型要为varbinary,因为加 密后的数据是二进制数据create table user_info(id int identity(1,1),Uname nvarchar(50),Usex nvarchar(2),password varbinary(5

15、000) )-向测试表中写入一条测试数据insert into user_info(Uname,Usex,password)values (王五,男,encryp tbycer t cer t_id ( chen),123456) 查询表中数据结果:seiec-t: * rrcuo口 3er_mZQJ结果A消息id Uname Us&x.pasaword11 王五男(k2E1792105FE25-B FD117-GODGGD B E87E 33D7.使用解密函数查询表中数据,可以看到解密后的 passwordSQL Server 使用 Tabular Data Stream 协议来进行网络数据

16、交换。 若不加密, 所有的网络传输都是明文的,包括密码、数据库内容等,这就存在一定的安全 隐患,所以,最好使用 SSL 加密协议议。 以下介绍在 SQL Server2005 上启用 SSL 加密的配置步骤(1)在服务器端计算机上 ,单击 “Microsoft SQL Server” 程序组中的 “服务器网络实用工具”;(2)单击选择“强制协议加密”;(3)验证是否启用了 TCP/IP 或命名管道;(4)单击 “ 确定 ” 关闭 SQL Server 网络实用工具 , 然后在“SQL Server 网络实用工具”消息框中单击“确定”;(5)重新启动 SQL Server 服务。设置完后,不论客户端是否指定安全连接(即Encrypt二True/False),后续 客户端所有连接都将以密文传送。3.备份与恢复策略:故障是数据库系统不可避免的问题。SQL Server 2005能在系统发生故障后利 用已有的数据备份,恢复到原状,并保持数据的完整性和一致性。 SQL Server 2005 可以创建镜像备份,在线恢复和部分备份。 镜像备份允许将备份文件创 建两个或者四个同样的拷贝,以防其中某个集合损坏的情况。 在线恢复允许在 保持数据库在线的情况下恢复离线的文件组。 部分备份是将所有的文件组,除 了那些标记为只读的文件组之外(除非是指定的),进行备份。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!