论文部分内容阅读
摘要:服务器漏洞是安全问题的起源。只有了解可能存在或潜在的安全问题,才能采取相应的防护对策,保证Oracle数据库的安全性。本文讨论了基于Oracle数据库下服务器可能出现的一些安全问题,并提出了相应的安全防护对策。
关键词:oracle数据库;服务器;安全问题;防护对策
中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)06-00ppp-0c
Server Safe Problem of Database Oracle
ZHAO Qing-yuan
(Jiangmen Public Security Science Academy Institute,Jiangmen 529000,China)
Abstract:The server loophole is the origins of safe problem. Only understanding possible existence or latent and safe problems,then we can adopt the homologous protection counterplan, and assurance safety of the Oracle database.The paper discussed some safe problems that the server may appear under Oracle database,and put forward safe protection counterplan.
Key words:database of oracle;server;safe problem;protection counterplan
1 引言
随着计算机网络应用的普及和提高,Oracle数据库应用在各个领域日新月异,它性能优异,操作灵活方便,是目前数据库系统中受到广泛青睐的几家之一。Oracle数据库使用了多种手段来保证数据库的安全性,如密码,角色,权限等等。然而,随着应用的深入,数据信息的不断增加,由于计算机软、硬件故障,导致数据库系统不能正常运转,仍造成大量数据信息丢失,甚至使数据库系统崩溃。因此,数据库的安全性问题已提到了一个十分重要的议事日程上,是数据库管理员日常工作中十分关注的一个问题,也一直是围绕着数据库管理员的噩梦,数据库数据的丢失以及数据库被非法用户的侵入使得数据库管理员身心疲惫不堪。对于数据库数据的安全问题,数据库管理员可以参考有关系统双机热备份功能以及数据库的备份和恢复的资料。影响数据库的安全也有很多方面,包括组和安全性、Oracle服务器、SQL*DBA命令的安全性、数据库文件的安全性、网络安全性等。而服务器漏洞是安全问题的起源,黑客对网站的攻击也大多是从查找对方的漏洞开始的。因服务器的安全漏洞问题,而易导致其中数据的丢失、权限被非法取得。所以只有了解自身的漏洞,网站管理人员才能采取相应的对策,阻止外来的攻击,保证Oracle数据库的安全性。本文就此讨论基于Oracle数据库下服务器可能出现的一些安全问题,并提出了相应的解决措施,希望对数据库管理员有所帮助。
2 基于oracle数据库下服务器的安全问题
基于oracle数据库下服务器具有以下特征:用户帐号及密码、校验系统、优先级模型和控制数据库目标的特别许可、内置式命令(存储的步骤或包)、唯一的脚本和编程语言、middleware、网络协议、补丁和服务包、强有力的数据库管理实用程序和开发工具。许多管理人员都忙于管理复杂的系统,所以很可能没有检查出严重的安全隐患和不当的配置,甚至根本没有进行检测。所以,正是由于传统的安全体系在很大程度上忽略了数据库服务器安全这一主题,使数据库专业人员也通常没有把安全问题当作他们的首要任务。
2.1 Oracle 服务器本身存在的多个漏洞。Oracle Application Server存在多个安全漏洞,包括资料溢写、不安全的预设定、无法执行存取控制以及无法验证输入。这些漏洞造成的影响包括可被执行任意指令或程序代码、拒绝服务,及未经授权的资料存取。Oracle Application Server 内含以 Apache HTTP Server 为基础的 web server;在 web server 内加入数个不同的组件来提供接口给数据库应用程序。这些组件包含有Procedural Language/Sturctured Query Language(PL/SQL)模块, Java Server Pages,XSQL Servlets, 及 Simple Object Access Protocol(SOAP) applications 等等。
2.2 由于网络服务和操作系统的漏洞,而导致服务器上的应用程序出现安全问题。由于oracle数据库系统具有多种特征和性能配置方式,在使用时可能会误用,或危及数据的保密性、有效性和完整性。首先,所有现代关系型数据库系统都是“可从端口寻址的”,这意味着任何人只要有合适的查询工具,就都可与数据库直接相连,并能躲开操作系统的安全机制。多数数据库系统还有众所周知的默认帐号和密码,可支持对数据库资源的各级访问。从这两个简单的数据相结合,很多重要的数据库系统很可能受到威协。拙劣的数据库安全保障设施不仅会危及数据库的安全,还会影响到服务器的操作系统和其它信用系统。具体反映在以下几方面:(1)用户帐户、作用和对特定数据库目标的操作许可等方面数据库安全系统对服务器影响的的潜在漏洞。例如,对表单和存储步骤的访问;(2)与销售商提供的软件相关的风险:软件的BUG、缺少操作系统补丁、脆弱的服务和选择不安全的默认配置;(3)与管理有关的风险:可用的但并未正确使用的安全选项、危险的默认设置、给用户更多的不适当的权限,对系统配置的未经授权的改动;(4)与用户活动有关的风险:密码长度不够、对重要数据的非法访问以及窃取数据库内容等恶意行动。
2.3 数据库系统自身可能会提供危及整个网络体系的机制。例如,某个公司可能会用数据库服务器保存所有的技术手册、文档和白皮书的库存清单。数据库里的这些信息并不是特别重要的,所以它的安全优先级别不高。即使运行在安全状况良好的操作系统中,入侵者也可通过“扩展入驻程序”等强有力的内置数据库特征,利用对数据库的访问,获取对本地操作系统的访问权限。这些程序可以发出管理员级的命令,访问基本的操作系统及其全部的资源。如果这个特定的数据库系统与其它服务器有信用关系,那么入侵者就会危及整个网络域的安全。
2.4 在重要数据库服务器中,还存在着多种数据库服务器的漏洞和错误配置。(1)安全特征不够成熟。操作系统所应具备的特性,但在数据库服务器的标准安全设施中并未出现。由于这些数据库都可进行端口寻址的,操作系统的核心安全机制并未应用到与网络直接联接的数据库中。由于系统管理员的帐号是不能重命名的,如果没有密码封锁可用或已配置完毕,入侵者就可以对数据库服务器发动强大字典式登录进攻,最终能破解密码;(2)数据库密码管理方面的问题。在数据库系统提供的安全标准中,没有任何机制能够保证某个用户正在选择有力的或任意的密码。Oracle数据库系统具有十个以上地特定地默认用户帐号和密码,此外还有用于管理重要数据库操作的唯一密码。如果安全出现了问题,这些系统的许多密码都可让入侵者对数据库进行完全访问;(3)操作系统的后门:数据库系统的特征参数尽管方便了管理人没,但也为数据库服务器主机操作系统留下了后门。Oracle数据库系统具有很多有用的特征,可用于对操作系统自带文件系统的直接访问。例如在合法访问时,UTL_FILE软件包允许用户向主机操作系统进行读写文件的操作。UTL_FILE_DIR简档变量很容易配置错误,或被故意设置为允许Oracle用户用UTL_FILE软件包在文件系统的任何地方进行写入操作,这样也对主机操作系统构成了潜在的威胁。
以上各类存在或潜在的安全隐患都可能发生在网络设备、操作系统或数据库自身当中。对Oracle数据库服务器进行安全保护时,都应将这些因素考虑在内。
3 基于Oracle数据库下服务器的安全防护对策
3.1 针对Oracle 服务器本身存在的多个漏洞,及时完善更新补强程序,安装相应的补丁。Oracle Security Alerts:http://otn.oracle.com/deploy/security/alerts.htm;MetaLink (registration required):http://metalink.oracle.com。
3.2 积极有效并全面地保障数据库服务器上的网络和操作系统数据安全。以下是保护Oracle服务器不被非法用户使用的几条建议:(1)确保$ORACLE_HOME/bin目录下的所有程序的拥有权归Oracle软件拥有者所有;(2)给所有用户实用便程(sqiplus,sqiforms,exp,imp等)711权限,使服务器上所有的用户都可访问Oracle服务器; (3)给所有的DBA实用例程700权限。(4)Oracle服务器和Unix组当访问本地的服务器时,可以通过在操作系统下把Oracle服务器的角色映射到Unix的组的方式来使用Unix管理服务器的安全性,这种方法适应于本地访问。在Unix中指定Oracle服务器角色的格式如下: ora_sid_role[_dla]。其中sid是Oracle数据库的oracle_sid;role 是Oracle服务器中角色的名字;d (可选)表示这个角色是缺省值;a (可选)表示这个角色带有WITH ADMIN选项;只可以把这个角色授予其他角色,不能是其他用户。⑤为了使这些数据库角色起作用,必须shutdown数据库系统,设置Oracle数据库参数文件initORACLE_SID.ora中os_roles参数为True,然后重新启动数据库。如果想让这些角色有connectinternal权限,运行orapwd为这些角色设置密码。当尝试connect internal时,键入的密码表示了角色所对应的权限。
3.3 全面构筑数据库系统安全体系。数据库系统的安全除依赖自身内部的安全机制外,还与外部网络环境、应用环境、从业人员素质等因素息息相关。数据库系统的安全体系可以划分为三个层次:网络系统层次;宿主操作系统层次;数据库管理系统层次。数据库系统安全体系的这三个层次是相辅相承的,与数据安全的关系是逐步紧密的,防范的重要性也逐层加强,从外到内、由表及里保证体系安全。
3.4 对管理员、系统密码和帐号基本等基本的安全问题需要细心的监督。此外还需要对全部密码列表进行管理和安全检查。注意密码管理问题决不仅限于Oracle数据库,几乎所有主要数据库提供商的产品都有这种问题。
4 结束语
总之,以上是对Oracle数据库服务器安全问题及其安全保护对策的一些初步探讨。其实,关键的问题还是在于网络管理员对网络安全意识的建立和实施。因为多数网络安全事件的发生,都是因为网络管理员安全意识的缺乏和防范措施实施的不到位。同时在部署系统时,积极注意数据库的安全问题,对数据库服务器做出最彻底的评估,并进行常规的安全评估。所有系统都应该采用信息风险管理原则,以进行监督、检测,对安全漏洞做出响应。
参考文献:
[1]袁福庆.Oracle数据库管理与维护手册[M].北京:人民邮电出版社,2006,(05):72-99.
[2]刘文涛.网络安全开发包详解[M].北京:电子工业出版社,2005.
[3]王群.非常网管-网络安全[M].北京:人民邮电出版社,2007.
收稿日期:2008-01-07
作者简介:赵清源(1974-),男,广东台山人,工程师,1997年7月毕业于广东省五邑大学计算机应用专业,本科,现从事计算机及其周边设备的实用技术研究工作。
关键词:oracle数据库;服务器;安全问题;防护对策
中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)06-00ppp-0c
Server Safe Problem of Database Oracle
ZHAO Qing-yuan
(Jiangmen Public Security Science Academy Institute,Jiangmen 529000,China)
Abstract:The server loophole is the origins of safe problem. Only understanding possible existence or latent and safe problems,then we can adopt the homologous protection counterplan, and assurance safety of the Oracle database.The paper discussed some safe problems that the server may appear under Oracle database,and put forward safe protection counterplan.
Key words:database of oracle;server;safe problem;protection counterplan
1 引言
随着计算机网络应用的普及和提高,Oracle数据库应用在各个领域日新月异,它性能优异,操作灵活方便,是目前数据库系统中受到广泛青睐的几家之一。Oracle数据库使用了多种手段来保证数据库的安全性,如密码,角色,权限等等。然而,随着应用的深入,数据信息的不断增加,由于计算机软、硬件故障,导致数据库系统不能正常运转,仍造成大量数据信息丢失,甚至使数据库系统崩溃。因此,数据库的安全性问题已提到了一个十分重要的议事日程上,是数据库管理员日常工作中十分关注的一个问题,也一直是围绕着数据库管理员的噩梦,数据库数据的丢失以及数据库被非法用户的侵入使得数据库管理员身心疲惫不堪。对于数据库数据的安全问题,数据库管理员可以参考有关系统双机热备份功能以及数据库的备份和恢复的资料。影响数据库的安全也有很多方面,包括组和安全性、Oracle服务器、SQL*DBA命令的安全性、数据库文件的安全性、网络安全性等。而服务器漏洞是安全问题的起源,黑客对网站的攻击也大多是从查找对方的漏洞开始的。因服务器的安全漏洞问题,而易导致其中数据的丢失、权限被非法取得。所以只有了解自身的漏洞,网站管理人员才能采取相应的对策,阻止外来的攻击,保证Oracle数据库的安全性。本文就此讨论基于Oracle数据库下服务器可能出现的一些安全问题,并提出了相应的解决措施,希望对数据库管理员有所帮助。
2 基于oracle数据库下服务器的安全问题
基于oracle数据库下服务器具有以下特征:用户帐号及密码、校验系统、优先级模型和控制数据库目标的特别许可、内置式命令(存储的步骤或包)、唯一的脚本和编程语言、middleware、网络协议、补丁和服务包、强有力的数据库管理实用程序和开发工具。许多管理人员都忙于管理复杂的系统,所以很可能没有检查出严重的安全隐患和不当的配置,甚至根本没有进行检测。所以,正是由于传统的安全体系在很大程度上忽略了数据库服务器安全这一主题,使数据库专业人员也通常没有把安全问题当作他们的首要任务。
2.1 Oracle 服务器本身存在的多个漏洞。Oracle Application Server存在多个安全漏洞,包括资料溢写、不安全的预设定、无法执行存取控制以及无法验证输入。这些漏洞造成的影响包括可被执行任意指令或程序代码、拒绝服务,及未经授权的资料存取。Oracle Application Server 内含以 Apache HTTP Server 为基础的 web server;在 web server 内加入数个不同的组件来提供接口给数据库应用程序。这些组件包含有Procedural Language/Sturctured Query Language(PL/SQL)模块, Java Server Pages,XSQL Servlets, 及 Simple Object Access Protocol(SOAP) applications 等等。
2.2 由于网络服务和操作系统的漏洞,而导致服务器上的应用程序出现安全问题。由于oracle数据库系统具有多种特征和性能配置方式,在使用时可能会误用,或危及数据的保密性、有效性和完整性。首先,所有现代关系型数据库系统都是“可从端口寻址的”,这意味着任何人只要有合适的查询工具,就都可与数据库直接相连,并能躲开操作系统的安全机制。多数数据库系统还有众所周知的默认帐号和密码,可支持对数据库资源的各级访问。从这两个简单的数据相结合,很多重要的数据库系统很可能受到威协。拙劣的数据库安全保障设施不仅会危及数据库的安全,还会影响到服务器的操作系统和其它信用系统。具体反映在以下几方面:(1)用户帐户、作用和对特定数据库目标的操作许可等方面数据库安全系统对服务器影响的的潜在漏洞。例如,对表单和存储步骤的访问;(2)与销售商提供的软件相关的风险:软件的BUG、缺少操作系统补丁、脆弱的服务和选择不安全的默认配置;(3)与管理有关的风险:可用的但并未正确使用的安全选项、危险的默认设置、给用户更多的不适当的权限,对系统配置的未经授权的改动;(4)与用户活动有关的风险:密码长度不够、对重要数据的非法访问以及窃取数据库内容等恶意行动。
2.3 数据库系统自身可能会提供危及整个网络体系的机制。例如,某个公司可能会用数据库服务器保存所有的技术手册、文档和白皮书的库存清单。数据库里的这些信息并不是特别重要的,所以它的安全优先级别不高。即使运行在安全状况良好的操作系统中,入侵者也可通过“扩展入驻程序”等强有力的内置数据库特征,利用对数据库的访问,获取对本地操作系统的访问权限。这些程序可以发出管理员级的命令,访问基本的操作系统及其全部的资源。如果这个特定的数据库系统与其它服务器有信用关系,那么入侵者就会危及整个网络域的安全。
2.4 在重要数据库服务器中,还存在着多种数据库服务器的漏洞和错误配置。(1)安全特征不够成熟。操作系统所应具备的特性,但在数据库服务器的标准安全设施中并未出现。由于这些数据库都可进行端口寻址的,操作系统的核心安全机制并未应用到与网络直接联接的数据库中。由于系统管理员的帐号是不能重命名的,如果没有密码封锁可用或已配置完毕,入侵者就可以对数据库服务器发动强大字典式登录进攻,最终能破解密码;(2)数据库密码管理方面的问题。在数据库系统提供的安全标准中,没有任何机制能够保证某个用户正在选择有力的或任意的密码。Oracle数据库系统具有十个以上地特定地默认用户帐号和密码,此外还有用于管理重要数据库操作的唯一密码。如果安全出现了问题,这些系统的许多密码都可让入侵者对数据库进行完全访问;(3)操作系统的后门:数据库系统的特征参数尽管方便了管理人没,但也为数据库服务器主机操作系统留下了后门。Oracle数据库系统具有很多有用的特征,可用于对操作系统自带文件系统的直接访问。例如在合法访问时,UTL_FILE软件包允许用户向主机操作系统进行读写文件的操作。UTL_FILE_DIR简档变量很容易配置错误,或被故意设置为允许Oracle用户用UTL_FILE软件包在文件系统的任何地方进行写入操作,这样也对主机操作系统构成了潜在的威胁。
以上各类存在或潜在的安全隐患都可能发生在网络设备、操作系统或数据库自身当中。对Oracle数据库服务器进行安全保护时,都应将这些因素考虑在内。
3 基于Oracle数据库下服务器的安全防护对策
3.1 针对Oracle 服务器本身存在的多个漏洞,及时完善更新补强程序,安装相应的补丁。Oracle Security Alerts:http://otn.oracle.com/deploy/security/alerts.htm;MetaLink (registration required):http://metalink.oracle.com。
3.2 积极有效并全面地保障数据库服务器上的网络和操作系统数据安全。以下是保护Oracle服务器不被非法用户使用的几条建议:(1)确保$ORACLE_HOME/bin目录下的所有程序的拥有权归Oracle软件拥有者所有;(2)给所有用户实用便程(sqiplus,sqiforms,exp,imp等)711权限,使服务器上所有的用户都可访问Oracle服务器; (3)给所有的DBA实用例程700权限。(4)Oracle服务器和Unix组当访问本地的服务器时,可以通过在操作系统下把Oracle服务器的角色映射到Unix的组的方式来使用Unix管理服务器的安全性,这种方法适应于本地访问。在Unix中指定Oracle服务器角色的格式如下: ora_sid_role[_dla]。其中sid是Oracle数据库的oracle_sid;role 是Oracle服务器中角色的名字;d (可选)表示这个角色是缺省值;a (可选)表示这个角色带有WITH ADMIN选项;只可以把这个角色授予其他角色,不能是其他用户。⑤为了使这些数据库角色起作用,必须shutdown数据库系统,设置Oracle数据库参数文件initORACLE_SID.ora中os_roles参数为True,然后重新启动数据库。如果想让这些角色有connectinternal权限,运行orapwd为这些角色设置密码。当尝试connect internal时,键入的密码表示了角色所对应的权限。
3.3 全面构筑数据库系统安全体系。数据库系统的安全除依赖自身内部的安全机制外,还与外部网络环境、应用环境、从业人员素质等因素息息相关。数据库系统的安全体系可以划分为三个层次:网络系统层次;宿主操作系统层次;数据库管理系统层次。数据库系统安全体系的这三个层次是相辅相承的,与数据安全的关系是逐步紧密的,防范的重要性也逐层加强,从外到内、由表及里保证体系安全。
3.4 对管理员、系统密码和帐号基本等基本的安全问题需要细心的监督。此外还需要对全部密码列表进行管理和安全检查。注意密码管理问题决不仅限于Oracle数据库,几乎所有主要数据库提供商的产品都有这种问题。
4 结束语
总之,以上是对Oracle数据库服务器安全问题及其安全保护对策的一些初步探讨。其实,关键的问题还是在于网络管理员对网络安全意识的建立和实施。因为多数网络安全事件的发生,都是因为网络管理员安全意识的缺乏和防范措施实施的不到位。同时在部署系统时,积极注意数据库的安全问题,对数据库服务器做出最彻底的评估,并进行常规的安全评估。所有系统都应该采用信息风险管理原则,以进行监督、检测,对安全漏洞做出响应。
参考文献:
[1]袁福庆.Oracle数据库管理与维护手册[M].北京:人民邮电出版社,2006,(05):72-99.
[2]刘文涛.网络安全开发包详解[M].北京:电子工业出版社,2005.
[3]王群.非常网管-网络安全[M].北京:人民邮电出版社,2007.
收稿日期:2008-01-07
作者简介:赵清源(1974-),男,广东台山人,工程师,1997年7月毕业于广东省五邑大学计算机应用专业,本科,现从事计算机及其周边设备的实用技术研究工作。