北大青鸟深圳嘉华与你一起探讨Oracle数据库安全问题(下)
mhr18 2025-01-03 17:41 18 浏览 0 评论
前面一篇我们讲了一部分Oracle数据库安全内容,这里继续讲述,分别从建立安全性策略方面系统讲述。
系统安全性策略
(1)管理数据库用户:数据库用户是访问Oracle数据库信息的途径,因此,应该很好地维护管理数据库用户的安全性。按照数据库系统的大小和管理数据库用户所需的工作量,数据库安全性管理者可能只是拥有create,alter,或drop数据库用户的一个特殊用户,或者是拥有这些权限的一组用户,应注意的是,只有那些值得信任的个人才应该有管理数据库用户的权限。
(2) 用户身份确认:数据库用户可以通过操作系统,网络服务,或数据库进行身份确认,通过主机操作系统进行用户身份认证的优点有:
A 用户能更快,更方便地联入数据库;
B 通过操作系统对用户身份确认进行集中控制:如果操作系统与数据库用户信息一致,Oracle无须存储和管理用户名以及密码;
C 用户进入数据库和操作系统审计信息一致。
(3) 操作系统安全性
A 数据库管理员必须有create和delete文件的操作系统权限;
B 一般数据库用户不应该有create或delete与数据库相关文件的操作系统权限;
C 如果操作系统能为数据库用户分配角色,那么安全性管理者必须有修改操作系统帐户安全性区域的操作系统权限。
数据的安全性策略:
数据的生考虑应基于数据的重要性。如果数据不是很重要,那么数据的安全性策略可以稍稍放松一些。然而,如果数据很重要,那么应该有一谨慎的安全性策略,用它来维护对数据对象访问的有效控制。
用户安全性策略:
(1) 一般用户的安全性:
A 密码的安全性:如果用户是通过数据库进行用户身份的确认,那么建议使用密码加密的方式与数据库进行连接。这种方式的设置方法如下:
在客户端的oracle.ini文件中设置ora_encrypt_login数为true;
在服务器端的initORACLE_SID.ora文件中设置dbling_encypt_login参数为true。
B 权限管理:对于那些用户很多,应用程序和数据对象很丰富的数据库,应充分利用“角色”这个机制所带的方便性对权限进行有效管理。对于复杂的系统环境,“角色”能大大地简化权限的理。
(2) 终端用户的安全性:
您必须针对终端用户制定安全性策略。例如,对于一个有很多用户的大规模数据库,安全性管理者可以决定用户组分类为这些用户组创建用户角色,把所需的权限和应用程序角色授予每一个用户角色,以及为用户分配相应的用户角色。当处理特殊的应用要求时,安全性管理者也必须明确地把一些特定的权限要求授予给用户。您可以使用“角色”对终端用户进行权限管理。
数据库管理者安全性策略:
(1) 保护作为sys和system用户的连接:
当数据库创建好以后,立即更改有管理权限的sys和system用户的密码,防止非法用户访问数据库。当作为sys和system用户连入数据库后,用户有强大的权限用各种方式对数据库进行改动。
(2) 保护管理者与数据库的连接:
应该只有数据库管理者能用管理权限连入数据库,当以sysdba或startup,shutdown,和recover或数据库对象(例如create,drop,和delete等)进行没有任何限制的操作。
(3) 使用角色对管理者权限进行管理
应用程序开发者的安全性策略:
(1) 应用程序开发者和他们的权限数据库应用程序开发者是唯一一类需要特殊权限组完成自己工作的数据库用户。开发者需要诸如create table,create,procedure等系统权限,然而,为了限制开发者对数据库的操作,只应该把一些特定的系统权限授予开发者。
(2) 应用程序开发者的环境:
A 程序开发者不应与终端用户竞争数据库资源;
B 用程序开发者不能损害数据库其他应用产品。
(3) free和controlled应用程序开发应用程序开发者有一下两种权限:
A free development
应用程序开发者允许创建新的模式对象,包括table,index,procedure,package等,它允许应用程序开发者开发独立于其他对象的应用程序。
B controlled development
应用程序开发者不允许创建新的模式对象。所有需要table,indes procedure等都由数据库管理者创建,它保证了数据库管理者能完全控制数据空间的使用以及访问数据库信息的途径。但有时应用程序开发者也需这两种权限的混和。
(4) 应用程序开发者的角色和权限数据库安全性管理者能创建角色来管理典型的应用程序开发者的权限要求。
A create系统权限常常授予给应用程序开发者,以至于他们能创建他的数据对象。
B 数据对象角色几乎不会授予给应用程序开发者使用的角色。
(5) 加强应用程序开发者的空间限制作为数据库安全性管理者,您应该特别地为每个应用程序开发者设置以下的一些限制:
A 开发者可以创建table或index的表空间;
B 在每一个表空间中,开发者所拥有的空间份额。应用程序管理者的安全在有许多数据库应用程序的数据库系统中,您可能需要一应用程序管理者,应用程序管理者应负责起以下的任务:
a)为每一个应用程序创建角色以及管理每一个应用程序的角色;
b)创建和管理数据库应用程序使用的数据对象;
c)需要的话,维护和更新应用程序代码和Oracle的存储过程和程序包。
我相信有了以上的这些建议,作为一个Oracle的管理者绝对可以做好他本职的工作了。可是,我们再怎么努力,都始终得面对这样一个现实,那就是Oracle毕竟是其他人开发的,而我们却在使用。所以,Oracle到底有多少漏洞--我想这个不是你和我所能解决的。不过既然作为一篇讨论Oracle数据安全的文章,我认为有必要把漏洞这一块也写进去,毕竟这也是“安全”必不可少的一部分。呵呵!
所以……
Oracle漏洞举例:
1.Oracle9iAS Web Cache远程拒绝服务攻击漏洞
2.Oracle 8.1.6的oidldapd中的漏洞
3.Oracle 9iAS OracleJSP 泄漏JSP文件信息漏洞
4.Linux ORACLE 8.1.5漏洞
总而言之一句话--“Oracle数据安全是一个博大而又精深的话题;如果你没有耐心,就永远不会得到它的精髓之所在。”希望大家能深入的去学习这篇文章,学好了也是百一而无一害。
用心办好学,深圳嘉华邀您加入互联网队伍!
微信号:jhzyjy(长按复制)
我们专注IT教育,欢迎你前来咨询!
- 上一篇:了解一下列存储及其特点
- 下一篇:为什么不能买买买了
相关推荐
- Docker安装详细步骤及相关环境安装配置
-
最近自己在虚拟机上搭建一个docker,将项目运行在虚拟机中。需要提前准备的工具,FinallShell(远程链接工具),VM(虚拟机-配置网络)、CentOS7(Linux操作系统-在虚拟机上安装)...
- Linux下安装常用软件都有哪些?做了一个汇总列表,你看还缺啥?
-
1.安装列表MySQL5.7.11Java1.8ApacheMaven3.6+tomcat8.5gitRedisNginxpythondocker2.安装mysql1.拷贝mysql安装文件到...
- Nginx安装和使用指南详细讲解(nginx1.20安装)
-
Nginx安装和使用指南安装1.检查并安装所需的依赖软件1).gcc:nginx编译依赖gcc环境安装命令:yuminstallgcc-c++2).pcre:(PerlCompatibleRe...
- docker之安装部署Harbor(docker安装hacs)
-
在现代软件开发和部署环境中,Harbor作为一个企业级的容器镜像仓库,提供了高效、安全的镜像管理解决方案。通过Docker部署Harbor,可以轻松构建私有镜像仓库,满足企业对镜像存储、管理和安全性...
- 成功安装 Magento2.4.3最新版教程「技术干货」
-
外贸独立站设计公司xingbell.com经过多次的反复实验,最新版的magento2.4.3在oneinstack的环境下的详细安装教程如下:一.vps系统:LinuxCentOS7.7.19...
- 【Linux】——从0到1的学习,让你熟练掌握,带你玩转Linu
-
学习Linux并掌握Java环境配置及SpringBoot项目部署是一个系统化的过程,以下是从零开始的详细指南,帮助你逐步掌握这些技能。一、Linux基础入门1.安装Linux系统选择发行版:推荐...
- cent6.5安装gitlab-ce最新版本-11.8.2并配置邮件服务
-
cent6.5安装gitlab-ce最新版本-11.8.2并配置邮件服务(yum选择的,时间不同,版本不同)如果对运维课程感兴趣,可以在b站上搜索我的账号:运维实战课程,可以关注我,学习更多免费的运...
- 时隔三月,参加2020秋招散招,终拿字节跳动后端开发意向书.
-
3个月前头条正式批笔试4道编程题只AC了2道,然后被刷了做了200多道还是太菜了,本来对字节不抱太大希望,毕竟后台竞争太大,而且字节招客户端开发比较多。后来看到有散招免笔试,抱着试一试的心态投了,然而...
- Redisson:Java程序员手中的“魔法锁”
-
Redisson:Java程序员手中的“魔法锁”在这个万物互联的时代,分布式系统已经成为主流。然而,随着系统的扩展,共享资源的争夺成为了一个棘手的问题。就比如你想在淘宝“秒杀”一款商品,却发现抢的人太...
- 【线上故障复盘】RPC 线程池被打满,1024个线程居然不够用?
-
1.故障背景昨天晚上,我刚到家里打开公司群,就看见群里有人讨论:线上环境出现大量RPC请求报错,异常原因:被线程池拒绝。虽然异常量很大,但是异常服务非核心服务,属于系统旁路,服务于数据核对任务,即使...
- 小红书取消大小周,有人不高兴了!
-
小红书宣布五一节假日之后,取消大小周,恢复为正常的双休,乍一看工作时长变少,按道理来说大家应该都会很开心,毕竟上班时间缩短了,但是还是有一些小红书的朋友高兴不起来,心情很复杂。因为没有了大小周,以前...
- 延迟任务的多种实现方案(延迟机制)
-
场景订单超时自动取消:延迟任务典型的使用场景是订单超时自动取消。功能精确的时间控制:延时任务的时间控制要尽量准确。可靠性:延时任务的处理要是可靠的,确保所有任务最终都能被执行。这通常要求延时任务的方案...
- 百度java面试真题(java面试题下载)
-
1、SpingBoot也有定时任务?是什么注解?在SpringBoot中使用定时任务主要有两种不同的方式,一个就是使用Spring中的@Scheduled注解,另一个则是使用第三方框架Q...
- 回归基础:访问 Kubernetes Pod(concurrent.futures访问数据库)
-
Kubernetes是一头巨大的野兽。在它开始有用之前,您需要了解许多概念。在这里,学习几种访问集群外pod的方法。Kubernetes是一头巨大的野兽。在它开始有用之前,您需要了解许多不同的...
- Spring 缓存神器 @Cacheable:3 分钟学会优化高频数据访问
-
在互联网应用中,高频数据查询(如商品详情、用户信息)往往成为性能瓶颈。每次请求都触发数据库查询,不仅增加服务器压力,还会导致响应延迟。Spring框架提供的@Cacheable注解,就像给方法加了一...
你 发表评论:
欢迎- 一周热门
- 最近发表
-
- Docker安装详细步骤及相关环境安装配置
- Linux下安装常用软件都有哪些?做了一个汇总列表,你看还缺啥?
- Nginx安装和使用指南详细讲解(nginx1.20安装)
- docker之安装部署Harbor(docker安装hacs)
- 成功安装 Magento2.4.3最新版教程「技术干货」
- 【Linux】——从0到1的学习,让你熟练掌握,带你玩转Linu
- cent6.5安装gitlab-ce最新版本-11.8.2并配置邮件服务
- 时隔三月,参加2020秋招散招,终拿字节跳动后端开发意向书.
- Redisson:Java程序员手中的“魔法锁”
- 【线上故障复盘】RPC 线程池被打满,1024个线程居然不够用?
- 标签列表
-
- oracle位图索引 (63)
- oracle批量插入数据 (62)
- oracle事务隔离级别 (53)
- oracle 空为0 (50)
- oracle主从同步 (55)
- oracle 乐观锁 (51)
- redis 命令 (78)
- php redis (88)
- redis 存储 (66)
- redis 锁 (69)
- 启动 redis (66)
- redis 时间 (56)
- redis 删除 (67)
- redis内存 (57)
- redis并发 (52)
- redis 主从 (69)
- redis 订阅 (51)
- redis 登录 (54)
- redis 面试 (58)
- 阿里 redis (59)
- redis 搭建 (53)
- redis的缓存 (55)
- lua redis (58)
- redis 连接池 (61)
- redis 限流 (51)