oracle数据库安全
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
对象权限管理
对象权限分类:对象权限的授权
语法结构 GRANT obj_priv_list | ALL ON [schema.]object TO user_list | role_list [WITH GRANT OPTION 示例:将scott模式下的emp表的SELECT、 UPDATE、 INSERT权限授予user1用户。 GRANT SELECT,INSERT,UPDATE ON scott.emp TO user1;
• 当用户登录数据库或者离开数据库时,都可以通 过自定义的触发器来记录用户名称,操作时间, 终端标识号等信息。 4、用LogMiner进行审计 用LogMiner工具用于挖掘重作日志中的所有操作 5、细精度审计(FGA) 能够记录 SCN 号和行级的更改以重建旧的数据
备份与恢复
备份与恢复的基本概念 备份的原则与策略 恢复的原则与策略
数据库审计
数据库是用来监视和记录用户在数据库中的活动。 Oracle安全性的另一个重要领域。 审记的方式: 1、SQL审计命令 通过AUDIT语句我们可以对成功或者不成功的特定 对象的读取,更新操作进行审计。 2、用对象触发器进行审计 由客户自行开发放置于特定数据库对象上的触发器
数据库审计
3、用系统级触发器进行审计
SCOTT
口令tiger,用于测试网络的连接
PUBLIC用户组
为数据库中所有用户设定必需的对象权限和系统权限
用户属性
认证方式
数据库身份认证 外部身份认证 全局身份认证
默认表空间
• DEFAULT TABLESPACE
临时表空间
TEMPORARY TABLESPACE
数据库安全
目录
• • • 一、数据库安全技术 二、Oracle数据库安全 三、SQL Injection 安全问题
一、数据库安全
数据库安全是指保护数据库以防止非法用户 的越权使用、窃取、更改或破坏数据。 数据库的安全性含义
• 防止非法用户对数据库的访问 • 防止用户的非法操作
数据库安全的内容
系统权限管理
系统权限授予时需要注意的几点:
只有DBA才应当拥有ALTER DATABASE 系 统权限。 应用程序开发者一般需要拥有CREATE TABLE、CREATE VIEW和CREATE INDEX 等系统权限。 普通用户一般只具有CREATE SESSION系统 权限。 只有授权时带有WITH ADMIN OPTION子句 时,用户才可以将获得的系统权限再授予其他 用户,即系统权限的传递性。
概要文件中参数
口令管理参数
• • • • • • • FAILED_LOGIN_ATTEMPTS PASSWORD_LOCK_TIME PASSWORD_GRACE_TIME PASSWORD_LIFE_TIME PASSWORD_REUSE_MAX PASSWORD_REUSE_TIME PASSWORD_VERIFY_FUNCTION
在实际应用中,应该以物理备份为主,
逻辑备份作为补充。
恢复类型
完全恢复
• 从一个物理备份中恢复一个已丢失的数据文件的拷贝, 然后根据从此刻起的所有归档日志文件与重做日志文 件进行恢复,这样能够得到从备份以来发生的所有变 化,这种恢复称为完全恢复。
不完全恢复
• 如果归档日志文件有丢失的情况发生,那么数据库只 能恢复到这个归档日志文件以前的状态,没有得到从 备份以来的所有变化,这种恢复称为不完全恢复。
物理备份与恢复
冷备份与恢复 热备份与恢复 不完全恢复
物理备份方法
冷备份与恢复
冷备份
• 关闭数据库实例,用操作系统的实用工具备份数据文件。
• 如果没有启用归档模式,数据库不能恢复到备份完成后的 任意时刻。
冷备份
• 如果启用归档模式,从冷备份结束后到出现故障这 段时间的数据库恢复,可以利用联机日志文件和归 档日志文件实现。
ORACEL概述
Oracle是关系型数据库管理系统 。从总体上而言, Oracle数据库是业界安全性方面最完备的数据库产 品。在数据库安全性的国际标准中,Oracle通过了 14项标准的测试,是所有数据库产品中通过安全性 标准最多、最全面的产品。Oracle在C2级的操作系 统上(如商用UNIX,VMS操作系统),不仅满足NCSC C2级安全标准,而且已经正式通过了NCSC C2标 准的测试。在B1级的操作系统上不仅满足NCSC B1级安全标准,而且已经通过了NCSC B1级标准 的测试。
用户属性
表空间配额
QUOTA …ON …
概要文件
限制用户对数据库系统资源的使用 设置用户的口令管理策略
账户状态
是否过期 是否锁定
权限管理
所谓权限就是执行特定类型SQL命令或访问其他 用户的对象的权利。 Oracle中用户权限的分类
系统权限
在数据库级别执行某种操作的权限,或针对某一类对象执行 某种操作的权限。
对象权限
对某个特定的数据库对象执行某种操作的权限
获取途径的权限
直接授权 间接授权
系统权限管理
系统权限分类
对数据库某一类对象的操作能力,通常带有ANY 关键字 数据库级别的某种操作能力
系统权限的授予
语法结构: GRANT sys_list | role_list | PUBLIC [ WITH ADMIN OPTION ]; 示例:为PUBLIC用户组授予CREATE SESSION系统权限 GRANT CREATE SESSION TO PUBLIC;
• 如果数据库系统在运行中发生故障,有些提交的事 务对数据库所做的修改有一部分写入物理数据库, 这时数据库就处于一种不正常的状态,或者说是不 一致的状态。
备份与恢复的基本概念
备份分为物理备份和逻辑备份
• 物理备份,是指通过将重要的物理文件备份 起来,以避免物理故障造成的损失。 • 逻辑备份,通常是SQL语句的集合。
数据库安全的主要技术
3、备份与恢复 数据库备份常用的备份方法有:静态备份、 动态备份和逻辑备份等;而数据库恢复则可 以通过磁盘镜像、数据库备份文件和数据库 日志三种方式来完成。 4、建立安全的审计机制 审计就是对指定用户在数据库中的操作进行 监控和记录的一种数据库功能 。
二、oracle 数据库安全
概要文件管理
启用或停用资源限制
在数据库启动前启用或停用资源限制
将数据库初始化参数文件中的参数 RESOURCE_LIMIT的值设置为TRUE或FALSE
在数据库启动后启用或停用资源限制
使用ALTER SYSTEM语句修改RESOURCE_LIMIT 参数值为TRUE或FALSE
概要文件中参数
物理层:重要的计算机系统必须在物理上受到保护, 以防止入侵者强行进入或暗中潜入。 人员层:数据库系统的建立、应用和维护等工作, 一定要由政治思想上过硬的合法用户来治理。 操作系统层:要进入数据库系统,首先要经过操作 系统,假如操作系统的安全性差,数据库将面临着 重大的威胁。 网络层:由于几乎所有网络上的数据库系统都答应 通过终端或网络进行远程访问,所以网络的安全和 操作系统的安全一样重要,网络安全了,无疑对数 据的安全提供了保障。 数据库系统层:数据库系统应该有完善的访问控制 机制,以防止非法用户的非法操作。为了保证数据 库的安全,必须在以上所有层次上进行安全性控制。
物理备份
物理备份分为冷备份与热备份。
• 冷备份又称为脱机备份。是在数据库保持关 闭状态下,把数据库的配置文件、数据文件、 控制文件、重做日志文件和归档日志文件复 制到其他地方保存起来。 • 热备份又称为联机备份或者归档备份。是在 数据库保持开放状态下对数据库进行备份, 热备份的好处是不必关闭数据库,不影响数 据库系统的正常运行,但是热备份的操作要 比冷备份复杂。
对象权限管理
对象权限的回收
语法结构 REVOKE obj_priv_list | ALL ON [schema.]object FROM user_list|role_list;
需要注意的几点
多个管理员者授予用户同一个对象权限后,其中一个管理 员回收其授予该用户的对象权限时,不影响该用户从其他 管理员处获得的对象权限。 为了回收用户对象权限的传递性(授权时使用了WITH GRANT OPTION子句),必须先回收其对象权限,然后 再授予其相应的对象权限。 如果一个用户获得的对象权限具有传递性(授权时使用了 WITH GRANT OPTION子句),并且给其他用户授权, 那么该用户的对象权限被回收后,其他用户的对象权限也 被回收。
数据库系统安全的主要风险
1、来自操作系统的风险 :病毒、后门、数据 库系统和操作系统的关联 2、来自管理的风险 :安全意识薄弱, 安全管 理措施不落实。 3、来自用户的风险:用户帐号、作用和对特定 数据库目标的操作许可 4、来自数据库系统内部的风险 :
wenku.baidu.com
数据库安全的主要技术
1、数据库加密 对数据库中存储的重要数据进行加密处理,以实 现数据存储的安全保护 。 2、存取管理技术 (1).用户认证技术 a.用户身份验证 b.用户身份识别 (2).访问控制 a.按功能模块对用户授权 b.将数据库系统权限赋予用户
关闭数据库,
开始备份
备份完成
备份
故障时刻
恢复
重装备份副本
恢复丢失数据
冷备份步骤
步骤:
1、关闭数据库
2、备份所有相关的数据库文件:
数据文件 控制文件 Redo 日志 归档的 Redo 日志
初始化文件
冷备份的恢复
非归档模式下恢复
• 关闭数据库 • 用备份文件覆盖原有文件 • 重新启动数据库
资源限制参数
• • • • • • • • • CPU_PER_SESSION CPU_PER_CALL CONNECT_TIME IDLE_TIME SESSIONS_PER_USER LOGICAL_READS_PER_SESSION LOGICAL_READS_PER_CALL PRIVATE_SGA COMPOSITE_LIMIT
角色管理
角色:一系列相关权限的集合。 角色的分类
数据库系统预定义角色 用户自定义角色
角色的管理
• 定义、授权、修改、生效与失效、删除、查询
利用角色对用户间接授权
概要文件管理
概要文件的作用 限制用户对数据库和系统资源的使用以及进 行用户口令管理 资源限制级别 会话级限制 调用级限制 资源限制类型 CPU使用时间 逻辑读 每个用户的并发会话数 用户连接数据库的空闲时间 用户连接数据库的时间 私有SQL区和PL/SQL区的使用
Oracle数据安全控制机制
用户管理 权限管理 角色管理 表空间设置和配额 用户资源限制 数据库审计 数据库的备份和恢复
用户管理
数据库初始用户 SYS
数据库中具有最高权限的DBA,可以启动、修改和关闭 数据库,拥有数据字典
SYSTEM
一个辅助的DBA,不能启动和关闭数据库,但可以进行 其他一些管理工作
系统权限管理
系统权限的回收
语法结构
REVOKE sys_priv_list FROM user_list| role_list;
注意事项
多个管理员者授予用户同一个系统权限后,其中一个管理 员回收其授予该用户的系统权限时,该用户不再拥有该系 统权限。 为了回收用户系统权限的传递性(授权时使用了WITH ADMIN OPTION子句),必须先回收其系统权限,然后再 授予其相应的系统权限。 如果一个用户获得的系统权限具有传递性(授权时使用了 WITH ADMIN OPTION子句),并且给其他用户授权,那 么该用户系统权限被回收后,其他用户的系统权限并不受 影响。
备份与恢复的必要性
数据库备份与恢复的目的
• 数据库系统在运行中可能发生故障,轻则导致事务 异常中断,影响数据库中数据的正确性,重则破坏 数据库,使数据库中的数据部分或全部丢失。 • 数据库备份与恢复的目的就是为了保证在各种故障 发生后,数据库中的数据都能从错误状态恢复到某 种逻辑一致的状态。
数据库的不一致状态