数据库安全知识

上传人:suns****4568 文档编号:87402390 上传时间:2019-04-04 格式:PPT 页数:70 大小:732.50KB
返回 下载 相关 举报
数据库安全知识_第1页
第1页 / 共70页
数据库安全知识_第2页
第2页 / 共70页
数据库安全知识_第3页
第3页 / 共70页
数据库安全知识_第4页
第4页 / 共70页
数据库安全知识_第5页
第5页 / 共70页
点击查看更多>>
资源描述

《数据库安全知识》由会员分享,可在线阅读,更多相关《数据库安全知识(70页珍藏版)》请在金锄头文库上搜索。

1、数据库安全知识培训,天津优扬科技有限公司 信息安全等级保护测评机构,CSPEC-PGWJ09,主讲人:胡浩强 电 话:15822439639 邮 箱:,内容提要,数据库概述 数据库安全概述 数据库安全技术 典型数据库安全 SQL Server数据库安全 Oracle数据库安全 SQL Injection安全问题,数据库发展简史,1961年GE开发出第一个数据库系统IDS(Integrated DataStore),是网状数据库系统。IDS具有数据模式和日志的特征,只能在GE主机上运行,并且数据库只有一个文件。 IBM公司在1968年开发的IMS(Information Management S

2、ystem),是一种层次数据库系统 1970年,IBM的研究员E.F.Codd提出了关系模型的概念,奠定了关系模型的理论基础。并以此开发System R,该项目直到1980年才正式推出。 1973年加州大学伯克利分校的Michael Stonebraker和Eugene Wong利用System R已发布的信息开始开发自己的关系数据库系统Ingres。 1976年Honeywell公司开发了第一个商用关系数据库系统Multics Relational Data Store。,数据库发展简史,1979年Oracle(当时还是RSI)引入了第一个商用SQL关系数据库管理系统Oracle V2。 1

3、980年Informix公司成立,推出的第一个关系数据库产品是InformixSE(StandardEngine)。 1983年IBM 推出了DB2数据库产品。 1984年Sybase公司成立,87年与微软合作开发OS/2平台的数据库,并于89年推出SQLServer1.0 1996年,MySQL以二进制形式在Internet上发布 1996年Stonebraker提出面向对象的关系数据库系统理论,99年发表的SQL3标准就引进面向对象的关系型数据库的许多内容。 随着Internet的发展XML成为标准语言,XML数据库成为发展的新趋势。,数据库基础,数据库是按照数据结构来组织、存储和管理数据

4、的仓库。 数据库通常分为层次式数据库、网络式数据库、关系式数据库和面向对象数据库等。 目前流行的数据库系统是关系数据库,它也是最有效率的数据组织方式之一,所有数据都按表进行组织和管理。 数据库管理系统(DBMS)是为建立、使用和维护数据库而设计的数据管理软件。如:DB2、Oracle、SQL Server等。,数据库系统构成,数据库 存取数据 数据库管理系统(DBMS) 为用户及程序提供数据访问,并对数据库进行管理、维护,通常主要包括存储管理器和查询处理器两大部分。,内容提要,数据库概述 数据库安全概述 数据库安全技术 典型数据库安全 SQL Server数据库安全 Oracle数据库安全 S

5、QL Injection安全问题,数据库的重要性,数据库是电子商务、金融、办公自动化及其他信息化系统等的核心。 数据库保存着敏感的信息资源,如客户信息或个人资料、商业事务、业务帐务等。,数据库的安全性,与系统紧密相关但更难正确配置和保护 一些安全漏洞不仅威胁数据库的安全,也威胁到操作系统和其他可信任的系统 对数据库的安全重视程度远比不上对待操作系统和网络,数据库面临的安全威胁,凡是对数据库内数据的非授权访问(如读取)或非授权写入(修改、删除、增加等)都对数据库造成了威胁和破坏 在正常需要期间,造成授权用户不能得到数据库服务时也对数据库造成了威胁和破坏,数据库的安全威胁形式,黑客正在关注数据库安

6、全 蠕虫和病毒开始针对数据库系统 数据库开发和应用存在大量的安全问题 默认口令和配置在数据库中大量存在 增长的业务应用发展,典型数据库应用与攻击,典型数据库应用与攻击,数据库服务器,数据库的安全要求,数据完整性、可用性、机密性 可审计性 用户认证 访问控制,数据库的安全需求,对操作系统的安全需求 防止对DBMS的非法访问和修改 保护存储的数据、文件的安全性 对数据库用户的认证 对数据库系统本身的安全需求 用户认证管理、访问控制、审计 数据库的稳定性 保证数据的安全性与完整性,完善的恢复功能 数据加密 对数据库应用系统的安全需求 访问控制、认证管理 对数据库的保护防止非法访问和修改 自身的稳定性

7、,内容提要,数据库概述 数据库安全概述 数据库安全技术 典型数据库安全 SQL Server数据库安全 Oracle数据库安全 SQL Injection安全问题,数据库基本安全构架(一),数据库的安全模型 自主安全模型(DAC) 用户对信息的存取控制是基于用户的鉴别和确定的存取访问控制规则 每个用户都要给予对系统中每个存取对象的存取权限 有权限的用户可自主将权限传授给其他用户 典型代表:存取矩阵模型 强制安全模型(MAC) 主体和客体分配不同的安全属性 只有管理员才能修改安全属性 主要应用在对敏感信息的保护 典型代表:BLP模型(Belll-La Padula),数据库基本安全构架(二),信

8、息流控制 对象之间的流动信息或信息流程的监控和管理 防止高级别对象到低级别对象的流动,比如拷贝操作 要求对所有元素、组成成分等都要划分类别和级别 推理控制 防止通过间接的方式越权获取数据,比如信息窃取 存取控制 主体是用户、进程等,客体是数据、表、记录、元素、字段等 DAC和MAC,数据库加密技术(一),库外加密 将数据库的文件作为加密对象 优点: 对DBMS的要求少 缺点: 效率低 数据解密需要很大的时间和空间代价,数据库加密技术(二),库内加密 加密对象为数据库中存储的数据,比如表、记录、元素、数据等。 优点: 加密的粒度可细化 效率较高 缺点: 针对性较强,数据库加密技术(三),硬件加密

9、 在物理存储器与数据库系统之间的硬件加密装置 加密解密操作由硬件中间设备完成 缺点: 硬件之间的兼容问题 系统变得更复杂,内容提要,数据库概述 数据库安全概述 数据库安全技术 典型数据库安全 SQL Server数据库安全 Oracle数据库安全 SQL Injection安全问题,SQL Server介绍,1987年微软与Sybase合作,并使用Sybase的技术开发OS/2平台的数据库 1989年,SQL Server1.0推出 1992年,推出OS/2平台的SQLServer4.2 1993年,发布基于NT平台的SQLServer 1994年,微软脱离Sybase自行开发数据库,并与95

10、和96年分别发布了SQLServer6.5和7.0版本 基于关系型数据库的大型数据库系统 广泛应用于电子商务、金融等行业 最新产品为SQL Server 2005,SQL Server安全特性,利用了Windows操作系统的集成安全性; 基于角色的服务器、数据库和应用程序配置安全性; 集成的安全性审核工具可以跟踪18个不同的安全事件及其子事件; 文件和网络加密支持,包括SSL、Kerberos及委托; SQL Server 2000通过C2级安全性认证;,主要安全问题,严重的安全漏洞 拒绝服务漏洞 UDP缓冲区溢出漏洞 SQL Slammer蠕虫 默认的sa空口令 “明文”传输问题 数据库应用

11、中存在的SQL Injection,SQL Server安全管理要点,账号 资源 系统 审核及日志 数据库应用,帐号管理,检查数据库账号 检查无用的数据库账号 检查弱口令账号,口令检查,本地账号检查 检查空口令账户: Select name from syslogins where password is null 脚本:audit.sql 密码破解工具 SQLCracker.exe forceSQL.exe ASI产品 其他漏洞扫描工具,口令传输弱加密问题,登录密码在网络中传输是“加密”的 事实上: 加密是“弱”的 基本等同于明文传输 密码嗅探工具 SQLServerSniffer.exe,

12、数据库资源管理,检查数据库安装目录的文件安全性 检查数据库文件的安全性,系统配置管理,补丁安装 安全层次和身份验证模式 数据库的网络配置 扩展存储过程检查,数据库补丁,察看数据库版本 执行 xp_msver 最新版本 SQL Server2005: 9.00.2153 SQL Server 2000: 8.00.2189 SQL Server 7.0: 7.00.1149 在SQL Server安装SP3补丁时,必须在系统中已经安装了SP1或SP2。,安全层次和身份验证模式,SQL Server支持三级安全层次: 第一个层次是,用户必须登录到SQL Server,或者已经成功登录了一个映射到S

13、QL Server的NT帐号。在SQL Server登录成功并不意味着用户已经可以访问SQL Server上的数据库。 第二层次的安全权限允许用户与一个特定的数据库相连接。 第三个层次的安全权限允许用户拥有对指定数据库中一个对象的访问权限。例如,可以指定用户有权使用哪些表和视图、运行哪些存储过程。 Windows 身份验证模式(Windows 身份验证) Windows 身份验证模式使用户得以通过Windows用户帐户进行连接。 混合模式(Windows身份验证和 SQL Server 身份验证) 混合模式使用户得以使用 Windows 身份验证或 SQL Server 身份验证与 SQL S

14、erver 实例连接。,网络配置,审计内容: 默认端口TCP 1433 隐藏服务器 UDP 1434 命名管道 操作 “企业管理器”实例“属性”“网络配置” sqlping.exe,网络配置管理要点,默认通讯端口是否更改 通讯端口是否限制访问(IP安全策略或防火墙) UDP 1434端口是否限制(IP安全策略或防火墙) 命名管道是否需要,审核和日志,审核工具 事件探查器 性能监控器 审核日志,扩展存储过程管理,xp_cmdshell可以直接执行系统命令 xp_cmdshell “dir c:” xp_cmdshell “net user TEST /add” 其他重要扩展存储过程 xp_reg

15、deletekey xp_regdeletevalue xp_regenumvalues xp_regread xp_regwrite xp_loginconfig xp_dirtree ,扩展存储过程管理,检查扩展存储过程 sp_helpextendedproc procedure 例sp_helpextendedproc xp_cmdshell 删除扩展存储过程 sp_dropextendedproc procedure 例sp_dropextendedproc xp_cmdshell 恢复扩展存储过程 sp_addextendedproc procedure DLL 例sp_addext

16、endedproc xp_cmdshell, C:Program FilesMicrosoft SQL ServerMSSQLBinnxplog70.dll,数据库应用管理,SQL Injection 设置单独的应用账号 设置最小的访问权限 安全的数据库应用编程 如果一个SQL Server数据库维护人员,需要具有建立测试性的数据库的权限,那么应该指派Database Creators帐号权限。,入侵检测和管理,入侵检测结合以下资源 数据库本身日志 数据库纪录内容 系统日志 数据库应用日志(比如IIS) 对SQL数据库来说,用户输入的符号对系统的安全威胁最大,需要在数据输入进行数据过滤。,需要警惕,数据库日志: 多次登录失败纪录 系统日志: 数据库登录日志 数据库服务停止或重新启动 执行扩展存储过程纪录 数据库应用日志: 执行插入的SQL语句,SQL Server安全管理最佳实践,SQL Server数据库管理员从以下方面加强的安全性: 查询最新安全

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 职业教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号