论文部分内容阅读
摘要: 组和安全性在操作系统下建立用户组是保证数据库安全性的一种有效方法。Oracle程序为安全性目的一般分为两类:一类所有的用户都可执行,另一类只有数据库管理员组DBA可执行。主要探讨基于Oracle数据库的网络安全访问机制。
关键词: Oracle数据库;网络安全;访问机制
在新的Oracle数据库中,初始时,一般都安装有20多个的默认模式(实际的数目可能略有不同,因为在数据库的创建过程中需要有选择地安装这些模式)。当利用Google对“默认Oracle用户(Default Oracle Users)”进行搜索时可以发现,其中的用户名、密码以及这些账号的权限都是公开的。这些账号经常用来存储元数据(metadata)以及用于专门的数据库选项的过程,例如文本选项(Text Option)以及空间选项(Spatial Option)[1]。因此,其中的很多账号都拥有相当重要的权限,它们的密码也可能是众所周知的,有可能就列举在Oracle的产品文档中,也有可能就发布在Internet上。
1 Oracle数据库的基本常识
1)Oracle所包含的组件。Oracle数据库是指整个Oracle RDBMS环境,它包括以下组件:① Oracle数据库进程和缓冲(实例)。② SYSTEM表空间包含一个集中系统类目,它可以由一个或多个数据文件构成。③ 其他由数据库管理员(DBA)(可选)定义的表空间,每个都由一个或多个数据文件构成。④ 两个以上的联机恢复日志。⑤ 归档恢复日志(可选)。⑥ 其他文件(控制文件、Init.ora、Config.ora等)。每个Oracle数据库都在一个中央系统类目和数据字典上运行,它位于SYSTEM表空间[1]。
2)关于“日志”。Oracle数据库使用几种结构来保护数据:数据库后备、日志、回滚段和控制文件。下面将大体上了解一下作为主要结构之一的“日志”。每一个Oracle数据库实例都提供日志,记录数据库中所作的全部修改。① 在工具栏中单击按钮 ,或者从菜单中选择“View”/“Workspace”项,这时会弹出工作区窗口(Workspace窗口)。在工作区窗口中,能看到该程序所使用的资源,且每种资源都有一个资源符号,主窗体也使用了一个资源符号IDD_PBMS_DIALOG,这是VC缺省提供的。可以在这里添加或者删除各种资源。② 在工作区窗口(Workspace窗口)右键单击“PBMS resources”选项,在弹出菜单中选择“Insert...”选项,将弹出“Insert Resource”对话框。在该对话框中选择“Menu”选项,然后单击“New”按钮。
2 Oracle数据库网络安全访问机制
2.1 保护默认的用户账号
随着计算机的普及以及网络的发展,数据库已经不再仅仅是那些程序员所专有的话题。Oracle数据库更是凭借其性能卓越、操作方便灵活的特点,在数据库的市场中已经占据了一席之地。以下将基于Oracle数据库的网络安全访问机制。在数据库的安装过程中,可以使用数据库配置助手(Database Configuration Assistant,DBCA)选择需要安装哪些默认账号(可以直接在数据库选项中进行选择)。非常重要的一点是必须根据数据库的需要做出合适的决定,从而进行安装。安装那些不需要的账号会带来不必要的危险。必须牢记在心的是:商业应用服务,包括Oracle应用服务,都包含有若干众所周知的模式,而这些都是黑客们的机会和目标。这些账号需要被严加看守。虽然在各个应用程序中账号的数量和权限都各有不同,但确保这些账号的安全则是非常重要的,只有这样,才能把危险降到最低[2]。
AddStrings(pString)返回一个字符串的基于0的编号,该值用来连接字符串到按钮上,其中的字符串参数pString需要两个结束符来表示结尾,必须将字符串写成如下形式:pString= "Only one string to add\0";CString类不能提供这样的功能,因为不可能在CString中保存超过一个结束符的字符串。所以,将CString中的字符串取出,以char定义的字符串保存,再对该字符串添加一个结束符,做法如下:
CString string;
string.LoadString(nIndex + IDSTR_TFDJ); //装载字符串资源
……
//取得字符串的长度为了添加一个结束符,给长度加1
int nStringLength = string.GetLength() + 1;
……
2.2 Oracle密码
Oracle在数据字典中存放用户密码。对于得到数据库认证的用户,其中所存放的实际上不是密码明文本身,而是密码校验(password verifiers)。密码校验是密码明文的哈希(hash)表示。其中存放的密码校验值以十六进制表示。数据库认证的过程则是计算用户为了通过认证所提供的密码明文的密码校验,并把计算结果与数据字典中存放的某一密码校验比较,如果相符合,则表示用户提供了相同的密码,从而可以通过认证。1)使用Oracle本地存储的密码验证密码。应用用户的认证是确保数据库应用安全非常重要的一步。2)检测弱密码或默认密码。密码在安全链中一般都属于脆弱的环节。一个没有经过很好选择的密码、或者说是众所周知而又一直没有变更过的密码对于数据库来说,是极其巨大的安全隐患之一。为了消除此隐患,可以把数据库中实际正被使用的密码校验与一系列已被大家所知的用户名和密码校验进行比较,其中已知的用户名和密码校验产生在帮助程序。3)管理并确保安全密码对于Oracle数据库来说,密码是最流行的认证方式。通过使用复杂的密码规则,Oracle提供了强调用户选择安全且强壮的密码功能;而通过利用密码规范,Oracle同时也提供了管理密码的良好方法[3]。
参考文献:
[1]温常君、王文杰,IDS中规则匹配动态调整法的分析与改进[J].计算机工程与科学,2006,03:120-123.
[2]张军、杨帆,数据挖掘技术在入侵检测系统中的应用现状及展望[J].河南农业大学学报,2006,04:98-100.
关键词: Oracle数据库;网络安全;访问机制
在新的Oracle数据库中,初始时,一般都安装有20多个的默认模式(实际的数目可能略有不同,因为在数据库的创建过程中需要有选择地安装这些模式)。当利用Google对“默认Oracle用户(Default Oracle Users)”进行搜索时可以发现,其中的用户名、密码以及这些账号的权限都是公开的。这些账号经常用来存储元数据(metadata)以及用于专门的数据库选项的过程,例如文本选项(Text Option)以及空间选项(Spatial Option)[1]。因此,其中的很多账号都拥有相当重要的权限,它们的密码也可能是众所周知的,有可能就列举在Oracle的产品文档中,也有可能就发布在Internet上。
1 Oracle数据库的基本常识
1)Oracle所包含的组件。Oracle数据库是指整个Oracle RDBMS环境,它包括以下组件:① Oracle数据库进程和缓冲(实例)。② SYSTEM表空间包含一个集中系统类目,它可以由一个或多个数据文件构成。③ 其他由数据库管理员(DBA)(可选)定义的表空间,每个都由一个或多个数据文件构成。④ 两个以上的联机恢复日志。⑤ 归档恢复日志(可选)。⑥ 其他文件(控制文件、Init.ora、Config.ora等)。每个Oracle数据库都在一个中央系统类目和数据字典上运行,它位于SYSTEM表空间[1]。
2)关于“日志”。Oracle数据库使用几种结构来保护数据:数据库后备、日志、回滚段和控制文件。下面将大体上了解一下作为主要结构之一的“日志”。每一个Oracle数据库实例都提供日志,记录数据库中所作的全部修改。① 在工具栏中单击按钮 ,或者从菜单中选择“View”/“Workspace”项,这时会弹出工作区窗口(Workspace窗口)。在工作区窗口中,能看到该程序所使用的资源,且每种资源都有一个资源符号,主窗体也使用了一个资源符号IDD_PBMS_DIALOG,这是VC缺省提供的。可以在这里添加或者删除各种资源。② 在工作区窗口(Workspace窗口)右键单击“PBMS resources”选项,在弹出菜单中选择“Insert...”选项,将弹出“Insert Resource”对话框。在该对话框中选择“Menu”选项,然后单击“New”按钮。
2 Oracle数据库网络安全访问机制
2.1 保护默认的用户账号
随着计算机的普及以及网络的发展,数据库已经不再仅仅是那些程序员所专有的话题。Oracle数据库更是凭借其性能卓越、操作方便灵活的特点,在数据库的市场中已经占据了一席之地。以下将基于Oracle数据库的网络安全访问机制。在数据库的安装过程中,可以使用数据库配置助手(Database Configuration Assistant,DBCA)选择需要安装哪些默认账号(可以直接在数据库选项中进行选择)。非常重要的一点是必须根据数据库的需要做出合适的决定,从而进行安装。安装那些不需要的账号会带来不必要的危险。必须牢记在心的是:商业应用服务,包括Oracle应用服务,都包含有若干众所周知的模式,而这些都是黑客们的机会和目标。这些账号需要被严加看守。虽然在各个应用程序中账号的数量和权限都各有不同,但确保这些账号的安全则是非常重要的,只有这样,才能把危险降到最低[2]。
AddStrings(pString)返回一个字符串的基于0的编号,该值用来连接字符串到按钮上,其中的字符串参数pString需要两个结束符来表示结尾,必须将字符串写成如下形式:pString= "Only one string to add\0";CString类不能提供这样的功能,因为不可能在CString中保存超过一个结束符的字符串。所以,将CString中的字符串取出,以char定义的字符串保存,再对该字符串添加一个结束符,做法如下:
CString string;
string.LoadString(nIndex + IDSTR_TFDJ); //装载字符串资源
……
//取得字符串的长度为了添加一个结束符,给长度加1
int nStringLength = string.GetLength() + 1;
……
2.2 Oracle密码
Oracle在数据字典中存放用户密码。对于得到数据库认证的用户,其中所存放的实际上不是密码明文本身,而是密码校验(password verifiers)。密码校验是密码明文的哈希(hash)表示。其中存放的密码校验值以十六进制表示。数据库认证的过程则是计算用户为了通过认证所提供的密码明文的密码校验,并把计算结果与数据字典中存放的某一密码校验比较,如果相符合,则表示用户提供了相同的密码,从而可以通过认证。1)使用Oracle本地存储的密码验证密码。应用用户的认证是确保数据库应用安全非常重要的一步。2)检测弱密码或默认密码。密码在安全链中一般都属于脆弱的环节。一个没有经过很好选择的密码、或者说是众所周知而又一直没有变更过的密码对于数据库来说,是极其巨大的安全隐患之一。为了消除此隐患,可以把数据库中实际正被使用的密码校验与一系列已被大家所知的用户名和密码校验进行比较,其中已知的用户名和密码校验产生在帮助程序。3)管理并确保安全密码对于Oracle数据库来说,密码是最流行的认证方式。通过使用复杂的密码规则,Oracle提供了强调用户选择安全且强壮的密码功能;而通过利用密码规范,Oracle同时也提供了管理密码的良好方法[3]。
参考文献:
[1]温常君、王文杰,IDS中规则匹配动态调整法的分析与改进[J].计算机工程与科学,2006,03:120-123.
[2]张军、杨帆,数据挖掘技术在入侵检测系统中的应用现状及展望[J].河南农业大学学报,2006,04:98-100.