
数据库系统的安全除依赖自身内部的安全机制外,还与外部网络环境、应用环境、从业人员素质等因素息息相关,因此,从广义上讲,数据库系统的安全框架可以划分为三个层次:
⑴ 网络系统层次;
⑵ 宿主 *** 作系统层次;
⑶ 数据库管理系统层次。
这三个层次构筑成数据库系统的安全体系,与数据安全的关系是逐步紧密的,防范的重要性也逐层加强,从外到内、由表及里保证数据的安全。下面就安全框架的三个层次展开论述。
2 网络系统层次安全技术
从广义上讲,数据库的安全首先倚赖于网络系统。随着Internet的发展普及,越来越多的公司将其核心业务向互联网转移,各种基于网络的数据库应用系统如雨后春笋般涌现出来,面向网络用户提供各种信息服务。可以说网络系统是数据库应用的外部环境和基础,数据库系统要发挥其强大作用离不开网络系统的支持,数据库系统的用户(如异地用户、分布式用户)也要通过网络才能访问数据库的数据。网络系统的安全是数据库安全的第一道屏障,外部入侵首先就是从入侵网络系统开始的。网络入侵试图破坏信息系统的完整性、机密性或可信任的任何网络活动的集合,具有以下特点:
a)没有地域和时间的限制,跨越国界的攻击就如同在现场一样方便;
b)通过网络的攻击往往混杂在大量正常的网络活动之中,隐蔽性强;
c)入侵手段更加隐蔽和复杂。
计算机网络系统开放式环境面临的威胁主要有以下几种类型:a)欺骗(Masquerade);b)重发(Replay);c)报文修改(Modification of message);d)拒绝服务(Deny of service);e)陷阱门(Trapdoor);f)特洛伊木马(Trojan horse);g)攻击如透纳攻击(Tunneling Attack)、应用软件攻击等。这些安全威胁是无时、无处不在的,因此必须采取有效的措施来保障系统的安全。
从技术角度讲,网络系统层次的安全防范技术有很多种,大致可以分为防火墙、入侵检测、协作式入侵检测技术等。
⑴防火墙。防火墙是应用最广的一种防范技术。作为系统的第一道防线,其主要作用是监控可信任网络和不可信任网络之间的访问通道,可在内部与外部网络之间形成一道防护屏障,拦截来自外部的非法访问并阻止内部信息的外泄,但它无法阻拦来自网络内部的非法 *** 作。它根据事先设定的规则来确定是否拦截信息流的进出,但无法动态识别或自适应地调整规则,因而其智能化程度很有限。防火墙技术主要有三种:数据包过滤器(packet filter)、代理(proxy)和状态分析(stateful inspection)。现代防火墙产品通常混合使用这几种技术。
⑵入侵检测。入侵检测(IDS-- Instrusion Detection System)是近年来发展起来的一种防范技术,综合采用了统计技术、规则方法、网络通信技术、人工智能、密码学、推理等技术和方法,其作用是监控网络和计算机系统是否出现被入侵或滥用的征兆。1987年,Derothy Denning首次提出了一种检测入侵的思想,经过不断发展和完善,作为监控和识别攻击的标准解决方案,IDS系统已经成为安全防御系统的重要组成部分。
入侵检测采用的分析技术可分为三大类:签名、统计和数据完整性分析法。
①签名分析法。主要用来监测对系统的已知弱点进行攻击的行为。人们从攻击模式中归纳出它的签名,编写到IDS系统的代码里。签名分析实际上是一种模板匹配 *** 作。
②统计分析法。以统计学为理论基础,以系统正常使用情况下观察到的动作模式为依据来判别某个动作是否偏离了正常轨道。
③数据完整性分析法。以密码学为理论基础,可以查证文件或者对象是否被别人修改过。
IDS的种类包括基于网络和基于主机的入侵监测系统、基于特征的和基于非正常的入侵监测系统、实时和非实时的入侵监测系统等。
⑶协作式入侵监测技术
独立的入侵监测系统不能够对广泛发生的各种入侵活动都做出有效的监测和反应,为了弥补独立运作的不足,人们提出了协作式入侵监测系统的想法。在协作式入侵监测系统中,IDS基于一种统一的规范,入侵监测组件之间自动地交换信息,并且通过信息的交换得到了对入侵的有效监测,可以应用于不同的网络环境。
3 宿主 *** 作系统层次安全技术
*** 作系统是大型数据库系统的运行平台,为数据库系统提供一定程度的安全保护。目前 *** 作系统平台大多数集中在Windows NT 和Unix,安全级别通常为C1、C2级。主要安全技术有 *** 作系统安全策略、安全管理策略、数据安全等方面。
*** 作系统安全策略用于配置本地计算机的安全设置,包括密码策略、账户锁定策略、审核策略、IP安全策略、用户权利指派、加密数据的恢复代理以及其它安全选项[7]。具体可以体现在用户账户、口令、访问权限、审计等方面。
用户账户:用户访问系统的"身份z",只有合法用户才有账户。
口令:用户的口令为用户访问系统提供一道验证。
访问权限:规定用户的权限。
审计:对用户的行为进行跟踪和记录,便于系统管理员分析系统的访问情况以及事后的追查使用。
安全管理策略是指网络管理员对系统实施安全管理所采取的方法及策略。针对不同的 *** 作系统、网络环境需要采取的安全管理策略一般也不尽相同,其核心是保证服务器的安全和分配好各类用户的权限。
数据安全主要体现在以下几个方面:数据加密技术、数据备份、数据存储的安全性、数据传输的安全性等。可以采用的技术很多,主要有Kerberos认证、IPSec、SSL、TLS、***(PPTP、L2TP)等技术。
4 数据库管理系统层次安全技术
数据库系统的安全性很大程度上依赖于数据库管理系统。如果数据库管理系统安全机制非常强大,则数据库系统的安全性能就较好。目前市场上流行的是关系式数据库管理系统,其安全性功能很弱,这就导致数据库系统的安全性存在一定的威胁。
由于数据库系统在 *** 作系统下都是以文件形式进行管理的,因此入侵者可以直接利用 *** 作系统的漏洞窃取数据库文件,或者直接利用OS工具来非法伪造、篡改数据库文件内容。这种隐患一般数据库用户难以察觉,分析和堵塞这种漏洞被认为是B2级的安全技术措施。
数据库管理系统层次安全技术主要是用来解决这一问题,即当前面两个层次已经被突破的情况下仍能保障数据库数据的安全,这就要求数据库管理系统必须有一套强有力的安全机制。解决这一问题的有效方法之一是数据库管理系统对数据库文件进行加密处理,使得即使数据不幸泄露或者丢失,也难以被人破译和阅读。
我们可以考虑在三个不同层次实现对数据库数据的加密,这三个层次分别是OS层、DBMS内核层和DBMS外层。
⑴在OS层加密。在OS层无法辨认数据库文件中的数据关系,从而无法产生合理的密钥,对密钥合理的管理和使用也很难。所以,对大型数据库来说,在OS层对数据库文件进行加密很难实现。
⑵在DBMS内核层实现加密。这种加密是指数据在物理存取之前完成加/脱密工作。这种加密方式的优点是加密功能强,并且加密功能几乎不会影响DBMS的功能,可以实现加密功能与数据库管理系统之间的无缝耦合。其缺点是加密运算在服务器端进行,加重了服务器的负载,而且DBMS和加密器之间的接口需要DBMS开发商的支持。
定义加密要求工具
DBMS
数据库应用系统
加密器
(软件或硬件)
⑶在DBMS外层实现加密。比较实际的做法是将数据库加密系统做成DBMS的一个外层工具,根据加密要求自动完成对数据库数据的加/脱密处理:
定义加密要求工具加密器
(软件或硬件)
DBMS
数据库应用系统
采用这种加密方式进行加密,加/脱密运算可在客户端进行,它的优点是不会加重数据库服务器的负载并且可以实现网上传输的加密,缺点是加密功能会受到一些限制,与数据库管理系统之间的耦合性稍差。
下面我们进一步解释在DBMS外层实现加密功能的原理:
数据库加密系统分成两个功能独立的主要部件:一个是加密字典管理程序,另一个是数据库加/脱密引擎。数据库加密系统将用户对数据库信息具体的加密要求以及基础信息保存在加密字典中,通过调用数据加/脱密引擎实现对数据库表的加密、脱密及数据转换等功能。数据库信息的加/脱密处理是在后台完成的,对数据库服务器是透明的。
加密字典管理程序
加密系统
应用程序
数据库加脱密引擎
数据库服务器
加密字典
用户数据
按以上方式实现的数据库加密系统具有很多优点:首先,系统对数据库的最终用户是完全透明的,管理员可以根据需要进行明文和密文的转换工作;其次,加密系统完全独立于数据库应用系统,无须改动数据库应用系统就能实现数据加密功能;第三,加解密处理在客户端进行,不会影响数据库服务器的效率。
数据库加/脱密引擎是数据库加密系统的核心部件,它位于应用程序与数据库服务器之间,负责在后台完成数据库信息的加/脱密处理,对应用开发人员和 *** 作人员来说是透明的。数据加/脱密引擎没有 *** 作界面,在需要时由 *** 作系统自动加载并驻留在内存中,通过内部接口与加密字典管理程序和用户应用程序通讯。数据库加/脱密引擎由三大模块组成:加/脱密处理模块、用户接口模块和数据库接口模块,如图4所示。其中,"数据库接口模块"的主要工作是接受用户的 *** 作请求,并传递给"加/脱密处理模块",此外还要代替"加/脱密处理模块"去访问数据库服务器,并完成外部接口参数与加/脱密引擎内部数据结构之间的转换。"加/脱密处理模块"完成数据库加/脱密引擎的初始化、内部专用命令的处理、加密字典信息的检索、加密字典缓冲区的管理、SQL命令的加密变换、查询结果的脱密处理以及加脱密算法实现等功能,另外还包括一些公用的辅助函数。
数据加/脱密处理的主要流程如下:
1) 对SQL命令进行语法分析,如果语法正确,转下一步;如不正确,则转6),直接将SQL命令交数据库服务器处理。
2) 是否为数据库加/脱密引擎的内部控制命令?如果是,则处理内部控制命令,然后转7);如果不是则转下一步。
3) 检查数据库加/脱密引擎是否处于关闭状态或SQL命令是否只需要编译?如果是则转6),否则转下一步。
4) 检索加密字典,根据加密定义对SQL命令进行加脱密语义分析。
5) SQL命令是否需要加密处理?如果是,则将SQL命令进行加密变换,替换原SQL命令,然后转下一步;否则直接转下一步。
6) 将SQL命令转送数据库服务器处理。
7) SQL命令执行完毕,清除SQL命令缓冲区。
以上以一个例子说明了在DBMS外层实现加密功能的原理。
当然都可以了。
DBMS的主要功能:
1、数据库的定义功能,提供DDl定义数据库的三级结构、两级映像,定义数据的完整性约束、保密限制约束等。
2、数据库的 *** 纵功能,检索和更新
3、数据库的保护功能
a数据库的恢复
b数据库的并发控制
c数据的完整性控制
d数据的安全性控制
4、数据库的维护功能,数据载入、转换、转储,数据库的改组以及性能监控等功能。
5、数据字典
这些SqlServer都可以
摘要 随着信息化、网络化水平的不断提升,数据信息越来越受到安全威胁,信息泄露、信息篡改等信息安全问题屡见不鲜,从个人隐私到企业的商业秘密,甚至到政府国家的核心机密,都出现了不同程度的信息安全问题。由于目前大部分重要数据都是通过数据库系统来存储的,因此,数据库安全保护尤其重要,如何保护数据库体统的安全,有效防范信息泄漏和篡改,成为一个重要的安全保障目标。本文研究了数据库系统具体的安全保护措施。
关键词 计算机;数据库系统;数据安全;保护措施
中图分类号 TP311 文献标识码 A 文章编号 1673-9671-(2012)071-0125-01
近年来,随着信息化、网络化水平的不断提升,数据信息越来越受到安全威胁,信息泄露、信息篡改等信息安全问题屡见不鲜,所有存在数据的地方,只要数据是有价值的,就存在风险,就有人会去想法子窃取、篡改、贩卖,从中牟利。从个人隐私到企业的商业秘密,甚至到政府国家的核心机密,都出现了不同程度的信息安全问题。由于目前大部分重要数据都是通过数据库系统来存储的,因此,数据库安全保护尤其重要,如何保护数据库,有效防范信息泄漏和篡改成为一个重要的安全保障目标。那么,如何才能更加有效地保护数据库安全,防范信息泄漏和篡改呢?
1 加强对数据库的访问控制
访问控制是允许或禁止访问资源的过程。基于角色的访问控制是一种数据库权限管理机制,它根据不同的职能岗位划分角色,资源访问权限被封装在角色中,而用户被赋予角色,通过角色来间接地访问资源。在给角色或用户授权时,必须遵循最小权限和特权分离的基本安全原则。明确数据库管理和使用职责分工,最小化数据库帐号使用权限,防止权利滥用。同时,要加强口令管理,使用高强度口令,删除系统默认帐号口令等。
2 建立严格的用户认证机制
数据库安全机制是用于实现数据库的各种安全策略的功能集合,正是由这些安全机制来实现安全模型,进而实现保护数据库系统安全的目标。口令认证方式是鉴别数据库系统用户身份最基本的方式。实施严格的账号和密码管理机制,是实现数据库系统安全的重点。
用户标识是指用户向系统出示自己的身份z明,最简单的方法是输入用户ID和密码。标识机制用于惟一标志进入系统的每个用户的身份,因此必须保证标识的惟一性。鉴别是指系统检查验证用户的身份z明,用于检验用户身份的合法性。标识和鉴别功能保证了只有合法的用户才能存取系统中的资源。由于数据库用户的安全等级是不同的,因此分配给他们的权限也是不一样的,数据库系统必须建立严格的用户认证机制。身份的标识和鉴别是DBMS对访问者授权的前提,并且通过审计机制使DBMS保留追究用户行为责任的能力。功能完善的标识与鉴别机制也是访问控制机制有效实施的基础,特别是在一个开放的多用户系统的网络环境中,识别与鉴别用户是构筑DBMS安全防线的第一个重要环节。
3 对重要数据信息进行加密
数据加密是保证数据库系统中数据保密性和完整性的有效手段。数据库系统的加密措施是指对数据库系统中的重要数据进行加密处理,确保只有当系统的合法用户访问有权限的数据时,系统才把相应的数据进行解密 *** 作,否则,数据库系统应当保持重要数据的加密状态,以防止非法用户利用窃取到的明文信息对系统进行攻击。要对数据库及其核心业务系统进行安全加固,保护在系统边界部署防火墙、IDS/IPS、防病毒系统等,并及时地进行系统补丁检测,安全加固。
4 部署一套数据库审计系统
对数据库系统及其所在主机进行实时安全监控、事后 *** 作审计,部署一套数据库审计系统,这一点尤为重要,相当于数据库安全的最后一道防线。事实表明,现在的数据泄漏和篡改事件都是“内部人员”作案为主,他们有合法的帐号口令,他们完全可以把自己伪装成一个“合法”的内部人员,堂而皇之的窃取数据库信息,根本不用任何攻击手段,防火墙、IDS/IPS之类的传统安全系统根本发现不了。因此,对数据库系统的使用进行监控和审计,最关键的就在于对内部人员的违规和误 *** 作进行监控和审计。而这,正是数据库审计系统的特长。
针对重要的数据库及其业务系统,部署一套数据库审计系统,可以达到以下目标:1)数据 *** 作实时监控:对所有外部或者内部用户对数据库和主机的各种 *** 作行为、内容,进行实时监控。2)高危 *** 作即时阻断:对于高危 *** 作能够实时阻断,干扰攻击或者违规行为的执行。3)安全预警:对于入侵和违规行为进行及时预警和告警,并指导管理员进行应急响应处理。4)事后调查取证:对于所有行为能够进行事后查询、取证、调查分析,出具各种审计报表报告。5)责任认定、事态评估:系统能够记录和定位谁、在什么时候、通过什么方式对数据库进行了什么 *** 作,以及 *** 作的结果和可能的危害程度。
5 保护访问数据库的进出网络通道
虽然防病毒软件和防火墙提供了一定级别的安全防护,但并不能因此认为网络通信就是安全的。数据库监听器作为连接数据库服务端得网络进程,正经受着巨大的攻击风险。首要的任务,是对监听过程进行密码保护,而改变默认端口也是确保数据库监听器安全的一种好办法。通过配置数据库监听器,可以使其允许或不允许客户IP地址的访问。这也是保护数据库不受非预期用户访问的简单而有效的方法。
总之,数据库系统安全防范是一个永久性的问题,只有通过不断的改进和完善安全手段,才能提高数据库系统的可靠性,保证数据库系统的正常运行。
参考文献
[1]顾树华搭建高可用Oracle数据库系统[J]华南金融电脑,2005,11
[2]谭国律微机系统下应用软件中的数据安全[J]计算机应用,2001,11
[3]田丽丽"979"对国内数据库系统提出新要求[N]中国图书商报,2007
[4]单德华,杨红艳,孙鸿雁大型数据存储与管理系统设计与实现[J]制造业自动化,2010,02
[5]赵莉莉,王引斌浅谈数据库系统的发展[A]山西省科技情报学会2004年学术年会论文集[C]2005
以上就是关于如何保护数据库全部的内容,包括:如何保护数据库、sql server 2000 能实现那些DBMS的主要功能、数据库的安全性保护措施包括【数据库系统的保护措施研究】等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)