[转]著名安全专家Litchfield对Oracle开火

著名的数据库安全专家 Litchfield为自己赋予的使命就是告诉全世界数据库软件并不安全——特别是Oracle的数据库。Litchfield曾经公开批评Oracle,甚至要求Oracle首席安全官Mary Ann Davidson下台。

Litchfield认为,长期以来,Oracle及其用户在安全领域里一直象鸵鸟一样把头插在沙子中。 Oracle采用了错误的方式来解决安全问题。

英国下一代安全软件的合作创办人Litchfield正在进行一场圣战。今年一月,他出版了一本Oracle黑客手册。手册的封面上说为读者提供了完整的访问和防护Oracle系统的方法。

在批判Oracle的同时,Litchfield却对微软极力推崇。他曾经公开声称微软最新的数据库软件SQL Server 2005是安全的。这种声明一定严重的伤害到了微软的主要竞争对手Oracle。Oracle已经眼看着一大块数据库市场划归了华盛顿Redmond的软件巨人。

在上周召开的Black Hat DC大会上,Litchfield讨论到了一种新的袭击技术使Oracle数据软件的漏洞问题更加严重。他向ZDNet澳洲的姐妹网站CNET News.com解释了揭露漏洞的必要性。

问:为什么您对数据库安全如此关注?还有其他那么多软件。 Litchfield: 数据库安全对于任何组织机构来说就象是王冠上的珠宝。这个星球上的每家机构都有数据库,而这组织机构存在的活力之源。没有什么比从源头进行把握更有效的安全措施。我们能够在周边进行安全工作,但是如果软件本身带有SQL injection这样的漏洞,那么安全措施就前功尽弃了。

我与Oracle的关系已经有所缓和。

尽管有防火墙,尽管网络服务器已经被锁定,但是网络应用中的SQL injection缺陷就能让我们一路畅通的进入数据库服务器的后端。如果这个数据库没有采用最低权限,或者没有完全打好补丁,那么我们就能对数据库进行充分的访问并攫取全部数据。

数据库必须是安全的。问题是在最近以前,没有人真正的处理过数据库服务器的后端。也就是说过去人们采取的都不过是外围安全措施。

最近您对Oracle的数据库相当关注。是有什么特别的原因让您对Oracle倾注更多吗? Litchfield:是的。SQL Server 2005是安全的。因为微软解决了问题。Oracle正在解决问题。对于IBM,我研究过DB2和Informix,并为他们指出了从缓存溢出到权限增加等大约50个bug,IBM安全部门的反应是成熟的。

最近,Oracle安全部门的反应就没那么成熟。他们气势汹汹的,与“这个家伙在让我们的产品更安全”的想法完全相反。不过他们的态度现在有所好转。Oracle正在开始理解我和他们站在同一条战线上,只是彼此的看法不同。

当Oracle这样的厂家态度强硬时,您就会变得更加强硬? Litchfield:是的。很遗憾我正是这样行事的。但是如果你不得不保护自己,那么就保护自己吧。我更愿意去工作,就象我对微软和IBM那样,与他们的安全响应团队一起工作。我们与微软和IBM拥有良好的关系。有什么比良好的关系好的成事方法呢?我可不想站在浑水中互相指责。

我与Oracle的关系有所缓解,他们理解这并不是一场意志上的对决。我努力使他们了解他们数据库所存在的问题,因为这些问题对我造成了直接的对影响。如果有人闯入数据库服务器然后窃取了我的信息,付出代价的是我,而不是Oracle

有人可能会认为这有点象敲诈。 Litchfield:我可从来没有向Oracle索要过财物。如果人们这么想,那么他们得到的信息可能有误。

 

 

那么微软也没有雇用你来说SQL Server 2005是安全的? Litchfield:我说微软的产品是安全的但是没有从微软那里得到什么报酬,如果任何人在SQL Server 2005中找到bug,那个人最好是我。如果别人找到什么bug,它会破坏我将来判断产品是否安全的能力。因此,如果在SQL Server 2005中的确存在bug,我希望是我首先发现。我很期待。

 

 

微软过去和现在是否是NGS软件的客户? Litchfield:NGS的确在微软工作,但我们并不是受雇来说他们是安全的——我们被雇来使他们的产品更安全。对于微软和NGS来说,现在以及将来的独立性都很重要。否则我们工作的正确性以及微软为使产品更安全所进行的努力就会遭到怀疑。这就是NGS 依然在为微软的产品提出安全建议的原因。

 

 

我听说您曾经担任SQL Server 2005的安全审计工作,是这样吗? Litchfield:我不能说具体的说到我们所做的项目。这样,如果有人对SQL Server是否比Oracle安全的问题存在疑问,他所要做的就是想想包括那么多顶级研究人员在内的很多人都曾经研究过两个产品,寻找过安全漏洞。而SQL Server已经很长时间没有被发现问题了。我再重复一遍,如果有人在SQL . . . → Read More: [转]著名安全专家Litchfield对Oracle开火

历数几款第三方的Oracle数据库安全及漏洞扫描软件

NGSSQuirreL-for-Oracle_5

虽然oracle公司自有一套丰富的数据库产品线, 包括 oracle advanced security, VDP , Database vault , lable security , Database FireWall 等等。

但我们还是有必要关注一些第三方的 安全工具, 这些安全工具的主要用途 包括: 漏洞扫描,风险评估,安全建议,审计等。

 

Secure Oracle Auditor - Secure Bytes 的产品 图形化的集中式审计工具, 可以自定义审计策略; 并分析数据库风险, 产品主页: http://www.secure-bytes.com/soa.php

软件截图:

 

 

Oracle Database Encryption Wizard For Oracle – Relational Database Consultants, Inc (RDC)的产品 主要功能是 数据加密, 支持 AES256 . . . → Read More: 历数几款第三方的Oracle数据库安全及漏洞扫描软件

Script:找出ASM中的Spfile参数文件

以下脚本可以用于找出ASM存储中的Spfile参数文件,因为使用asmcmd去查找很不方便,而spfile丢失又是很头大的事情, 所以有一个脚本代劳可以省不少功夫呢!

 

 

— listspfiles.sql — Purpose: Sample script to list spfiles kept in ASM instance — Usage: This should be run against an ASM instance, — not a database instance. — — cut here –%<—-%<—-%<—-%<—-%<—-%<– –list all spfiles set lines 120 col full_path for a110 SELECT full_path, dir, sys FROM (SELECT CONCAT(‘+’||gname,SYS_CONNECT_BY_PATH(aname,’/')) full_path, . . . → Read More: Script:找出ASM中的Spfile参数文件

Oracle Internal Event:10235 Heap Checking诊断事件

10235 (check memory manager internal structures) event内部诊断事件,当oracle SGA内存堆heap 管理操作发生错误时会触发该检测事件(For the sga heap, the internal error is signaled only when heap checking (event 10235) is enabled),其级别列表如下:

 

[oracle@nas ~]$ oerr ora 10235 10235, 00000, “check memory manager internal structures” // *Cause: // *Action: List of Levels for Event 10235 Level 1: Check heap before heap is . . . → Read More: Oracle Internal Event:10235 Heap Checking诊断事件

如何诊断ASMLIB故障

虽然我并不推荐你使用ASMLIB绑定设备名, 详见这篇文章《Why ASMLIB and why not?》 。 但大概因为介绍ASMLIB的文章远多于UDEV的缘故, 导致有大量对RAC安装配置不太熟悉的朋友仍执意采用ASMLIB,又因为ASMLIB的配置不算太简单所以在实际安装RAC之前的ASMLIB实施过程中有不少人遇到了问题, 其次在ASMLIB的使用过程中麻烦也不少。

这里总结了一下ASMLIB的诊断思路, 如下脚本:

 

cat /etc/sysconfig/oracleasm 1) uname -a 2) rpm -qa | grep ^oracleasm 3) rpm -V oracleasmlib 4) multipath -ll 1) output of command line # rpm -V oracleasm-support # /etc/init.d/oracleasm scandisks # /etc/init.d/oracleasm listdisks # ls -l -R /dev/oracleasm/ # ls -l /etc/sysconfig/oracleasm . . . → Read More: 如何诊断ASMLIB故障

如何诊断ORA-125XX连接问题

ORA-12560

以下这个Action Script是我收集的在解决ORA-125XX(如ORA-12560)这类网络链接故障时的一些思路,主要包括 现有的网络配置(client & server side)、监听日志、SQLNET Client trace等信息– How to troubleshooting ORA-125** connection issues:

 

 

# CHECK FIREWALL, WINDOWS FIREWALL , ANTI-Virus Software First ! ping hostname tnsping TNS trcroute TNS telnet <hostname> <port>

tracert hostname

client side sqlplus scott/tiger@TNS

& server side sqlplus scott/tiger@TNS

cat /etc/hosts cat /etc/resolv.conf cat /etc/nsswitch.conf ipconfig . . . → Read More: 如何诊断ORA-125XX连接问题

Oracle为何会发生归档日志archivelog大小远小于联机重做日志online redo log size的情况?

《rac不到redo大小就切换是什么原因?》

 

这个帖子详细讨论了RAC或单机环境中归档日志没到online redolog size 大小就马上切换问题的成因, 主要是由于oracle内部算法所决定的, 一般不会造成实例 性能或可用性问题, 唯一的困扰可能是 生成了较多的小归档日志。

 

Know more about RBA redo block address

A “Redo Block Address” (RBA) describes a physical location within a redo log file. An RBA consists of the following:

Log sequence number Block number within log file Byte offset within block

The structure of the redo block address is given below : 1 – The number of the redo log. [4 bytes]

2 – . . . → Read More: Know more about RBA redo block address