如何提高Oracle数据库安全性,建议总结

Oracle数据库作为存放企业数据的集合,其安全性不用我们再过多的强调。现在问题是,笔者在给客户提供技术服务时,发现有不少的企业,在安全性方面做的不怎么到位,连最简单的一些安全措施都没有做。

  我想通过这篇文章,提醒Oracle数据库管理员,在规划与实现Oracle数据库安全性方面需要注意的地方,向他们提一些可行的建议。希望这些内容能够帮助他们提高Oracle数据库的安全性。

  一、 锁定不用的帐户。

  在Oracle安装的时候,会自动建立几个默认的数据库服务器帐户。当Oracle数据库安装完成后,系统会自动把某些帐户锁定或者设置为过期;但同时也会打开一些有用的帐户,如SYS、SYSTEM、SYSMAN等等。如果安装了数据库实例,可能还会建立scott帐户。为了Oracle数据库的安全性考虑,我们最好能够把一些不用的帐户锁定掉。一般来说,若是系统提供的帐户,我们只需要保留SYS、SYSTEM、SYSMAN这三个用户名即可,其他的系统自建的用户名可以锁定掉。

  另外,在数据库维护中,我们还会建立自己的管理员帐户。如笔者在维护数据库系统的时候,就不喜欢用系统提供的管理员帐户。而是会先利用他们的帐户登陆进去,然后建立自己喜欢的用户名与密码。所以,当数据库系统理有你前任数据库管理员留下来的用户名而你又不想用的时候,请各位高抬贵手,及早把它锁定掉。这可以提高数据库的安全性。可惜的是,笔者有时候给客户进行数据库有偿维护的时候,发现数据库中有很多莫名其妙的管理员帐户。问他们数据库管理员这些帐户有什么用时,他们说是前任留下来的,他们也不知道。对于这些帐户,笔者的建议是,尽快的把他们锁定掉或者过期掉。不然的话,对于Oracle系统来说,是一颗定时炸弹。一旦爆炸,就会给这个数据库带来不可换回的损失。

  二、 实施口令管理。

  这准确来说,不是笔者的建议,而是Oracle官方的建议。我在参加Oracle培训的时候,他们的教授就跟我们说,应该将数据库所提供的基本口令管理准则,如口令长度历史纪录、复杂性等等,应用于所有的用户密码中,并要求所有的管理员帐户养成定期更改密码的习惯。

  依赖于密码管理的数据库系统来说,需要保证密码在任何时候都是保密的。可是在实际工作中,密码可能会泄露,如在输入密码的时候被人看到或者被人利用密码窃取工具窃取到密码等等。故为了更好的控制数据库的安全,Oracle数据库中通过概要文件来保障数据库口令的安全。这可以说是Oracle数据库的一个独创的功能了。

  具体的来说,Oracle在口令管理上,有如下规则。

  1、口令历史。这跟微软操作系统中的口令历史一致。主要是用来指定在一个时间间隔内用户不能使用相同的密码。我们可以利用CREATE语句创建一个用户概要文件,虽然利用REUSE_TIME与REUSE_MAX参数指定间隔天数。TIME参数用来指定在多久后可以采用相同的密码;而MAX参数则指定,在可以再次使用当前口令之前,用户必须改变该口令的次数。

  2、口令的期限。若一个密码时间越长,其泄露的几率越长。最理想的状态是,每用过一次后,就修改一次密码。但是,这显然不怎么容易实现。所以,我们需要根据一定的情况,设置一个密码有效的最长期限。当这个期限过后,原来的密码就失效,用户必须重新修改密码。我们可以利用CREATE语句为某一个用户创建一个概要文件,然后利用LIFE?_TIME参数指定口令的最长有效时间。当然,也可以为到期的密码指定延长期。当用户的口令到期后,用户第一次登陆数据库的时候,用户需要输入延长期。在这个延长期内,用户仍然可以使用原有的密码,只是每次登录数据库,系统都会提醒用户修改密码,直到延长期结束。当延长期满后,用户必须更改原有的口令。否则的话,系统会一直提醒用户更改密码,而拒绝登陆系统。另外,口令的期限往往跟上面的口令历史一起使用,从而把密码的安全性提高到一个新的层次。

  3、密码的复杂性管理。我们都知道,纯数字的密码要比数字、字符混合的密码好破解的多。故为了加强用户名密码的安全性,设置一定的复杂性密码管理规则是必须的。Oracle数据库系统中,提供了很多的密码复杂性检查。如可以规定密码的最小长度;可以设置密码不能与用户名相同;可以规定密码中必须包含字符、数字、标点符号等等;还可以设定密码不能为简单的单词以及密码的前面几个字符不能够相同等等。通过这些复杂性管理,可以最大程度的保障密码的安全性。如此的话,若想要通过数字字典破解密码的话,难度就会比较大。不过,密码虽然复杂了,但是用户最好不要随便拿张纸记一下,这样的话,密码仍然容易泄露。最好把密码记熟了,然后把纸撕掉或者烧掉,以确保密码不会被泄露。

  三、 帐户自动锁定。

  我们在利用银行卡帐户的时候,当密码输入错误超过一定的次数时,这卡就会被锁住。其实,在Oracle数据库中,也可以实现这个目的。当某个管理员帐户,或者普通的帐户,其失败的登陆次数超过了我们指定的次数时,服务器就会自动锁定那个用户帐号。

  一般来说,我们只需要给管理员帐户设置自动锁定策略即可。因为相对于普通用户来说,由于其不怎么熟悉操作,所以密码输入错误的几率会比较高。若我们为他们设置密码锁定策略的话,那我们很大一部分工作就是给他们进行解锁。所以,没有特殊必要的话,不要给普通帐户设置自动锁定策略,或者说,至少要把这个密码输入错误次数设置的高一点。

  另外,若是前台应用程序直接连接到数据库的话,也会有用户名与密码。这个用户名与密码笔者建议是不要设置密码锁定策略,否则的话,我们维护起来会很麻烦。

  四、 合理分配终端用户的权限。

  终端用户就是企业员工实际用的帐户。针对普通员工的权限控制,一般有两种方式。一是通过前台的应用软件来控制;二是通过数据库的用户权限来实现。

  如果我们是利用数据库自身的权限管理器来管理帐户权限的话,则我们需要考虑对终端用户进行分组,然后为这些用户组创建不同的角色。数据库管理员可以先给每个角色赋予必要的权限,然后再将这些角色赋予相应的用户组。也就是说,我们不建议直接给用户赋予相关的权限,而是通过角色与组来管理数据库的访问权限。在特殊的情况下,如某个权限只有一个特定的帐户具有时,则可以直接把权限赋予这个帐户。否则的话,我们不建议给用户直接赋予权限。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


文章浏览阅读773次,点赞6次,收藏9次。【代码】c# json字符串转Oracle的insert into的小程序。
文章浏览阅读8.7k次,点赞2次,收藏17次。此现象一般定位到远端的监听服务来找问题,在远端查看监听服务状态(具体看下面的解决方案会详细呈现),服务是否开启,另外查看监听端点概要是否存在host未指向到计算名的,如无直接进入监听配置文件listener.ora内添加指向即可。2、查看监听服务状态 lsnrctl status,右边为远端端点状态,未添加host指向到计算名;1、本地及远端安装好Oracle并配置好连接,Oracle服务和监听已启动;1、远程Oracle数据库:Oracle11g R2。或者进入下述服务手动重启。,再进行远程连接即可。_ora-12541:tns:无监听程序
文章浏览阅读2.8k次。mysql脚本转化为oracle脚本_mysql建表语句转oracle
文章浏览阅读2.2k次。cx_Oracle报错:cx_Oracle DatabaseError: DPI-1047: Cannot locate a 64-bit Oracle Client library_cx_oracle.databaseerror: dpi-1047: cannot locate a 64-bit oracle client libr
文章浏览阅读1.1k次,点赞38次,收藏35次。本文深入探讨了Oracle数据库的核心要素,包括体系结构、存储结构以及各类参数。通过解析Oracle数据库的体系结构,读者可以深入了解其内部组成和工作原理。存储结构部分介绍了数据在Oracle中的存储方式,从表空间到数据文件的层层逻辑。最后,我们深入探讨了Oracle数据库中各类参数的作用和配置方法,帮助读者更好地理解和优化数据库性能。本文旨在帮助读者全面理解Oracle数据库的运作机制,为其在实践中的应用提供基础和指导。
文章浏览阅读1.5k次。默认自动收集统计信息的时间为晚上10点(周一到周五,4个小时),早上6点(周六,周日,20个小时)由于平时默认每天只收集4小时,时间有点短了,改成每天可收集8小时。oracle 18c中默认是打开的。查看当前自动收集统计信息的时间。_oracle自动收集统计信息
文章浏览阅读929次,点赞18次,收藏20次。只有assm(Automatic Shared Memory Management)模式可以使用大页,需要关闭amm(Memory Manager Process)HugePages_Free: 306 (空闲306页,已使用306-306=0页)防止oracle使用的内存交换,所以设置的大小与oracle配置的sga、pga相关。HugePages_Rsvd: 0 (操作系统承诺给oracle预留的页数)HugePages_Total: 306 (总共306页)_oracle11g 大页
文章浏览阅读801次。例如:10046:0,1,4,8,12。默认redo日志有三个,大小为50M,循环覆盖使用。redo log再覆盖之前,会被归档,形成归档日志。答:不同事件,不同级别。trace的不同级别?_oracle 日志
文章浏览阅读4.2k次,点赞84次,收藏77次。主要讲解MySQL中SQL的DDL语句,其中包括对数据库和表的一系列操作。_sql ddl 新增字段 mysql
文章浏览阅读1.1k次。ON DEMAND:仅在该物化视图“需要”被刷新了,才进行刷新(REFRESH),即更新物化视图,以保证和基表数据的一致性;ON COMMIT:一旦基表有了COMMIT,即事务提交,则立刻刷新,立刻更新物化视图,使得数据和基表一致。Method =>'C',物化视图有三种刷新方式:COMPLETE、FAST和FORCE。物化视图会占用空间,一半可用于大量数据查询时,减缓主表的查询压力使用。例如创建一个物化视图,让对接单位查询。_oracle物化视图定时刷新
文章浏览阅读713次,点赞21次,收藏18次。1.背景介绍在当今的大数据时代,数据量越来越大,传统的关系型数据库已经无法满足业务需求。因此,NoSQL数据库技术迅速崛起,成为企业和开发者的首选。Oracle NoSQL Database是Oracle公司推出的一款分布式NoSQL数据库产品,具有高性能、高可用性和易于扩展等特点。在本文中,我们将深入了解Oracle NoSQL Database的集成与开发者工具,帮助您更好地掌握这款产品的...
文章浏览阅读2.5k次,点赞2次,收藏4次。今天遇见一个问题需要将字段中包含中文字符串的筛选出来。_oracle查询包含中文字符
文章浏览阅读802次。arcmap 在oracle删除表重新创建提示表名存在解决放啊
文章浏览阅读4.3k次,点赞2次,收藏4次。Oracle连接数据库提示 ORA-12638:身份证明检索失败_ora-12638
文章浏览阅读3.4k次,点赞6次,收藏25次。etc/profile是一个全局配置文件,所有用户登录都会使用该文件构建用户环境。与windows配置环境变量是一个道理。选择Linux系统,找到适合自己系统的安装包,我的是CentOS 8 x64。接下来需要登陆Oracle账户才能下载,无账户的可以自己注册一个。Linux中export 命令用于设置或显示环境变量。模式,利用上下键到文档最后,添加以下代码。出现如图所示版本号字样,则说明安装成功。点击下载,勾选1,点击2。记住完整路径用于后面配置。找到Java并点击进去。往下翻,找到Java8。_linux安装jdk1.8
文章浏览阅读2.4w次,点赞26次,收藏109次。JDK 是的简称,也就是 Java 开发工具包。JDK 是整个 Java 的核心,其中JDK包含了 Java 运行环境(Java Runtime Envirnment,简称 JRE),Java 工具(比如 javac、java、javap 等等),以及 Java 基础类库(比如 rt.jar)。最主流的 JDK 是Oracle公司发布的 JDK,除了 Oracle JDK(商业化,更稳定)之外,还有很多公司和组织开发了属于自己的 JDK,比较有名的有IBM JDK(更适合 IBM) 和OpenJDK。_jdk安装教程
文章浏览阅读7.5w次。出现 “java.sql.SQLNonTransientConnectionException:Could not create connection to database server” 的错误通常是由于无法连接到数据库服务器引起的。_java.sql.sqlnontransientconnectionexception: could not create connection to
文章浏览阅读849次,点赞7次,收藏10次。在ClickHouse中创建用户、数据库并进行权限分配是一个重要的管理任务,它涉及到安全性和访问控制。下面是一个基本的指南来帮助你完成这些操作:1. 创建数据库首先,需要创建一个数据库。使用以下命令:CREATE DATABASE IF NOT EXISTS your_database_name;将 your_database_name 替换为你想要的数据库名。2. 创建用户接下来,创建一个新用户。使用以下命令:CREATE USER your_username IDENTIFIED WIT_在clickhouse中如何创建用户 赋权
文章浏览阅读1.2k次,点赞53次,收藏39次。本文是一篇关于Oracle数据库安装和使用的博文摘要。作者以轻松幽默的笔调介绍了自己在实验中掌握的Oracle数据库基本操作,包括使用组件查看命令、配置数据库监听器等。作者也分享了在实验中遇到的一些有趣问题,如SQL语句缺少分号导致的意外错误。此外,作者还强调了登录sys用户和启动实例加载数据库的注意事项,并鼓励读者面对挑战时保持乐观,不断提升自己的能力。整体风格风趣严谨,引人入胜。
文章浏览阅读820次,点赞17次,收藏16次。KingbaseES、xml、dbms_xmlgen、SETSKIPROWS、人大金仓、KingbaseES兼容Oracle包dbms_xmlgen的功能是通过SQL查询将关系表中数据转化为XML文档。转化方式一共有两种:(1)通过查询字符串直接转化。(2)通过上下文句柄转化。对于通过查询字符串直接转化的方式,无法跳过若干行进行查询,只能直接将表格中的所有数据转化为XML文档。