首页 > 数据库 >Oracle数据安全技术

Oracle数据安全技术

时间:2023-05-24 19:01:09浏览次数:60  
标签:数据库 用户 应用程序 技术 数据安全 Oracle 权限 安全性

一:概述

     Oracle是Oracle公司开发的一种面向网络计算机并支持对象-关系模型的数据库产品。它是一高级及结构化查询语言为基础的大型关系数据库。是目前最流行的客户/服务器体系结构的数据库之一。

     Oracle之所以备受用户喜爱,是因为它具有以下突出的特点。

      <1>支持大型数据库、多用户和高性能的事务处理。Oracle支持的最大数据库,可达几百千兆,可充分利用硬件设备;支持大量用户同时对数据库执行各种数据操作,并保证数据的一致性;系统维护具有很高的性能,Oracle每天可以连续24小时工作,正常的系统操作过程中不会中断数据库的应用;可在数据库或子数据库上控制数据的可用性。

     <2>Oracle遵循数据库存取语言、操作系统、用户接口和网络通信协议的工业标准 ,所以它是一个开放系统,保护了用户的投资。美国标准化和技术研究所(NIST)对Oracle Sercer进行过检验,完全与ANSISO SQL89标准相兼容。

    <3>实施安全型控制和完整型控制。Oracle为限制系统对各监控数据库的存取提供了可靠的安全性,并为可接受的数据指定标准,保证数据的完整性。

    <4>支持分布式数据库和分布式处理。Oracle为了充分利用计算机系统和网络,允许将处理分为数据库服务器处理和客户应用程序处理,所有共享的数据管理由数据库管理系统的计算机处理,而运行数据库应用的工作集中于解释和显示数据。通过网络连接环境,Oracle将存放在多台计算机上的数据组合成一个逻辑数据库,可被全部网络用户存取。分布式系统像集中式数据库一样就有透明性和数据一致性。

二:组合安全性

     在操作系统下建立用户组是保证数据库安全性的一种有效方法。Oracle程序为了安全性目的一般分为两类:一类所有的用户都可执行,另一类只有数据库管理员组DBA可执行。在UNIX环境下组设置的配置文件是/etc/group,UNIX的有关手册对于如何配置这个文件进行了详细的介绍。

     方法有以下几种:

     在安装Oracle Server前,创建数据库管理员组(DBA)并且分配Root和Oracle软件拥有者的用户ID给这个组。在安装过程中系统权限命令被自动分配给DBA组。

      允许一部分UNIX用户有限制地访问Oracle服务器系统,确保给OPracle服务器实用例程 Oracle组ID,公用的可执行程序(例如SQL_Plus、SQL_Forms等)应该可被这个组执行。然后设定这个实例用程的权限,允许同组的用户执行,而其他用户不能改变那些不会影响数据库安全性的程序的权限。

    为了保护Oracle服务器不被非法用户使用,可以采取如下几条措施:

    确保ORACLE_HOME/bin目录下所有程序的拥有权归Oracle软件拥有者所有。

    给所有用户实用例程(sqipluis、sqiforms、exp、imp等)特定权限,使服务器上所有用户都可以访问Oracle服务器。

    给所有的DBA实用例程(比如SQL_DBA)特定权限。当Oracle服务器和UNIX组访问本地的服务器时,用户可以通过在操作系统下把Oracle服务器的角色映射到UNIX组的方式来使用UNIX管理服务器的安全性。这种方法适用于本地访问。

     Oracle软件的拥有者应该设置数据库文件的使用权限,使得文件的拥有者可读可写,同组的和其他组的用户没有写的权限。Oracle软件的拥有者应该拥有包含数据库文件的目录,为了增加安全性,建议收回同族和其他组用户对这些文件的可读权限,

三:建立安全策略

       系统安全策略主要考虑以下三点:

       <1>管理数据库用户是访问Oracle数据信息途径,因此应该很好地维护管理数据用户的安全性。按照数据库系统的大小和管理数据库用户所需的工作量,数据库安全性管理者可能只是拥有create、alter、drop数据库用户的一个特殊用户,或者是拥有这些权限的一组用户。应当注意的是,只有那些值得信任的人才有管理数据库用户的权限。

      <2>身份确认数据库用户可以通过操作系统、网络服务和数据库进行身份确认。通过主机操作系统进行用户身份认证有三个优点:

       《1》用户能更快、更方便地连入数据库。

       《2》通过操作系统对用户身份确认进行集中控制,如果操作系统与数据库用户信息一致,那么Oracle无须存储和管理用户名名和密码。

        《3》用户进入数据库和操作系统审计信息一致。

      <3>为确保操作系统安全性,数据库管理员必须有create和delete文件的操作系统权限,而一般数据库用户不应该有create或delete与数据库文件相关的操作系统权限。如果操作系统能为数据库用户分配角色,那么安全型管理者必须有修改操作系统账户安全性区域的操作系统权限。

      数据安全策略的考虑应基于数据的重要性。如果数据不是很重要,那么数据的安全性策略可以稍微放松一些,如果数据很重要,那么应该有一个谨慎的安全策略,用它维护对数据对象访问的有效控制。用户安全策略主要包括以下几种:

       一般用户的安全性:

       《1》密码的安全性。如果用户通过数据库进行用户身份的确认,那么建议使用密码加密的方式与数据库进行连接。

       《2》权限管理。对于那些用户很多,应用程序和数据对象很丰富的数据库,应充分利用角色机制所带来的方便性对权限进行有效的管理。对于复杂的系统环境,角色能大大地简化权限管理/

        终端用户的安全性:

       用户必须针对终端用户制定安全性策略,例如:对于一个有很多用户大规模数据库,安全性管理者可以决定用户组分类,为这些用户创建用户角色,把所需的权限和应用程序绝色授予每一个用户角色,以及为用户分配相应的用户角色。当处理特殊的应用要求时,安全性管理者也必须明确地把一些特定的权限要求授予给用户,用户可以使用角色对终端用户进行权限管理。  

四:数据库管理者安全策略

      《1》要保护sys和system用户的连接,但数据库创建好后,应当立即更改有管理权限地sys和system用户的密码,防止非法用户访问数据库,当作为sys和system用户连入数据库后,用户强大的权限用各种方式改动数据库。

     《2》保护管理者与数据库的连接,应该只有数据库管理者能用管理权限连入数据库。

      《3》使用角色对管理者权限进行管理。

五:应用开发者的安全策略

       《1》应用程序开发者和他们的权限数据库应用程序开发者是唯一一类需要特殊权限完成自己工作的数据库用户。开发者需要一些系统权限。然而,为了限制开发者对数据库的操作,只应该把一些特定的系统权限授予开发者。

       《2》考虑到应用程序开发者环境,程序开发者不应该与终端用户竞争数据库资源,同时程序开发者不能损害数据库与其他应用产品。

       《3》应用程序开发者有free developmnet与controlled development两种权限。在前一种情况下,应用程序开发者允许创建新的模式对象,它允许应用程序开发者开发独立于其他对象的应用程序。而在后一种情况下,应用程序开发者不允许创建新的模式对象,而是由数据库管理者创建,它保证了数据库管理者能够完全控制数据空间的使用和访问数据库信息的途径。但在实践中,有时应用程序开发者也需要两种权限的混合。

      《4》数据库安全性管理者能创建角色来管理典型的应用程序开发者的权限要求。作为数据库安全性管理者,用户应该特别地为每个应用程序开发者设置一些限制,在有许多数据库应用程序的数据库中,用户可能需要一位应用程序管理者,应用程序管理者应负责为每一个应用程序创建角色以及管理每一个应用程序的角色‘创建和管理数据库应用程序使用的数据对象以及维护和更新应用程序代码、Oracle的存储过程和程序包。

Oracle数据安全技术_应用程序




























































标签:数据库,用户,应用程序,技术,数据安全,Oracle,权限,安全性
From: https://blog.51cto.com/u_15912723/6342589

相关文章

  • 数字孪生技术在旅游领域能起到什么作用?
    旅游作为人们休闲和文化交流的重要方式,对于旅游目的地的吸引力和可持续发展提出了更高的要求。在这个背景下,数字孪生技术在旅游领域发挥着重要作用,为旅游业的发展和管理带来了全新的机遇。首先,数字孪生技术为旅游目的地提供了全面而精确的数据和模拟模型。通过采集和整合各种数据......
  • oracle常用关键字
    1.sysdatesysdate显示系统当前日期和时间的函数。 2.THIRD_SYSTEM_CONFIG_GK_PK.nextval在Oracle数据库中,THIRD_SYSTEM_CONFIG_GK_PK.nextval是一个序列号生成器。THIRD_SYSTEM_CONFIG_GK_PK.nextval的作用是:1.为第三系统配置表生成唯一的主键值2.每调用一次nextval......
  • 【技术】多端能力服务统一是一种关键的技术和架构
    ​多端能力服务统一是一种关键的技术和服务架构,旨在为不同终端设备提供一致的用户体验和功能。通过采用前端和后端技术的组合,如响应式Web设计、PWA、跨平台移动应用开发框架、RESTfulAPI、GraphQL、WebSocket、Serverless架构和微服务架构,可以实现多端能力服务统一的目标。......
  • lightdb创建oracle兼容分区表
    zjh@postgres=#createtablehash_part_tab(idnumber,deal_datedate,area_codenumber,nbrnumber,contentsvarchar2(4000))zjh@postgres-#partitionbyhash(deal_date)zjh@postgres-#PARTITIONS12;ERROR:pleasesetoraclecompatiblemodefororaclepartit......
  • 水体渲染技术发展史
    一、总览:水体渲染技术发展史凹凸纹理贴图(BumpMapping)[Schachters1980]正弦波(SinusoidsWave)[Max1981]分形噪声(Fractalnoise)[Perlin1985]Gerstner波(GerstnerWave)[Fournier1986]快速傅立叶变换(FastFourierTransform)[Mastin1987]欧拉方法(Eulerianapproaches)[Kass......
  • oracle12c linux安装教程
    1、安装包下载2、环境准备2.1安装gcc2.2内核参数设置2.3资源限制配置2.4硬件环境准备2.5Xmanger安装2.6创建文件夹2.7创建用户和组2.8图像界面设置2.9上传并解压3、安装3.1执行安装命令3.2安装选择3.3环境变量配置4、验证4.1启动pdb4.2设置pdb随cdb自启动1、安装......
  • kettle 连接oracle 12c以上数据库报错 ORA-12505, TNS:listener does not currently k
    在通过kettle连接oracle数据库时报错,但通过plsql是能正常连接的,ORA-12505,TNS:listenerdoesnotcurrentlyknowofSIDgiveninconnectdescriptororg.pentaho.di.core.exception.KettleDatabaseException:来看oracle数据库版本select*fromv$version;连接oracle12c以......
  • oracle express 18安装后初次登录
    打开SQLPlus请输入用户名:sys/"安装时设置的密码"@XEassysdba连接到:OracleDatabase18cExpressEditionRelease18.0.0.0.0-ProductionVersion18.4.0.0.0新建用户并授权:SQL>createuserc##vocanoidentifiedbyvocano;用户已创建。SQL>grantconnec......
  • Oracle 存储过程多数据集返回-程序处理
    oracle存储过程返回数据集是以游标参数的形式返回,同时返回多个数据集就相当于多几个输出类型的游标参数,而在程序处理中如何处理这种多结果集的存储过程?今天研究了Delphi7和c#两种语言,D7ODBC方式连接,OraStoreProced对象无法处理多个对象,查看其父类TCustomOraQuery,不想c#......
  • 万象奥科参展“NXP创新技术论坛”
    5月23日上海静安洲际酒店,万象奥科参展“NXP创新技术论坛”。 “打造中国生态,决胜智能时代”!作为恩智浦在国内的重要合作伙伴,万象将继续创新研发、严控品质,积极推动上下游伙伴合作供应。 本次论坛,万象奥科展出多款ARM核心板、工控板、网关类产品,覆盖i.MX6ULL、i.MX6D/Q、i.MX8M/8M......