如何应对被地下的Oracle口令加密算法(2)
作者: 刘志斌 原由:中计在线
戒备加密口令泄漏
1.哄骗“起码权限”准绳,只管即使限定可存取加密口令用户的人数
在数据库中反省具有存取SYS.USER$或DBA_USERS权限的用户,并从不需求的用户中发出权限。但是操纵并不复杂,这也是数据库解决义务的特点。每一厂商的软件中都完成了SQL规范之外的扩年夜,而且每一版本都有不同。限于篇幅,不行能对完整相对本文中提议的门径截止留意的注解声名,仅以此处反省权限为例展现DBA义务的巨年夜性。本文中如未声名,则默许版本为11g。哄骗于11g已往版本时,请读者确认能否需求删改。
反省权限紧张的器材是数据字典视图(也可以直接存取SYS用户的基表,但基表的定义没有宣布,官方不提供技能支撑)。视图DBA_TAB_PRIVS存放了数据库中数据器材上的授权信息。假定用户A1和A2可以存取SYS.USER$表,反省在SYS用户USER$上有存取权限的用户,可执行如下语句:
SELECT GRANTEE FROM DBA_TAB_PRIVS WHERE TABLE_NAME=‘USER$’;
我们已经晓得用户A1和A2,都可以存取SYS.USER$表,但为什么不才面盘问成就中没有泛起呢?这是由于在Oracle的权限解决中,对一个表的存取权限还可以经由历程体系权限或脚色授予,而DBA_TAB_PRIVS中仅列出了直接的器材权限的授予信息。对于SYS.USER$表而言,体系权限SELECT ANY DICTIONARY和脚色DBA都包括了这一表的存取权限。以是完好列出完整相对可存取这一表的用户应添加下面两条盘问语句的成就:
SELECT GRANTEE FROM DBA_SYS_PRIVS WHERE PRIVILEGE=‘SELECT ANY DICTIONARY’;
SELECT GRANTEE FROM DBA_ROLE_PRIVS WHERE GRANTED_ROLE=‘DBA’;
经由历程下面的盘问语句,仍是会脱漏某些用户。假如把DBA脚色授权给另一脚色Admin,然后又将Admin脚色授权给另一用户NEWU,则此用户可存取SYS.USER$表,但在上述三个盘问中并没有直接列出NEWU的名字(脚色Admin会出面前目今当今第三个盘问语句的成就中)。
显然,Oracle的授权构成了一棵树,完好的信息需求一段PL/SQL按次来完成。(对于11g已往版本,还需求反省对DBA_USERS视图有存取权限的用户和脚色。SELECT_CATALOG_ROLE脚色如被授权,则可以存取所罕见据字典视图,但不能存取SYS的基表。)
2.设定对加密口令存取的审计
假如以后体系中只要SYSDBA可以存取USER$,则一个变通要领是审计SYSDBA的完整相对操纵,其中也包括对USER$的存取。设置初始化参数audit_sys_operations =TRUE,从头启动数据库后激活对SYSDBA操纵的审计。
审计文件的存放位置为:
11g版本中为:$ORACLE_BASE/admin/SID/ adump/ *.aud
11g已往版本为: $ORACLE_HOME/rdbms/audit/ *.aud。
严厉限定和监视SYSDBA用户活动的最好要领是哄骗Oracle Database Vault组件。
3.在操纵体系级限定对数据库数据文件的存取
SYSDBA用户的加密口令存放在$ORACLE_HOME/dbs下的口令文件orapw〈SID〉中。SYS.USER$表非常需求在数据文件中存放,大都为SYSTEM表空间的第一个数据文件中。别的,EXPORT文件、REDOLOG文件以及TRACE文件中都年夜约泛起加密口令。需求严厉限定上述文件的存取权限。
4.戒备搜集窃听
在建立毗邻时,客户端需求向办事器端传送用户名和口令,而且办事器端与客户端需求彼此发送这次会话哄骗的SESSION KEY。Oracle收受承受Diffie-Hellman KEY交换算法和本人开辟的O3LOGON协议完成上述义务。算法的细节非常已在互联网上被地下。建立毗邻时上述信息假如被截获,非常可以被用来破解口令。更为严峻的是,假如黑客事前已经获得加密口令,联合SESSION KEY的信息,则不需求任何破解,执行复杂回复运算就可算出口令明文。
别的,希图SID时不要哄骗如ORCL、TEST、PROD等常用名字,设定PORT号为远远大于1521的数,都可以添加黑客SID扫描的难度和时候。
5. 删除旧版的加密口令
存放在Oracle 11g数据库中的已往版本的加密口令是口令破解器材的一个打破口。在没有兼容性限定的体系中,可以思索从体系中删除旧版口令,从而添加破解难度。
详细操纵如下:
在SQLNET.ORA中添加一行:SQLNET.ALLOWED_LOGON_VERSION=11(Oracle手册中格局引见有错误,不能加括号:…=(11)),指定最低版本。
以SYSDBA登录后,执行以下语句,删除旧版口令。
update sys.user$ set password=NULL;
delete from user_history$;
commit;
设置删改后,基于OCI的器材如SQLPLUS、10gR1和10gR2版本都可以正常登录,而JDBC type-4 则只要11g版本才允许登录。
版权声明: 原创作品,允许转载,转载时请务必以超链接情势标明文章 原始原由 、作者信息和本声明。不然将清查法律责任。
转载于:https://www.cnblogs.com/zgqjymx/archive/2011/03/07/1974864.html
如何应对被地下的Oracle口令加密算法(2)相关推荐
- PG口令加密算法从MD5升级到SCRAM-SHA-256
PG口令加密算法从MD5升级到SCRAM-SHA-256 1.前提条件 确保PG实例版本是10及以上版本. postgres=# select version();version ---------- ...
- 口令加密算法 - Java加密与安全
口令加密我们在前面介绍了对称加密算法,他们的key其实一个byte数组,例如AES256算法,他的key实际上是一个32位的数组 我们普通的加入软件有所不同,我们在使用WinRAR这样的软件的时候,通 ...
- oracle中文加密算法,Oracle数据库替代加密算法
替代密码算法的原理是使用替代法进行加密,就是将明文中的字符用其它字符替代 后形成密文.例如:明文字母a.b.c.d ,用D.E.F.G做对应替换后形成密文. 这里在Oracle的存储过程,通过替换加密 ...
- oracle 口令修改,Oracle更改口令
1. 以ORACLE10g为例,举例说明更改SID名称的过程.假如数据库的SID叫testdb,现在改成orcl,有以下6个步骤: 1,停止所有的oracle服务 1.1oracle的相关服务都以or ...
- oracle 中的口令管理,oracle口令文件的管理
1. 口令文件的创建 可以使用oracle的orapwd命令来创建口令文件.口令文件的路径:$ORACLE_HOME/dbs,文件格式:orapw$ORACLE_SID [oracle@node01 ...
- java 基于口令加密算法,Java安全编程:基于口令加密(PBE)
安全 PBE 在之前的文章中曾讲到过DES加密算法,类似这种加密算法都有一个密钥,密钥的长度决定了加密的安全性,但是这种密钥比较难记忆,是需要存储的. PBE算法是一种基于口令的加密算法,它并不是构建 ...
- oracle中文加密算法,Oracle 加密package解密(unwrap)
最近碰到一个问题,需要解密几个使用oracle wrap加密过的程序包,查了下,已经有很多可用的程序,支持10g,11g,连12c都支持.查找过程中,花了点时间研究了下解密的过程,简单记录一下. 1. ...
- oracle缺省口令,更改口令加密的缺省算法(任务)
更改口令加密的缺省算法(任务) 缺省情况下,使用 crypt_sha256 算法对用户口令进行加密.可以通过更改缺省口令加密算法来使用不同的加密算法. 如何指定口令加密的算法 在此过程中,BSD-Li ...
- oracle密码文件认证,Oracle OS认证与口令文件认证详解
特殊权限与Oracle登陆认证管理 在开始学Oracle的时候有件事一直让我感觉很奇怪,就是为什么在数据没有起来的时候只要登录到安装Oracle的操作系统中直接用sqlplus / as sysdba ...
最新文章
- zabbix web前端取值同后端取值不一致
- 《Redis入门指南(第2版)》一3.2 字符串类型
- [SIGMOD 10] Pregel 基于BSP的大规模图处理系统 学习总结
- Java对象排序、中文排序、SortedSet排序使用和源码讲解
- 快收下这份“数据库运作实践”秘制口诀
- Flutter进阶—质感设计之弹出菜单
- HDU2100 Lovekey【大数+进制】
- 简单介绍一下vue2.0
- PHP 扩展 Mongo 与 MongoDB
- 数据仓库与数据挖掘的OLAP技术----韩家炜教授的《数据挖掘概念与技术》学习笔记
- webpack 基础学习
- win10计算机还原点如何创建,win10系统如何建立自动还原点?
- Python练习实战股票网页数据
- 全面认识痛风:症状、风险因素、发病机理及管理
- IL汇编语言介绍(译)
- 沙漠 草原 湖泊 羊群 骆驼(2)
- 产品创新案例分析|大疆如何从初创到无人机帝国的进阶之路
- 哪款蓝牙耳机的音质好?盘点四款高颜值蓝牙耳机
- Android 自定义字体样式 及系统默认字体样式 的设置
- 通俗易懂超有爱的并查集~~~
热门文章
- 报表选型除了看开发难易,还要看运维省不省心
- 玩转大数据可视化,推荐几个必学的工具
- 小程序 php wecahtpay,PHP 微信公众号,小程序获取支付参数。微信支付
- nginx 集群部署_Nginx Ingress on TKE 部署最佳实践
- 机器学习入门笔记(一):模型性能评价与选择
- Python的内置函数的学习笔记
- STL中的next_permutation
- 【Qt串口调试助手】1.4 - 16进制接收/发送
- 【Qt教程】1.1 - Qt5.12.9 安装
- 使用NodeJS连接到MySQL数据库Client does not support authentication protocol requested by server; consider upg