数据库安全知识ppt课件_第1页
数据库安全知识ppt课件_第2页
数据库安全知识ppt课件_第3页
数据库安全知识ppt课件_第4页
数据库安全知识ppt课件_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

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

文档简介

1、CSPEC-PGWJ091数据库概述数据库安全概述数据库安全技术典型数据库安全SQL Server数据库安全Oracle数据库安全SQL Injection安全问题21961年GE开发出第一个数据库系统IDS(Integrated DataStore),是网状数据库系统。IDS具有数据模式和日志的特征,只能在GE主机上运行,并且数据库只有一个文件。IBM公司在1968年开发的IMS(Information Management System),是一种层次数据库系统1970年,IBM的研究员E.F.Codd提出了关系模型的概念,奠定了关系模型的理论基础。并以此开发System R,该项目直到19

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

3、87年与微软合作开发OS/2平台的数据库,并于89年推出SQLServer1.01996年,MySQL以二进制形式在Internet上发布1996年Stonebraker提出面向对象的关系数据库系统理论,99年发表的SQL3标准就引进面向对象的关系型数据库的许多内容。随着Internet的发展XML成为标准语言,XML数据库成为发展的新趋势。4数据库是按照数据结构来组织、存储和管理数据的仓库。数据库通常分为层次式数据库、网络式数据库、关系式数据库和面向对象数据库等。目前流行的数据库系统是关系数据库,它也是最有效率的数据组织方式之一,所有数据都按表进行组织和管理。数据库管理系统(DBMS)是为建

4、立、使用和维护数据库而设计的数据管理软件。如:DB2、Oracle、SQL Server等。5数据库存取数据数据库管理系统(DBMS)为用户及程序提供数据访问,并对数据库进行管理、维护,通常主要包括存储管理器和查询处理器两大部分。6数据库概述数据库安全概述数据库安全技术典型数据库安全SQL Server数据库安全Oracle数据库安全SQL Injection安全问题7数据库是电子商务、金融、办公自动化及其他信息化系统等的核心。数据库保存着敏感的信息资源,如客户信息或个人资料、商业事务、业务帐务等。8与系统紧密相关但更难正确配置和保护一些安全漏洞不仅威胁数据库的安全,也威胁到操作系统和其他可信

5、任的系统对数据库的安全重视程度远比不上对待操作系统和网络9凡是对数据库内数据的非授权访问(如读取)或非授权写入(修改、删除、增加等)都对数据库造成了威胁和破坏在正常需要期间,造成授权用户不能得到数据库服务时也对数据库造成了威胁和破坏10黑客正在关注数据库安全蠕虫和病毒开始针对数据库系统数据库开发和应用存在大量的安全问题默认口令和配置在数据库中大量存在增长的业务应用发展11典型数据库应用与攻击应用服务器应用服务器中间件中间件数据库服务器数据库服务器Internet等等应应用用网络网络Attack12数据完整性、可用性、机密性可审计性可审计性用户认证用户认证访问控制访问控制13对操作系统的安全需求

6、防止对DBMS的非法访问和修改保护存储的数据、文件的安全性对数据库用户的认证对数据库系统本身的安全需求用户认证管理、访问控制、审计数据库的稳定性保证数据的安全性与完整性,完善的恢复功能数据加密对数据库应用系统的安全需求访问控制、认证管理对数据库的保护防止非法访问和修改自身的稳定性14数据库概述数据库安全概述数据库安全技术典型数据库安全SQL Server数据库安全Oracle数据库安全SQL Injection安全问题15数据库的安全模型自主安全模型(DAC)用户对信息的存取控制是基于用户的鉴别和确定的存取访问控制规则每个用户都要给予对系统中每个存取对象的存取权限有权限的用户可自主将权限传授给

7、其他用户典型代表:存取矩阵模型强制安全模型(MAC)主体和客体分配不同的安全属性只有管理员才能修改安全属性主要应用在对敏感信息的保护典型代表:BLP模型(Belll-La Padula)16信息流控制对象之间的流动信息或信息流程的监控和管理防止高级别对象到低级别对象的流动,比如拷贝操作要求对所有元素、组成成分等都要划分类别和级别推理控制防止通过间接的方式越权获取数据,比如信息窃取存取控制主体是用户、进程等,客体是数据、表、记录、元素、字段等DAC和MAC17库外加密将数据库的文件作为加密对象优点:对DBMS的要求少缺点:效率低数据解密需要很大的时间和空间代价18库内加密加密对象为数据库中存储的

8、数据,比如表、记录、元素、数据等。优点:加密的粒度可细化效率较高缺点:针对性较强19硬件加密在物理存储器与数据库系统之间的硬件加密装置加密解密操作由硬件中间设备完成缺点:硬件之间的兼容问题系统变得更复杂20数据库概述数据库安全概述数据库安全技术典型数据库安全SQL Server数据库安全数据库安全Oracle数据库安全SQL Injection安全问题211987年微软与Sybase合作,并使用Sybase的技术开发OS/2平台的数据库1989年,SQL Server1.0推出1992年,推出OS/2平台的SQLServer4.21993年,发布基于NT平台的SQLServer1994年,微软

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

10、tion24账号资源系统审核及日志数据库应用25检查数据库账号检查无用的数据库账号检查弱口令账号26本地账号检查检查空口令账户:Select name from syslogins where password is null脚本:audit.sql密码破解工具SQLCracker.exeforceSQL.exeASI产品其他漏洞扫描工具27登录密码在网络中传输是“加密”的事实上:加密是“弱”的基本等同于明文传输密码嗅探工具SQLServerSniffer.exe28检查数据库安装目录的文件安全性检查数据库文件的安全性29补丁安装安全层次和身份验证模式数据库的网络配置扩展存储过程检查30察看数

11、据库版本执行 xp_msver最新版本SQL Server2005:9.00.2153SQL Server 2000:8.00.2189SQL Server 7.0: 7.00.1149在SQL Server安装SP3补丁时,必须在系统中已经安装了SP1或SP2。31 SQL Server支持三级安全层次:第一个层次是,用户必须登录到SQL Server,或者已经成功登录了一个映射到SQL Server的NT帐号。在SQL Server登录成功并不意味着用户已经可以访问SQL Server上的数据库。第二层次的安全权限允许用户与一个特定的数据库相连接。第三个层次的安全权限允许用户拥有对指定数据

12、库中一个对象的访问权限。例如,可以指定用户有权使用哪些表和视图、运行哪些存储过程。 Windows 身份验证模式(Windows 身份验证) Windows 身份验证模式使用户得以通过Windows用户帐户进行连接。混合模式(Windows身份验证和 SQL Server 身份验证) 混合模式使用户得以使用 Windows 身份验证或 SQL Server 身份验证与 SQL Server 实例连接。32审计内容:默认端口TCP 1433隐藏服务器UDP 1434命名管道操作“企业管理器”实例“属性”“网络配置”sqlping.exe33默认通讯端口是否更改通讯端口是否限制访问(IP安全策略或

13、防火墙)UDP 1434端口是否限制(IP安全策略或防火墙)命名管道是否需要34审核工具事件探查器性能监控器审核日志35xp_cmdshell可以直接执行系统命令xp_cmdshell “dir c:”xp_cmdshell “net user TEST /add”其他重要扩展存储过程xp_regdeletekeyxp_regdeletevaluexp_regenumvalues xp_regreadxp_regwritexp_loginconfigxp_dirtree36检查扩展存储过程sp_helpextendedproc procedure 例sp_helpextendedproc xp

14、_cmdshell删除扩展存储过程sp_dropextendedproc procedure 例sp_dropextendedproc xp_cmdshell恢复扩展存储过程sp_addextendedproc procedure DLL 例sp_addextendedproc xp_cmdshell, C:Program FilesMicrosoft SQL ServerMSSQLBinnxplog70.dll37SQL Injection设置单独的应用账号设置最小的访问权限安全的数据库应用编程如果一个SQL Server数据库维护人员,需要具有建立测试性的数据库的权限,那么应该指派Data

15、base Creators帐号权限。38入侵检测结合以下资源数据库本身日志数据库纪录内容系统日志数据库应用日志(比如IIS)对SQL数据库来说,用户输入的符号对系统的安全威胁最大,需要在数据输入进行数据过滤。39数据库日志:多次登录失败纪录系统日志:数据库登录日志数据库服务停止或重新启动执行扩展存储过程纪录数据库应用日志:执行插入的SQL语句40SQL Server数据库管理员从以下方面加强的安全性:查询最新安全补丁包注册数据库厂商安全通告服务运行运行Microsoft Baseline Security Analyzer (MBSA)删除或修改删除或修改SA 和系统默认帐号及口令和系统默认帐

16、号及口令监控链接,尤其是试图登录数据库的错误告警监控链接,尤其是试图登录数据库的错误告警 41数据库概述数据库安全概述数据库安全技术典型数据库安全SQL Server数据库安全Oracle数据库安全数据库安全SQL Injection安全问题42近30年的数据库历史使用最广的大型关系数据库支持大量多媒体数据提供分布式数据库能力最新产品为Oracle 10g43Virtual Private Database(虚拟专用数据库)Oracle 标签安全选择性数据加密Oracle Policy Manager数据保密性(RSA DES)数据完整性(MD5、SHA)多层审核44Oracle号称“Unbr

17、eakable”但是:Oracle9i Application Server的SQL Injection 漏洞(61号警报2003年11月7日)文件中受限内容的未授权访问(60号警报2003年10月28日)Database Server Binaries的缓冲区溢出(59号警报2003年11月13日)Oracle9i Database Server的XML Database的缓冲区溢出(58号警报2003年8月18日)45Oracle 8i及更高版本数据库的版本信息的命令是 cd $ORACLE_HOME/installcat unix.rgsOracle数据库中,物理磁盘资源包括以下:控制文

18、件 重作日志文件数据文件 Oracle数据库listener的日志文件$ORACLE_HOME/network/log/listener.log包含以下内容:客户端请求的时间连接方式连接程序,网络协议主机名,网络端口号Oracle数据库的归档日志是在线日志的备份 在在Oracle数据库设置数据库设置listener口令时,在口令时,在oracle用户下运行用户下运行lsnrctl命令命令46Oracle比Web服务器少很多多数Oracle受防火墙保护针对Oracle的攻击技术开放有限但是免费下载让更多人开始接触Oracle攻击技术已经在逐步公开47严重的缓冲区溢出漏洞Oracle默认情况下,口

19、令的传输方式是明文多个默认账户口令SYS: CHANGE_ON_INSTALLSYSTEM:MANAGERDBSNMP:DBSNMPSCOTT:TIGERSQL InjectionListener Service错误的角色管理48在Oracle数据库进行安全补丁升级时,需要关闭所有与Oracle数据库相关的应用和服务。参考:http:/ username from all_users列举所有用户select username from dba_users检查用户配置select username,profile,account_status from dba_users为Oracle数据库安全

20、考虑,在多人共同对数据库进行维护时,应分别重新定义角色。若对多个Oracle数据库进行集中管理,对sysdba的管理方式最好选择password文件认证方式。 50口令强度分析检查是否使用口令验证函数。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

21、 * from dba_profiles where RESOURCE_NAME = PASSWORD_LIFE_TIME; 如果LIMIT为NULL,建议修改口令有效期SQL ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME 60;51Oracle数据库可通过设置listener.ora文件限制客户端限制客户端IP地址对数据库的访问地址对数据库的访问,具体操作包括以下步骤:tcp.validnode_checking = YEStcp.excluded_nodes = (list of IP addresses)tcp.invited_nodes

22、= (list of IP addresses)重启listener52失败的登录尝试检查失败的登录尝试SQL select * from dba_profiles where RESOURCE_NAME = FAILED_LOGIN_ATTEMPTS;如果LIMIT为NULL,建议修改失败的登录尝试ALTER PROFILE DEFAULT LIMIT FAILED_LOGIN_ATTEMPTS 3;535455默认情况下,口令明文传输通过配置在网络上通过DES加密传输在Client上将ORA_ENCRYPT_LOGIN 变量设置成TURE在Server上将DBLINK_ENCRYPT_LO

23、GIN 参数设置成TURE56创建安全的DBA账户密码只有DBA能用管理权限连入数据库限制特定的系统权限授予开发者和应用57UTL_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;58设置限制的Oracle安装目录权限设置数据库文件

24、权限$ORACLE_HOME/dbs/*.dbf,设置这些文件的使用权限为0600让DBA才有权限处理数据库目录设置init.ora(9i控制文件)参数:O7_DICTIONARY_ACCESSIBILITY = FALSE59限制IP地址protocol.ora(Oracle Net配置文件)tcp.validnode_checking = YEStcp.excluded_nodes = list of IP addressestcp.invited_nodes = list of IP addresses阻止Listener上的未授权管理listener.ora(Oracle Listener配置文件)ADMIN_RESTRICTIONS_listener_name=ON限制远程鉴别init.ora (Oracle控制文件)REMOTE_OS_AUTHENT = FALSE通过防火墙等保护通讯端口(TCP1521)60在初始化配置文件中设置参数:AUDIT_TRAIL=DB需要重起数据库实例指定审计例:审计所有数据库连接和断开连接AUDIT SESSION例:审计以下不成功操作AUDIT select table, delete table, execute procedure BY ACCESS WHENEVER NOT SUCC

温馨提示

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

评论

0/150

提交评论