信息安全知识竞赛培训-数据库.ppt_第1页
信息安全知识竞赛培训-数据库.ppt_第2页
信息安全知识竞赛培训-数据库.ppt_第3页
信息安全知识竞赛培训-数据库.ppt_第4页
信息安全知识竞赛培训-数据库.ppt_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、,数据库基础知识培训,内容提要,数据库概述 数据库安全概述 数据库安全技术 典型数据库安全 SQL Server数据库安全 Oracle数据库安全 SQL Injection安全问题,数据库发展简史,1961年GE开发出第一个数据库系统IDS(Integrated DataStore),是网状数据库系统。IDS具有数据模式和日志的特征,只能在GE主机上运行,并且数据库只有一个文件。 IBM公司在1968年开发的IMS(Information Management System),是一种层次数据库系统 1970年,IBM的研究员E.F.Codd提出了关系模型的概念,奠定了关系模型的理论基础。并以

2、此开发System R,该项目直到1980年才正式推出。 1973年加州大学伯克利分校的Michael Stonebraker和Eugene Wong利用System R已发布的信息开始开发自己的关系数据库系统Ingres。 1976年Honeywell公司开发了第一个商用关系数据库系统Multics Relational Data Store。,数据库发展简史,1979年Oracle(当时还是RSI)引入了第一个商用SQL关系数据库管理系统Oracle V2。 1980年Informix公司成立,推出的第一个关系数据库产品是InformixSE(StandardEngine)。 1983年I

3、BM 推出了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数据库安全 SQL Injection安全问题,数据库的重要性,数据库是电子商务、金融、办公自动化及其他信息化系统等的核心。 数据库保存着敏感的

5、信息资源,如客户信息或个人资料、商业事务、业务帐务等。,数据库的安全性,与系统紧密相关但更难正确配置和保护 一些安全漏洞不仅威胁数据库的安全,也威胁到操作系统和其他可信任的系统 对数据库的安全重视程度远比不上对待操作系统和网络,数据库面临的安全威胁,凡是对数据库内数据的非授权访问(如读取)或非授权写入(修改、删除、增加等)都对数据库造成了威胁和破坏 在正常需要期间,造成授权用户不能得到数据库服务时也对数据库造成了威胁和破坏,数据库的安全威胁形式,黑客正在关注数据库安全 蠕虫和病毒开始针对数据库系统 数据库开发和应用存在大量的安全问题 默认口令和配置在数据库中大量存在 增长的业务应用发展,典型数

6、据库应用与攻击,典型数据库应用与攻击,数据库服务器,数据库的安全要求,数据完整性、可用性、机密性 可审计性 用户认证 访问控制,数据库的安全需求,对操作系统的安全需求 防止对DBMS的非法访问和修改 保护存储的数据、文件的安全性 对数据库用户的认证 对数据库系统本身的安全需求 用户认证管理、访问控制、审计 数据库的稳定性 保证数据的安全性与完整性,完善的恢复功能 数据加密 对数据库应用系统的安全需求 访问控制、认证管理 对数据库的保护防止非法访问和修改 自身的稳定性,内容提要,数据库概述 数据库安全概述 数据库安全技术 典型数据库安全 SQL Server数据库安全 Oracle数据库安全 S

7、QL 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和96年分别发布了SQLServer6.5和7.0版本 基于关系型数据库的大型数据库系统 广泛应用于电子商务、金融等行业 最新产品

10、为SQL Server 2005,SQL Server安全特性,利用了Windows操作系统的集成安全性; 基于角色的服务器、数据库和应用程序配置安全性; 集成的安全性审核工具可以跟踪18个不同的安全事件及其子事件; 文件和网络加密支持,包括SSL、Kerberos及委托; SQL Server 2000通过C2级安全性认证;,主要安全问题,严重的安全漏洞 拒绝服务漏洞 UDP缓冲区溢出漏洞 SQL Slammer蠕虫 默认的sa空口令 “明文”传输问题 数据库应用中存在的SQL Injection,SQL Server安全管理要点,账号 资源 系统 审核及日志 数据库应用,帐号管理,检查数据

11、库账号 检查无用的数据库账号 检查弱口令账号,口令检查,本地账号检查 检查空口令账户: 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,或者已经成功登录了一个映射到SQL Server的NT帐号。在SQL Server登录成功并不意味着用户已经可以访问SQL Server上的数据库。 第二层次的安全

13、权限允许用户与一个特定的数据库相连接。 第三个层次的安全权限允许用户拥有对指定数据库中一个对象的访问权限。例如,可以指定用户有权使用哪些表和视图、运行哪些存储过程。 Windows 身份验证模式(Windows 身份验证) Windows 身份验证模式使用户得以通过Windows用户帐户进行连接。 混合模式(Windows身份验证和 SQL Server 身份验证) 混合模式使用户得以使用 Windows 身份验证或 SQL Server 身份验证与 SQL Server 实例连接。,网络配置,审计内容: 默认端口TCP 1433 隐藏服务器 UDP 1434 命名管道 操作 “企业管理器”实

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

15、 xp_loginconfig xp_dirtree ,扩展存储过程管理,检查扩展存储过程 sp_helpextendedproc procedure 例sp_helpextendedproc xp_cmdshell 删除扩展存储过程 sp_dropextendedproc procedure 例sp_dropextendedproc xp_cmdshell 恢复扩展存储过程 sp_addextendedproc procedure DLL 例sp_addextendedproc xp_cmdshell, C:Program FilesMicrosoft SQL ServerMSSQLBinn

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

17、行插入的SQL语句,SQL Server安全管理最佳实践,SQL Server数据库管理员从以下方面加强的安全性: 查询最新安全补丁包 注册数据库厂商安全通告服务 运行Microsoft Baseline Security Analyzer (MBSA) 删除或修改SA 和系统默认帐号及口令 监控链接,尤其是试图登录数据库的错误告警,内容提要,数据库概述 数据库安全概述 数据库安全技术 典型数据库安全 SQL Server数据库安全 Oracle数据库安全 SQL Injection安全问题,Oracle介绍,近30年的数据库历史 使用最广的大型关系数据库 支持大量多媒体数据 提供分布式数据库

18、能力 最新产品为Oracle 10g,Oracle安全特性,Virtual Private Database(虚拟专用数据库) Oracle 标签安全 选择性数据加密 Oracle Policy Manager 数据保密性(RSA DES) 数据完整性(MD5、SHA) 多层审核,Oracle安全问题,Oracle号称“Unbreakable” 但是: Oracle9i Application Server的SQL Injection 漏洞(61号警报2003年11月7日) 文件中受限内容的未授权访问(60号警报2003年10月28日) Database Server Binaries的缓冲区

19、溢出(59号警报2003年11月13日) Oracle9i Database Server的XML Database的缓冲区溢出(58号警报2003年8月18日) ,Oracle数据库基础知识,Oracle 8i及更高版本数据库的版本信息的命令是 cd $ORACLE_HOME/install cat unix.rgs Oracle数据库中,物理磁盘资源包括以下: 控制文件 重作日志文件 数据文件 Oracle数据库listener的日志文件$ORACLE_HOME/network/log/listener.log包含以下内容: 客户端请求的时间 连接方式 连接程序,网络协议 主机名,网络端口

20、号 Oracle数据库的归档日志是在线日志的备份 在Oracle数据库设置listener口令时,在oracle用户下运行lsnrctl命令,为什么Unbreakable?,Oracle比Web服务器少很多 多数Oracle受防火墙保护 针对Oracle的攻击技术开放有限 但是 免费下载让更多人开始接触Oracle 攻击技术已经在逐步公开,主要安全问题,严重的缓冲区溢出漏洞 Oracle默认情况下,口令的传输方式是明文 多个默认账户口令 SYS: CHANGE_ON_INSTALL SYSTEM:MANAGER DBSNMP:DBSNMP SCOTT:TIGER SQL Injection L

21、istener Service 错误的角色管理,补丁修补,在Oracle数据库进行安全补丁升级时,需要关闭所有与Oracle数据库相关的应用和服务。 参考: ,账户管理,列举可见用户 select username from all_users 列举所有用户 select username from dba_users 检查用户配置 select username,profile,account_status from dba_users 为Oracle数据库安全考虑,在多人共同对数据库进行维护时,应分别重新定义角色。 若对多个Oracle数据库进行集中管理,对sysdba的管理方式最好选择p

22、assword文件认证方式。,口令检查,口令强度分析 检查是否使用口令验证函数。 SQL select * from dba_profiles where RESOURCE_NAME = PASSWORD_VERIFY_FUNCTION ; 如果LIMIT为NULL,建议设定口令验证函数。 SQL alter profile DEFAULT limit PASSWORD_VERIFY_FUNCTION VERIFY_FUNCTION; 口令有效期 检查口令有效期 SQL select * from dba_profiles where RESOURCE_NAME = PASSWORD_LIFE

23、_TIME; 如果LIMIT为NULL,建议修改口令有效期 SQL ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME 60;,限制客户端对数据库的访问,Oracle数据库可通过设置listener.ora文件限制客户端IP地址对数据库的访问,具体操作包括以下步骤: tcp.validnode_checking = YES tcp.excluded_nodes = (list of IP addresses) tcp.invited_nodes = (list of IP addresses) 重启listener,登录次数限制,失败的登录尝试 检查失

24、败的登录尝试 SQL select * from dba_profiles where RESOURCE_NAME = FAILED_LOGIN_ATTEMPTS; 如果LIMIT为NULL,建议修改失败的登录尝试 ALTER PROFILE DEFAULT LIMIT FAILED_LOGIN_ATTEMPTS 3;,用户管理,口令安全策略,口令加密传输,默认情况下,口令明文传输 通过配置在网络上通过DES加密传输 在Client上将ORA_ENCRYPT_LOGIN 变量设置成TURE 在Server上将DBLINK_ENCRYPT_LOGIN 参数设置成TURE,角色安全性,创建安全的D

25、BA账户密码 只有DBA能用管理权限连入数据库 限制特定的系统权限授予开发者和应用,回收PUBLIC的权限,UTL_FILE权限 SQL revoke execute on utl_FILE from public; UTL_HTTP权限 SQL revoke execute on utl_HTTP from public; UTL_TCP权限 SQL revoke execute on utl_TCP from public; UTL_SMTP权限 SQL revoke execute on utl_SMTP from public;,资源安全审计,设置限制的Oracle安装目录权限 设置数

26、据库文件权限 $ORACLE_HOME/dbs/*.dbf,设置这些文件的使用权限为0600 让DBA才有权限处理数据库目录 设置init.ora(9i控制文件)参数: O7_DICTIONARY_ACCESSIBILITY = FALSE,网络安全审计,限制IP地址 protocol.ora(Oracle Net配置文件) tcp.validnode_checking = YES tcp.excluded_nodes = list of IP addresses tcp.invited_nodes = list of IP addresses 阻止Listener上的未授权管理 listen

27、er.ora(Oracle Listener配置文件) ADMIN_RESTRICTIONS_listener_name=ON 限制远程鉴别 init.ora (Oracle控制文件) REMOTE_OS_AUTHENT = FALSE 通过防火墙等保护通讯端口(TCP1521),启用审计,在初始化配置文件中设置参数: AUDIT_TRAIL=DB 需要重起数据库实例 指定审计 例:审计所有数据库连接和断开连接 AUDIT SESSION 例:审计以下不成功操作 AUDIT select table, delete table, execute procedure BY ACCESS WHENEVER NOT SUCCESSFUL 察看审计 select * from SYS.AUD$,保护审计,只为管理员授予SYS.AUD$ 的DELETE、INSERT、UPDATE权限 只为安全管理员授予DELE

温馨提示

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

评论

0/150

提交评论