您现在正在浏览:首页 > 职教文章 > 职教论文 > 浅谈数据库的网络信息安全

浅谈数据库的网络信息安全

日期: 2008-11-27 4:21:04 浏览: 151 来源: 学海网收集整理 作者: 车培珍

摘 要:数据库系统作为计算机信息系统的重要组成部分,数据库文件作为信息的聚集体,担负着存储和管理数据信息的任务,其安全性将是信息安全的重中之重。本文主要探讨了数据库系统面临的安全问题,并提出了一定的建议。
关键词:数据库安全管理
Database on the network information security
Author: ChePeizhen
Guide a teacher: ChenShixu
(HuaiHua Vocational and Technical College,HuNan HuaiHua, 418000)

Abstract: Database is the important component of computer information system, as the information together collective, the database document is bearing the mission of storing and managing the information’s data, so its security will be the most important of all. This paper have discussed mainly safe problem which facing to the Database, and have submitted some certain suggestions.
Keywords: Database security management

managing the information’s data, so its security will be the most important of all. This paper have discussed mainly safe problem which facing to the Database, and have submitted some certain suggestions.
Keywords: Database security management

1 前言
随着互联网的发展,网络环境下的数据库系统面临着黑客攻击、病毒感染等一系列威胁,如何保证数据的保密性、完整性、可靠性和可用性是个复杂问题.目前数据库管理系统所提供的安全保护措施虽然能够对其安全起一定的保护作用,如:访问控制机制、备份恢复策略、基于角色管理等,但仍然存在漏洞,如:sa帐号的空密码、固定IP访问端口等,黑客能够利用这些漏洞进行攻击,获取管理员权限进而控制整个数据库系统.现今数据库管理系统所采取的安全保护措施,通过分析其存在的不足,提出一种新的保护数据库的方法,并应用于网页监控与保护系统中.这是在数据库系统安全保护基础上进行二次开发应用的系统,利用数据库系统所提供的触发和审计功能,通过对审计信息进行自动分析,从而发现越权使用数据库的行为,达到自动监测、报警、恢复的保护功能.
2 数据库安全概述
2.1 数据库安全概述
数据库安全是指保护数据库以防止非法用户的越权使用、窃取、更改或破坏数据。数据库安全涉及到很多层面,必须在以下几个层面做好安全措施:
(1)物理层:重要的计算机系统必须在物理上受到保护,以防止入侵者强行进入或暗中潜入。
(2)人员层:数据库系统的建立、应用和维护等工作,一定要由政治思想上过硬的合法用户来管理。
(3)操作系统层:要进入数据库系统,首先要经过操作系统,如果操作系统的安全性差,数据库将面临着重大的威胁。
(4)网络层:由于几乎所有网络上的数据库系统都允许通过终端或网络进行远程访问,所以网络的安全和操作系统的安全一样重要,网络安全了,无疑对数据的安全提供了保障。
(5)数据库系统层:数据库系统应该有完善的访问控制机制,以防止非法用户的非法操作。为了保证数据库的安全,必须在以上所有层次上进行安全性控制。
2.2 数据库安全的目标
(1)提供数据共享,集中统一管理数据;
(2)简化应用程序对数据的访问,应用程序得以在更为逻辑的层次上访问数据:
(3)解决数据有效性问题,保证数据的逻辑一致性:
(4)保证数据独立性问题,降低程序对数据及数据结构的依赖:
(5)保证数据的安全性,在共享环境下保证数据所有者的利益。
以上仅是数据库的几个最重要的动机,发展变化的应用对数据库提出了更多的要求。为达到上述的目的,数据的集中存放和管理永远是必要的。其中的主要问题,除功能和性能方面的技术问题,最重要的问题就是数据的安全问题.如何既提供充分的服务同时又保证关键信息不被泄漏而损害信息属主的利益,是DBMS的主要任务之一。
3 数据库系统安全的主要风险
数据库系统在实际应用中存在来自各方面的安全风险,由安全风险最终引起安全问题,下面从四个方面讲述数据库系统的安全风险。
3.1. 来自操作系统的风险
来自操作系统的风险主要集中在病毒、后门、数据库系统和操作系统的关联性方面。首先在病毒方面,操作系统中可能存在的特洛伊木马程序对数据库系统构成极大的威胁,数据库管理员尤其需要注意木马程序带给系统入驻程序所带来的威胁。一个特洛伊木马程序修改了入驻程序的密码,并且当更新密码时,入侵者能得到新的密码。其次在操作系统的后门方面,许多数据库系统的特征参数尽管方便了数据库管理员,但也为数据库服务器主机操作系统留下了后门,这使得黑客可以通过后门访问数据库。最后数据库系统和操作系统之间带有很强的关联性.具有文件管理功能,能够利用存取控制矩阵,实现对各类文件包括数据库文件的授权进行读写和执行等,而且操作系统的监控程序能进行用户登录和口令鉴别的控制,因此数据库系统的安全性最终要靠操作系统和硬件设备所提供的环境,如果操作系统允许用户直接存取数据库文件,则在数据库系统中采取最可靠的安全措施也没有用。
3.2 来自管理的风险
用户安全意识薄弱,对信息网络安全重视不够,安全管理措施不落实,导致安全事件的发生,这些都是当前安全管理工作存在的主要问题。从已发生安全事件的原因中,占前两位的分别是“未修补软件安全漏洞”和“登录密码过于简单或未修改”,也表明了用户缺乏相关的安全防范意识和基本的安全防范常识。比如数据库系统可用的但并未正确使用的安全选项、危险的默认设置、给用户更多的不适当的权限,对系统配置的未经授权的改动等等。
3.3 来自用户的风险
用户的风险主要表现在用户帐号、作用和对特定数据库目标的操作许可。例如对表单和存储步骤的访问。因此必须对数据库系统做范围更广的彻底安全分析,找出所有可能领域内的潜在漏洞,包括与销售商提供的软件相关的风险软件的BUG、缺少操作系统补丁、脆弱的服务和选择不安全的默认配置等。另外对于密码长度不够、对重要数据的非法访问以及窃取数据库内容等恶意行动也潜在的存在,以上这些都表现为来自用户的风险。
3.4 来自数据库系统内部的风险
虽然绝大多数常用的关系数据库系统已经存在了十多年之久,并且具有强大的特性,产品非常成熟。但许多应该具有的特征,在操作系统和现在普遍使用的数据库系统中,并没有提供,特别是那些重要的安全特征,绝大多数关系数据库系统并不够成熟。
4 数据库安全技术研究
4.1.数据库加密
对于一些重要的机密的数据,例如一些金融数据、商业秘密、游戏网站玩家的虚拟财产,都必须存储在数据库中,需要防止对它们未授权的访问,哪怕是整个系统都被破坏了,加密还可以保护数据的安全。对数据库安全性的威胁有时候是来自于网络内部,一些内部用户可能非法获取用户名和密码,或利用其他方法越权使用数据库,甚至可以直接打开数据库文件来窃取或篡改信息。因此,有必要对数据库中存储的重要数据进行加密处理,以实现数据存储的安全保护。
数据加密就是将称为明文的敏感信息,通过算法和密钥,转换为一种难于直接辨认的密文。解密是加密的逆向过程,即将密文转换成可识别的明文。数据库密码系统要求把明文数据加密成密文,数据库存储密文,查询时将密文取出解密后得到明文。数据库加密系统能够有效地保证数据的安全,即使黑客窃取了关键数据,他仍然难以得到所需的信息。另外,数据库加密以后,不需要了解数据内容的系统管理员不能见到明文,大大提高了关键数据的安全性。
4.2.存取管理技术
存取管理技术主要包括用户认证技术和访问控制技术两方面。用户认证技术包括用户身份验证和用户身份识别技术。访问控制包括数据的浏览控制和修改控制。浏览控制是为了保护数据的保密性,而修改控制是为了保护数据的正确性和提高数据的可信性。在一个数据资源共享的环境中,访问控制就显得非常重要。
4.2.1用户认证技术
用户认证技术是系统提供的最外层安全保护措施。通过用户身份验证,可以阻止未授权用户的访问,而通过用户身份识别,可以防止用户的越权访问。
(1)用户身份验证
该方法由系统提供一定的方式让用户标识自己的身份。每次用户请求进入系统时,系统必须对用户身份的合法性进行鉴别认证。用户要登录系统时,必须向系统提供用户标识和鉴别信息,以供安全系统识别认证。目前,身份验证采用的最常用、最方便的方法是设置口令法。但近年来,一些更加有效的身份验证技术迅速发展起来,如智能卡技术、物理特征(指纹、虹膜等)认证技术等具有高强度的身份验证技术日益成熟,并取得了不少应用成果,为将来达到更高的安全强度要求打下了坚实的理论基础。
(2)用户身份识别
用户身份识别以数据库授权为基础,只有经过数据库授权和验证的用户才是合法的用户。数据库授权技术包括授权用户表、用户授权表、系统的读出/写入规则和自动查询修改技术。
4.2.2访问控制
访问控制是从计算机系统的处理功能方面对数据提供保护,是数据库系统内部对已经进入系统的用户的访问控制,是安全数据保护的前沿屏障。它是数据库安全系统中的核心技术,也是最有效的安全手段,限制了访问者和执行程序可以进行的操作,这样通过访问控制就可防止安全漏洞隐患。DBMS中对数据库的访问控制是建立在操作系统和网络的安全机制基础之上的。只有被识别被授权的用户才有对数据库中的数据进行输入、删除、修改和查询等权限。通常采用下面两种方法进行访问控制:
(1)按功能模块对用户授权
每个功能模块对不同用户设置不同权限,如无权进入本模块、仅可查询、可更新可查询、全部功能可使用等,而且功能模块名、用户名与权限编码可保存在同一数据库。
(2)将数据库系统权限赋予用户
通常为了提高数据库的信息安全访问,用户在进行正常的访问前服务器往往都需要认证用户的身份、确认用户是否被授权。为了加强身份认证和访问控制,适应对大规模用户和海量数据资源的管理,通常DBMS主要使用的是基于角色的访问控制RBAC(Rolebasedaccesscontrol)。
4.3.备份与恢复
数据备份与恢复是实现数据库系统安全运行的重要技术。数据库系统总免不了发生系统故障,一旦系统发生故障,重要数据总免不了遭到损坏。为防止重要数据的丢失或损坏,数据库管理员应及早做好数据库备份,这样当系统发生故障时,管理员就能利用已有的数据备份,把数据库恢复到原来的状态,以便保持数据的完整性和一致性。一般来说,数据库备份常用的备份方法有:静态备份(关闭数据库时将其备份)、动态备份(数据库运行时将其备份)和逻辑备份(利用软件技术实现原始数据库内容的镜像)等;而数据库恢复则可以通过磁盘镜像、数据库备份文件和数据库在线日志三种方式来完成。
4.4.建立安全的审计机制
审计就是对指定用户在数据库中的操作进行监控和记录的一种数据库功能。这里主要以Oracle数据库为例,Oracle数据库没有为审计数据提供独立的导出、备份和恢复机制,用户每导出和删除1条审计记录都需要自己来书写程序,并且审计记录所需要的存储空间也是Oracle数据库所提供。如果审计数据是保存在操作系统中的文件中,那么审计记录的保护完全依赖于操作系统的安全性和对文件的加密措施。显然,现有的数据库管理系统的审计保护功能存在不足,应从以下2方面改进:建立单独的审计系统和审计员,审计数据需要存放在单独的审计文件中,而不像Oracle那样存在数据库中,只有审计员才能访问这些审计数据。可以把用户大致分为审计员、数据库用户、系统安全员3类,这三者相互牵制,各司其职。分别在3个地方进行审计控制。为了保证数据库系统的安全审计功能,还需要考虑到系统能够对安全侵害事件做出自动响应,提供审计自动报警功能。当系统检测到有危害到系统安全的事件发生并达到预定的阈值时,要给出报警信息,同时还会自动断开用户的连接,终止服务器端的相应线程,并阻止该用户再次登录系统。
5 开发环境的安全技术分析
5.1 数据库访问技术
一般的数据库开发工具如 Delphi 5 都提供了一些数据库对象组件,它们封装了 BDE 的功能。这样,开发数据库应用程序就不必知道 BDE 的功能。其次,还提供了数据感知组件可以与数据访问组件彼此通信,这样,建立数据库应用程序的界面就变得简单。 SQL Links 为连接 Oracle 、 Sybase 、 Informix 、 Microsoft SQL Server 、 DB2 和 InterBase 提供了专门的驱动程序,还可以通过 ODBC 连接其他数据库。
5.2 SQL 编程技术
SQL 是一组符合工业标准的数据库操作命令集,它可以在 Delphi 这样的编程环境中使用。 SQL 不是一门语言,无法得到一个专门的 SQL 软件,它只是服务器数据库的一部分。
作为一种查询语言,是网络环境下客户 / 服务器数据库应用程序开发的标准 [2] .Delphi 提供了支持 SQL 的有关组件。 SQL 具有一些查看数据的优势,而且只能使用 SQL 命令来获得。通过 SQL ,也可以灵活地查询所需要的数据,这种灵活性是面向记录的数据库操作所不具备的。
SQL 为控制服务器的数据提供了下列功能:
数据定义:使用 SQL 可以定义数据库表的结构,包括表中字段的数据类型以及不同表的字段之间的参照关系。
数据检索:客户程序可以通过 SQL 向服务器请求它所需要的数据。 SQL 还允许客户定义要检索什么数据、如何检索,例如排序、选择字段等。
数据完整性: SQL 可以实现数据完整性约束,这些完整性约束可以定义为数据库表的一部分,也可以使这些规则以存储过程或其他数据库对象的形式从表中独立出来。
数据处理: SQL 允许客户程序更新、添加或删除服务器上的数据。这些操作可以由客户提交的 SQL 语句来完成,也可以由服务器上的存储过程来完成。
安全性:通过对不同的数据库对象定义访问权限、视图以及受限制的访问, SQL 可以保护数据的安全。
并发访问: SQL 支持对数据的并发访问,多个用户可以同时使用系统而不互相干扰。
简而言之, SQL 是开发和操作客户 / 服务器数据的重要工具。
5.3多层分布式应用技术
MIDAS (Multitude Distributed Application Services Suite) 即多层分布式应用程序服务器,它提供了一整套中间层应用服务,扩展了操作系统标准,这些服务用于解决各种具体的分布式计算问题,从用于网络定位的目录服务到数据库集成和业务规则处理。
在多层的数据库应用程序中,客户程序、应用程序服务器和远程数据库服务器分布在不同的机器上 。其中,客户程序主要是提供用户界面,他能够向应用程序服务器请求数据和申请更新数据。再由应用程序服务器向远程数据库服务器请求数据和申请更新数据,多层数据库应用程序的体系结构。
5.4 WEB 访问技术
随着 WEB 技术的发展, WEB 与数据库的互连技术也日益发展。主要有: CGI , WebAPI , ODBC , JAVA/JDBC 技术, ASP 技术, PHP 技术等。使用 Delphi 的 WebBroker 技术可以轻松地建立 Web 服务器扩展来提供自定义的、动态的 HTML(Hypertext Markup Language) 网页,并能够访问各种数据源 。这使得开发 Internet/intranet 应用程序非常容易。 Delphi 提供了开发 Web 应用程序的工具。 Delphi 生成的 Web 应用程序都有一个 TWebModule 类,它实际上起到派发器( Dispatcher )的作用。当 Web 应用程序接收到来自 Web 服务器的 HTTP 请求后,将创建一个 TWebRequest 对象来封装 HTTP 请求信息。另外,还要创建一个 TWebResponse 对象,它封装了响应信息。然后, Web 应用程序把这两个对象传递给 TWebModule 对象。 TWebModule 对象控制了 Web 应用程序的内部流程。
6 结论
随着计算机科学技术的发展与普及,特别是计算机在国民经济各重要部门的广泛应用 ,计算机安全已是当前信息社会非常关注的突出问题,而数据库系统,担负着存储和管理上述数据信息的任务。通过这次论文的研究使我明白了网络数据库安全的重要意义,在今后的生活与工作中我将更好的使用数据库知识来存储所用资料。

返回顶部