网络数据库安全体系结构的研究与探讨_第1页
网络数据库安全体系结构的研究与探讨_第2页
网络数据库安全体系结构的研究与探讨_第3页
网络数据库安全体系结构的研究与探讨_第4页
网络数据库安全体系结构的研究与探讨_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、网络数据库安全体系结构的研究与探讨摘要:网络和数据库的发展促进网络数据库的发展,但其安全问题一直影响着人们对它的运用。 从而引出了对网络数据库安全体系结构的研究。本文对网络数据库安全机制和现在流行的网络数 据库系统sql server的安全问题进行了详细的分析与研究。安全机制内容十分广泛,按体系结 构和软件层次,提出安全机制分层模型,并对每层具体安全策略进行了阐述。从而使庞大的系统安 全结构概念清晰。同时对具体工程,依据系统需求,可提髙工作的针对性和目的性。通过对sql server的安全模式、安全控制机制、数据库的备份与恢复的讨论,将可以有针对性的防御不安全 问题的产生。关键字:网络数据库;

2、体系结构;安全策略;安全机制;sql server;一、引言在人类即将进入二十一世纪的时候,信息在经济和社会的发展中起着越來越大的作用。以信 息设备制造业、信息传输业和信息服务业为三大组成部分的信息产业迅速发展,信息资源开发利 用水平已成为一个国家综合国力的重要标志之一。信息产业中信息传输业和信息服务业就是以网络技术和数据库技术为基础的,人们把信息设 施比做“路”和“车”,把信息资源比做“贷”是十分形象和确切的。信息系统中,“路”就是由 各种类型的网络构成,“贷”则來自网络上大大小小数据库中的数据。数据库技术的发展和网络技术的发展相互渗透、相互促进,已成为当今计算机领域内发展迅 速、应用广泛的

3、两大领域。随着网络数据库技术的广泛应用,计算机系统的安全问题越来越引起人们的高度重视,网络 数据库的安全性问题已经成为大型的网络信息系统建设的一个十分重要的问题。所以人们也越发 关注它的安全问题。二背景随着计算机技术、通信技术和网络技术的飞速发展,信息系统渗透到社会的各个领域,特別 是在电子商务、电子政务等领域运用的更加广泛。作为其核心和基础的数据库技术也得到了越来 越广泛的发展和应用,数据库的建设规模、信息量的大小和使用频度已成为衡量一个国家信息化 程度的重要标志。20世纪90年代以来internet 0普及,web成为最流行、最大的网络系统, 并以惊人的速度继续发展。web技术和数据库技术

4、的结合,产生了网络数据库这一新兴的数据库 应用领域。但是数据库和网络的安全问题一直彫响着人们对网络数据库的正常运用,所以有必要 对网络数据库安全问题进行认真的研究和探讨。让人们更好的运用网络数据库。三、网络数据库系统的概述由于现今地域上分散的公司、企业、组织迫切需要远程共享和交换信息,加之网络技术和数 据库技术的不断发展,自然而然提出了使用网络数据库系统的要求。数据库技术与计算机网络及数字通信技术的结合,促进网络数据库系统得到迅猛的发展。与 集中式数据库系统不同,网络数据库系统把采集、存储、检索数据的功能分散到计算机网络上的 多个节点,从任一个节点可以访问另一个节点上的数据库。(一)数据库技术

5、概述1. 数据库技术的发展数据库技术是在20世纪60年代屮期发展起来的,当时主要用于商用数据处理。第一代数据 库系统是指层次和网络数据库系统。第二代数据库系统是指关系数据库系统。20世纪80年代以 来,人工智能、计算机网络并行计算、多媒体、面向对象的程序设计方法的迅速发展,新的计算 机坏境对数据库系统给出了新的支持,而新的应用对数据库系统提出來新的要求,因而在传统的 层次数据库、网状数据库、关系数据库的基础上产生了多种新型数据库系统。例如,数据库技术 与网络技术结合出现了网络数据库、分布式数据库等等。人们把正在发展的数据库系统作为新型 的第三代乃至第四代数据库系统。可以说,数据库技术是目前计算

6、机处理与存储数据的最有效、最成功的技术,数据库技术的 发展方兴未艾,新原理技术的不断出现,然而这些新型数据库系统大都建立在基本的数据库技术 的基础上。2. 数据库技术的基本概念 数据库(database, db)是按一定的结构和规则组织起来的相关数据的集合。是综合各 用户数据形成的数据集合,是存放数据的仓库。数据库屮的数据按一定的数据模型组织、描述和 存储,具有较小的冗余度,较高的数据独立性和易扩展性,可为各种用户共享。按数据模型分, 数据库可分为层次数据库、网络数据库、关系数据库和面向对象数据库等。 数据库管理系统(dbms)是用建立、使用和维护数据库的软件。它对数据库进行统一的 管理和控制

7、,以保证数据的安全性、完整性、多用户对数据的并发使用及发生故障后的数据库恢 复。数据库管理系统是位于用户和操作系统z间的软件系统,按其运行环境可分为桌面数据库管 理系统和企业级数据库管理系统。桌面数据库管理系统(desktop database system)以pc、微型机系统主要是在单机环境下 运行的数据库管理系统,无需网络操作系统的支持,如foxpro, access等,这类系统主要作为 支持一般事物处理需要的数据库环境,是为满足日常小型办公需要,强调使用方便性和操作的简 便性。由于桌面型数据库侧重在可操作性、易开发和简单管理等方面,所以提供的是较弱的数据 库管理和较强的前端开发工具,开发

8、工具与数据库集成为一体,既是数据库管理工具,同时又是 数据库应用开发的前端开发工具。企业级数据库管理系统(enterprise database system)这类数据库系统也叫做人型数据库 或网络数据库,需要网络操作系统的支持,强调系统在理论上和实践上的完备性,具有更巨大的 数据存储和管理能力。这类系统的数据库管理工具、前端开发工具和后台数据库是可以分离的, 通常所说的网络数据库管理系统指的是管理工具和后台数据库的总和。 数据库系统(database system, dbs)是指存储、管理、处理和维护数据的计算机系统。 数据库管理系统在计算机操作系统的支持下对保存与外部设备上的、由物理数据文

9、件所组成的数 据库进行有效的管理、维护和使用。在数据库管理系统之上通常需要有数据库应用系统开发工具 软件,应用程序员使用它,或者直接使用由dbms所提供的数据库语言或开发环境编制程序建立 数据库应用系统。数据库应用系统通常提供可视化操作界面供终端用户使用,进行日常数据处理 工作。他由计算机的硬件、数据库、dbms、数据库开发工具、数据库应用软件和数据库管理员组 成。数据库系统的构成如图1所示。'、硬件/图1数据库系统的构成3. 数据库技术的特点 数据结构化; 数据独立性高; 共享想高,冗余度低; dbms的集中管理; 方便用户的接口。(二)网络数据库系统定义1. 网络数据库概念 网络:

10、就是用通讯设备和线路,将处在不同地方和空间位置、操作相对独立的多个计算机 连接起来,再配置一定的系统和应用软件,在原本独立的汁算机之间实现软破件资源共享和信息 传递,那么这个系统就成为计算机网络了。 数据+资源共享这两种技术结合在一起即成为在今天广泛应用的网络数据库(也叫web数 据库) 网络数据库定义:以后台数据库为基础的,加上一定的前台程序,通过浏览器完成数据存 储、查询等操作的系统。这个概念看上去很抽象,我们可以把它说得通俗一点:简单的说,一个网络数据库就是用户 利用浏览器作为输入接口,输入所需要的数据,浏览器将这些数据传送给网站,而网站再对这些 数据进行处理,例如,将数据存入数据库,或

11、者对数据库进行查询操作等,最后网站将操作结果 传回给浏览器,通过浏览器将结果告知用户。2 网络数据库系统的定义网络数据库系统是指在计算机网络环境下运行的数据库系统,它的数据库分散配置在网络节 点上,将数据库系统的事务分开进行处理,为网络用户提供远程数据访问服务,实现了网络的分 布式计算。在网络数据库系统中,不管采用什么样的计算模式结构,数据库都是驻留在后台服务器上。 系统通过网络通信,为前端用户提供数据库服务。3 网络数据库体系结构网络数据库的运行方式经历了三个阶段:集中式的网络数据库系统、基于客户机/服务器模式 的网络数据库系统和基于浏览器/服务器模式的网络数据库系统。其模式结构也对应有三种

12、. 集中式的网络数据库系统早期的网络数据库系统采用的是集中式的数据库体系结构,数据库管理系统、用户的数据和 应用程序都存储在一个主机上(通常是大型机)。用户仅能通过终端发出存取数据的请求。在该 体系结构下,工作站对主机中的数据库请求是以文件为单位的,即使一台工作站只需要共享文件 中的一个特定的记录,主机也耍将整个文件通过网络传到该工作站,运行在该工作站上的应用程 序再从读到本地的文件中找出所需要的记录,所以这种处理方式对工作站和主机的资源要求都比 较高,对网络的带宽占用较大,只适合应用与小型数据库。 基于客户机/服务器模式的网络数据库系统目前,数据库的应用己由集中式应用日益发展成分布式应用,运

13、行数据库的计算机系统也由 集中式系统过渡到客户/服务器系统。客户/服务器工作模式的产生使得数据库的数据处理和界 而操作分别在服务器和客户端进行:服务器进行数据处理,而客户和服务器z间只传送命令请求 和操作结果。这样不仅提高了数据处理的速度、扩大了数据库的服务范围,同时也减少了对网络 带宽的占用。在客户/服务器模式下,服务器的数据处理和客户端的界面生成都有完整、成熟的技术,所以如何实现客户端和数据库服务器的连接成为网络坏境下数据库开发的关键。客户机/服务器模式(client/server, c/s)体系结构,两层结构,是指由一个或者多个客户 机和一个或者多个服务器与底层的操作系统及通讯系统一起形

14、成的一个允许分布式计算、分析和 表示的复合系统。客户机/服务器两层结构模式如图2所示。c/s模式的优点是速度较快、功能完备,但是也存在着很大的局限性:第一,c/s模型的计算 能力过于分散,造成了系统的管理费用会随着服务器和客户机的增多呈几何级数的方式增长;第 二,c/s模式中的数据库信息的使用一般只限于局域网的范围内,无法利fflinterne啲网络资源; 第三,在c/s模式中,无论多小的企业都必须安装自己的服务器,而服务器和服务器软件的管理 和维护都是非常复杂的工作。所以随着internet和web技术的发展,一种基于浏览器/服务器模式 的数据库系统逐渐取代了基于c/s的数据库系统。用户用户

15、图2客户机/服务器两层结构模式 基于浏览器/服务器模式的网络数据库系统基于浏览器/服务器模式(browser/ server , b/s)的数据库系统也称基于web技术的数据 库系统,三层结构,它由一个用作用户界面的web浏览器、一个用于信息存储的数据库服务器和 一个连接浏览器和数据库服务器的web服务器组成,如图3所示。这是一种典型的“瘦客户机模 式",客户端几乎不需要专门设计的软件,极大地降低了开发和维护的费用,并使对信息的访问 不受地理位置的限制,企业的管理人员可以在网络的任何地方,使用任何能够运行浏览器的计算 机,就能获得存储在服务器上的信息。基于html的b/s结构是特殊的

16、,三层应用程序中客户端被描述为“瘦客户”,但html则为 提供了最“瘦”的形式:根本没有客户代码,只有表示逻辑(仅就html而言),这样它就可以用 于构造通用的客户端。每个web页面所下载的html代码都是描述性的,不含自己的处理逻辑, 它只含有web浏览器显示所要的信息。只有在包含表格(form)时才允许输入数据,并提交给基 于服务器的应用程序,换言之,它构造出的c/s应用程序用户接口非常基本,是根据用户的请求 动态下载的.基于html的web应用所带来的最大好处莫过于困扰c/s体系的软件分发问题在b/s结构下 不复存在了,因为所有处理都由服务器完成,用户界面由动态下载的web页面引导,用户

17、界面代 码、应用和数据代码就没有必要安装在客户端,只要有浏览器,而没有客户端特定的应用代码也 是html的主要弱点,这样客户机就像主机坏境中的哑终端一样,输入而后返冋输出,不能利用 客户机本身具有的计算能力。在c/s结构中,客户端的处理至少可以提高性能,改善用户界面, html的缺陷随之就有引入了 java javascript进行弥补。图3浏览器/服务器模式三层结构模式4. 常规的网络数据库的开发技术目前,有两种常规技术实现web数据库开发:一种是中间件技术,即在web服务器端提供中间 件来连接web服务器和数据库服务器,另一种是在客户端通过数据库驱动程序直接访问数据库。 基本的中间件技术c

18、gt程序可以与web浏览器进行交互,并可以通过数据库的调用接口与数据库服 网络数据库连接idc (internet database connector)是microsoft web服务器 information server)的一个动态连接库,它通过odbc接口访问各种数据库。动 (active server pgaes)是iis (internet information server 3. 0)提供的一通用网关接口cgt (common gateway interface): cgt是一个位于服务器和外部应用程序z 间的通信协议, 务器进行通信。iis (internet态服务页面asp

19、 种用来生成动态交互、高性能的web服务器应用程序的开发环境。 客户端通过数据库驱动程序如jdbc直接访问数据库java语言和数据库的接口jdbc (java database connecttivity)是支持基本sql功 能的一个通用低层的应用程序编程接口,它在不同的数据库功能模块的层次上提供了一个统一的 用八界面。这些api支持对数据库的连接和棊本的sql功能,包括建立数据库连接、执行sql语言、 处理返回结果等方面的功能规范。迄今为止,jdbc已得到业界广泛支持,许多厂漓如tbm、 borlanck sysbase、informix等公司都声明支持jdbc,其逐渐成为web服务器访问数

20、据库接口的 事实标准。5 网络数据库系统的特点网络数据库具有以下特点 复杂的数据库存取和复杂数据计算等任务由强大的服务器完成,客户端只需做一些简单 的浏览和显示操作。这将大大降低对客户端的要求,降低了投资和使用成本。 比较充分地利用用户的原有数据资源和应用程序。 良好的系统开放性。 系统的维护和再次升级很容易。 较高的运行效率。 易学易懂,用户使用方便。 安全性好。 拓宽了传统数据库应用的功能。6 当前流行的网络数据库系统和网络数据库产品目前常用的网络数据库系统是sql server 2000和oracle0 sql server 2000是一套完整的数 据库和数据分析解决方案,使用户可以快速

21、地创建下一代的可扩展电子商务和数据仓库解决方 案。oracle是一个大型的关系数据库系统,它支持大规模多用户的数据库应用,支持分布式数据 库和分布式处理,提供基于角色分工的安全保密管理、良好的系统完整性和丰富的开发工具,具 有较高的可靠性和完善的数据保护,是目前大型信息管理系统的首选商用数据库。目前,市面上主流的网络数据库以0racle9i为代表,另外还有ibm公司的db2系列、informix 系列、sybase公司的sybase系列等。!1!网络数据库的安全问题随着网络数据库技术的广泛应用,计算机系统的安全问题越来越引起人们的高度重视,网络 数据库的安全性问题己经成为大型的网络信息系统建设

22、的一个十分重要的问题。网络数据库是一 个开放环境下的信息仓库。无论在局域网还是广域网屮都存在自然和人为等诸多因素的潜在威 胁,出现一系列的安全问题。如今网络数据库已成为信息系统的重要组成部分,而相关安全机制的 研究也随着网络和数据库技术的发展而不断深化。数据库的安全性(database security)是指数据库屮为保护数据而具备的防御能力。它用以保护数据库以防止对数据未经授权的泄露、修改或对数据有意与无意的破坏。由丁网络数据库 是网络技术和数据库技术的结合,所以它的安全问题也是包括网络安全和数据库安全两方面。所 以目前网络数据库面临的两大安全问题:一类是数据库数据的安全问题。另一类是如何抗

23、击来自 本机或网络上的人为攻击,即确保系统被黑客攻击或非法入侵时,仍能保证数据库库存数据和通 信报文的保密性和可靠性。为了保证数据库中安全性和可靠性,网络数据库管理系统必须捉供统一的数据保护功能,设 法防止网络数据库遭到的各种破坏,同时还要考虑到受到不可避免的破坏后如何尽快恢复。(一)网络数据库安全隐患产生的原因客通过网络对数据库进行各种方式的攻击在开放的网络环境中,rti于网络协议、操作系统等多方面的安全漏洞,因此通过网络对数据 库进行各种方式的攻击成为网络数据库系统安全的主要隐患。黑客对网络对数据库系统主要采取 以下攻击方式: 窃听如图4所示。黑客在网络信道上窃听客户一数据库服务器或服务器

24、一服务器之间的报 文來窃取数据 重法攻击如图5所示。黑客把窃听到的报文又重发给客户或服务器,重发的报文或保持原 样或做了修改,以扰乱系统正常运行甚至修改数据库中数据。 假冒攻击如图6、7所示。黑客可以发送报文使客户或服务器通讯端口堵塞,然后再假冒 该客户或服务器扰乱网络数据库系统内其他站点的正常运行甚至非法访问数据。 越权攻击如图8所示。黑客本身是网络数据库系统的合法用户,但他利用访问控制方面的 安全漏洞越权访问非授权数据。 迂回攻击如图9所示。黑客利用网络协议、操作系统的安全漏洞绕过网络数据库系统直接 访问数据库文件。图4窃听图5重发攻击client .、hackerbsi1server 1

25、server2clienthackerddbs图6假冒server 1图7假冒client图8越权攻击图9迂回攻击2 数据库系统自身的安全漏洞 入侵者可以任意地执行系统指令,从而得到操作系统的管理权限。入侵者通过执行系统 指令可以得到系统的控制管理权限,进而直接威胁服务器操作系统的安全,其至让整个服务器和 局域网完全处于瘫痪状态,使其无法进行正常工作。 数据库所采取的安全检查措施级别远低于操作系统和网络安全检查措施的级别。 审核机制使用不当。 数据库应用系统通常同操作系统的最高管理员系统紧密相关,并且更难正确地配置和保 护。 软件风险。软件本身漏洞,未及时打上操作系统补丁,脆弱的服务和不安全的

26、默认配置 等。 管理风险。数据库的安全性与计算机的安全性是紧密相关的。计算机安全不仅涉及计算机系统本身的技 术问题、管理问题,还涉及法学、犯罪学、心理学的问题。(二)网络数据库安全问题的重要性网络数据库安全问题包括网络的安全性、数据的安全性和系统的安全性。网络数据库安全z 所以重要,主要有以下儿方面的原因:1.数据库是电子商务、金融以及erp系统的基础,通常都保存着重要的商业伙伴和客户信息。 安全将直接关系到系统的可靠性、数据事务完整性和保密性。所以,安全问题将直接同维护时间、 系统完整性和客户信任密切相关联。2少数数据库安全漏洞不仅威胁数据库的安全,也威胁到操作系统和其他可信任的系统安全。

27、这样入侵者就能够对整个域内的机器安全造成严重的威胁。这也是网络数据库安全为什么重要的 原因之一。(三)网络数据库安全机制分层结构模型b/ s模式和c/ s模式是两种典型的网络数据库模式。从前面对两种典型模式的介绍,可以看到网络数据库系统不仅结构复杂,其安全机制涉及内容范围也十分广泛。两种模式在结构上存 在很多共同点:均涉及到网络、系统软件和应用软件。为了使整个安全机制概念清晰,针对两种 模式的特点和共性,将对其安全管理按体系结构和软件层次分层进行研究分析,以下便是网络数 据库系统安全机制分层结构模型,如图10所示。在这个层次结构上,每一层都有自己的一-套机制, 完成自己的任务,实现一定的安全内

28、容。各层之间又相互联系,构成一套完整的安全策略。这样的分层使庞大的系统安全结构概念清晰。同时对具体工程,可依据具体需求,提高工作的针对性和 目的性。其中:安全机制i为网络安全机制安全机制ii为服务器操作系统 的安全机制安全机制皿为数据库管理系统 的安全机制安全机制iv为客户端应用程序 的安全机制图10网络数据库系统安全机制分层结构模型以下将对结构模型各层进行详细概述从上面的分层结构看,基于网络的数据库应用系统涉及计算机网络、数据库系统、应用程序 等多个方而。1.安全机制i :网络安全机制许多安全协议运行于tcp之上,为通信双方建立安全通道,使安全通道内的数据不被窃听、 篡改或假冒,实现通信的保

29、密性和可靠性。目前传输层主要有两个安全协议:ssl (secure sockets layer)和ssh(secure shell)。传输层安全协议一般采用双钥体制交换会话密钥,而对通信的大 量数据则采用单钥体制加密,从而达到较好的安全和性能价格比。应用层安全协议是在特定应用 中建立起来的安全防护措施,独立于任何通信网络。其安全措施如:pem( privacy enhanced mail) 是面向internet 的邮件安全标准shttp (secure hyper text transfer protoco 1)是专用于www服 务器与客户zl'可的安全传输协议。几种协议屮均涉及加密

30、技术、数字签名技术等常用安全技术。防火墙技术是一种访问控制技术,在内部网和外部网之间构造保护层,阻止对信息资源的非 法访问。目前广泛采用以应用层的代在网络安全方而,其主要安全威胁有身份窃取、数据窃取、 错误路由、数据流分析等。与之对应的一些关键技术包括:安全协议的分析研究、防火墙技术、 入侵检测技术、安全漏洞检测技术、病毒防护技术等。目前大部分网络基于tcp/ ip协议,安全协议的建立和完善是安全保密系统规范化、标准化 的基本因素。一个较为完善的安全系统,至少要实现加密机制、验证机制和保护机制。internet 中的安全协议分别针对网络层、传输层、应用层。网络层安全协议不过问高层协议数据包的内

31、容, 提供认证、保密性、完整性等服务。网络层安全协议!pv6«p定义了两个特殊的字段ip鉴别头部(ah) 和ip安全封装(esp)以实现ip层完全的安全保障。internet的传输层协议tcp提供面向连接的服 务。理技术为主,以网络层包过滤技术为辅的方式构建防火墙系统,通常具有以下三种结构形式: 双穴网关防火墙、屏蔽主机防火墙和屏蔽子网防火墙。入侵检测和漏洞检测技术是网络安全技术的重要组成部分。它们不但可以实现复杂的信息 系统安全管理,而且还可以从目标信息系统和网络资源中采集信息,分析来自网络外部的入侵信 号和网络系统中的漏洞,发出警告或实时对攻击作出反应。入侵检测技术分为基于网络的

32、入侵检测和基于主机的入位检测。基于网络的入侵检测使用原始的网络分组数据作为进行攻击分析的数据源。基于主机的入侵检测一般监视windowsnt上的系 统、事件、安全fi志以及unlx(linux)环境屮的syslog文件。将这两种方式很好地集成起来,联 合使用,提供集成化的攻击签名、检测、报告和事件关联功能,入侵检测功能将更为强大。漏洞检测技术一般采用两种策略:被动式策略和主动式策略。被动式策略是基于主机的检测, 主动式策略是基于网络的检测。漏洞检测的结果实际上就是系统安全性能的一个评估,它指出哪 些攻击是可能的,因此成为安全方案中一个重要部分。漏洞检测技术可分为下列五种:基于应用 的检测技术、

33、基于主机的检测技术、基于目标的检测技术、检验网络的检测技术、综合的技术。一个安全可靠的网络平台是网络数据库系统安全的基石。本层次的安全控制是十分关键,也 是比较复杂的。目前已有多种技术应对来自网络的安全威胁,同吋新的网络安全问题层出不穷。2. 安全机制ii :服务器操作系统的安全机制服务器操作系统是计算机中最重要的系统软件,控制和管理着计算机系统的所有硬软件资 源。它是数据库系统的最初关卡,对于身份不符的用户就无法进入木地系统。同时,通过对系统 中各项参数的设置来观测和调整本地网络系统的性能。从某种程度上而言,这部分安全机制也属 于网络安全机制的一部分(如在第一层的讨论屮,基于主机的漏洞检测和

34、入侵检测)。目前比较常 用的服务器系统是windows nt和unix (li mix)。两种系统各有优缺点,可通过具体的管理措施來 弥补其安全上的不足。而对于b/ s模式,它有着不同于c/ s结构的构筑在服务器操作系统之上的血b服务器层。该 层的访问控制问题与操作系统和网络安全机制紧密相连,也有其自身的特点。如何提高web服务 器安全,为网络数据库的安全访问提供一个可信的平台,其安全性问题是一个值得深入研究和探 讨的问题。3安全机制iii :数据库管理系统的安全机制目前流行商用的dbms(如oracle , sql server等)都符合tcsec和tdi的c类安全标准。对有 高保密环境要求

35、的,常采用的是增强dbms安全的方法,即采用国产的b类dbms或在c2级安全的dbms 基础上研制一个增强数据安全的应用服务器,从而达到b类dbms的需要。而在一般的应用环境屮, 通常都是利用数据库系统自身的各种安全机制來提高系统安全性。dbms本身的安全机制无疑是数据库系统安全机制的核心。总体而言,它应当分为dbms本身的 安全管理和数据库管理员可调整设置的安全管理方法。对于数据库管理系统本身的安全管理,用 户应了解其内容、形式一般不做改动,因为这属于软件产品内部的技术。对于管理用户而言,值得研究的是在数据库系统的开发和维护过程屮,对整个系统的安全机 制进行整体设计和各项系统设置。例如设计者

36、可通过触发器、视图等的设计,达到对数据库系统 中数据的保护。当然,其主要安全管理方案述是通过系统授权来限定数据库用户对其数据结构的 操作权:通过授予和冋收用户对数据库实体的存取权限来满足数据共享以及数据安全保密的要 求。同时制定可行的备份与恢复方案。4.安全机制iv:客户端应用程序的安全机制客户应用程序是网络数据库安全性的重要方面。它的特点是独立性强,而且实现较为方便, 尤其易于根据需求变化而作出相应更改。客户端应用程序可以控制用户的合法登录、身份验证等, 还可以直接设置数据。在dbms自身安全性控制较弱的情况下,从应用程序上加强控制,能很好的 保证应用系统的安全性。另外客户应用程序的编写具有

37、很大的灵活性,同吋也有很多技巧,可实 现用户端灵活安全有效的管理。基于com+组件应用程序实现的用户身份鉴定技术可大大提高应用 端的安全控制管理。对于一般的企业级应用系统,使用com+组件的安全平台是一种好的方案。(四)网络数据库的安全控制技术121根据网络数据库应用系统的特点,可以采用以下安全管理技术来构筑网络数据库的安全体系。l.web访问控制在某些情况下,ip地址并不能得到解析,因为客户机本地名字服务器配置可能不正确,这个 时候http服务器就伪造一个域名继续工作。因为服务器可能会伪造域名,可能会把信息发给其 他用户。这样电子客户就对服务器存在威胁,因此对服务器的安全性应特别小心,应加强

38、其访问 控制。2 用户身份认证用户身份认证可分为三个步骤:用户名的识别与验证、用户口令的识别与验证、用户账号的 省缺限制检查。3 授权控制比较常用的两种权限控制方式:目录安全访问控制和属性安全访问控制。4 监视跟踪日志系统具有综合性数据记录功能和自动分类检索能力。日志记录不仅用于事后监督,对日 志的分析还可以用于防御入侵,提高网络安全。为了解决用户躲避用户名和口令的验证,可采用 对页面用户基本信息的跟踪监视。5 安全审计安全审计作为一项安全技术,对信息系统的安全有着很重要的作用,它主要是确保可查性审 计。6 备份与故障恢复网络数据库中最宝贵的是数据信息,如果出现故障,系统将无法正常运行。因此,

39、备份与故 障的恢复是实现网络数据库系统安全运行的重要技术之一,是确保网络数据库系统因各种不测事 件受到破坏时,能尽快投入再使用的重要保证。网络数据库常用的两种备份方式:逻辑备份和物理备份。7 数据库加密数据加密技术是网络安全最有效的技术之一。常用的加密方法有链路加密、端点加密和节点 加密三种。8 反病毒技术在网络数据库系统中,病毒的破坏力也是影响安全性的重要因素。为了防止病毒对网络数据 库系统造成危害,可以采用以下的技术进行防范:预防和检测并杀毒。下而是一些具体的方法: 对服务器中的文件频繁的扫描和检测; 在工作站哂纳感采用防病毒芯片; 对网络目录和文件设置访问权限。(五)一种网络数据库系统s

40、ql server的安全策略sql server是微软公司开发的中小型网络数据库系统,由于其良好的稳定性和可靠性,受 到许多用户的欢迎,成为了当前比较流行的常用数据库z-o它是一个多用户的关系数据库管理 系统,一般用于支持大容量事务处理以及决策支持的应用系统。在一个多用户的应用系统中,系 统的安全与保密问题尤为重要。所谓系统的安全性,是指保护系统屮的数据,以避免数据被有意 或无意地泄露、丢失以及破坏性地改变。亦即系统本身能自动抵御来自外部和内部威胁的能力。来自系统内部的威胁是指那些不涉及第三者介入的威胁,可能情况有:磁盘子系统出故障;系 统软件出故障。这种威胁可能造成数据丢失。采取的手段主要是

41、数据冗余、定期备份,以便使系 统修复后能够利用副本来恢复数据。来自系统外部的威胁是指未经许可而使用系统来处理信息。可能情况是:无意或故意地使用 删除语句;无意或故意地使用更改语句(例如:想更改表中的一行,但没有限定where子句,结 果所有行都被更改);破坏性病毒。以上威胁造成的结杲是系统提供的功能,设置用户口令和用 户存収权限,具有只读(select )权限的用户只能读取指定数据;而具有增(in sert )、删(delete)、改(update)权限的用户才能对数据进行操作。1.标准的sql server数据库安全模型sql server依靠windows nt/2000,提供了可靠的安全

42、工具,利用这些工具可以建立网络数 据库的安全模型。如图11所示给出了标准的sql server数据库安全模型,它是由用户、sql server 登录、权限和表组成。图10 sql serveriffiffl安全模型2. sql server的安全模式及其应用integrated 模式sql server运行在这种模式下时,访问sql server的应用程序(如vbscript、perl> asp> 1sapi 等)以windows nt的网络用户即运行该程序的进程用户登录sql server,应用程序不用提供单独 的登录标识及其密码。这样,sql server使用windows n

43、t的安全机制而无需另外维护登录标识, 只要使用sql server的security manager将允许访问sql server的windows nt帐户或组映射为 sql server的登录标识即"j,大大减轻了sql server的维护工作,也使sql server与windows nt 更紧密地结合。这种与sql server的连接方式称为“可信任连接”。下而具体分析integrated模 式下访问sql server的web应用稈序的安全验证过程。这些程序一般放在web服务器的脚本(script)目录屮,使用者通过浏览器的表单提交按钮调用应用程序。如果该应用程序可以被匿 名

44、访问(即使用者调用程序时不用输入用户名及其密码来进行用户验证),则浏览器实际上是通 过web服务器所在的windows nt操作系统的内置帐号1sur-xxxx (其屮xxxx为windows nt所安装 的机器的机器名)来访问该应用程序并以该帐号登录sql servero因此,sql server的管理员(如 sa)应事先通过security manager将windows nt的isur-xxxx帐号映射为sql server的登录标 识或指定一个缺省login tdo此时,任何具有“在本机登录”权限的windows nt帐号均可登录 sql server0然后通过sql server e

45、nterprise manager在应用程序欲访问的数据库中建立一个 与该登录标识对应的用户并赋予其适当的权限,以便应用程序的使用者通过浏览器以匿名方式访 问sql server数据。如杲访问sql server数据的应用程序不希望任何人都具有访问权,而只是允 许指定的授权用户进行指定权限内的操作,则应在windows nt中设置应用程序文件的访问权限, 禁止拥有指定帐号的用户对程序文件具有访问权,而只允许有“读”权限。这样任何人在使用浏 览器访问该应用程序时,浏览器会弹出一个用户验证窗口,要求用户提供一个有效的windows nt 帐号及其密码,如图11所示。图11用户验证窗口如验证通过,则

46、应用程序可以让该帐号登录sql servero如上所述,sql server管理员应事 先通过security kmager及enterprise manager作适当的设置,以使该帐号对sql server数据 库有适当的操作权限。无论是匿名访问还是通过用户验证的情况,访问sql server的应用程序 均无需提供登录sql server的登录标识及其密码。这对作为一个web脚本而保存的应用程序来说, 其安全性能大大提高。因为脚本程序通常都是源代码,如果其中含有登录标识以及密码信息,一 旦被恶意者窃取,后果不堪设想。以下为一个访问sql server数据库数据的idc脚本样例: dataso

47、urce: shenpitemplate: hed-aut.htxsqlstatement: +vselect xxcode, bpwh from shenpi where bpwh二'bpwh%' and ld= ' yes'其中并没有看到任何登录标识(login)及密码的信息,这些都是当用户使用浏览器访问该 应用程序脚木时,rtlwindows nt操作系统负责验证过程。用户应用程序如果是通过odbc访问sql server数据库,在设置odbc系统数据源时,可明确指定使用trusted connection连接方式,如图 12所示。此时,无论sql ser

48、ver运行在何种安全模式,应用程序均使用integrated方式与sql server进行连接。对于通过sql server应用程序接口db-library访问sql server的应用程序,也 有类似的情况。图12设置odbc数据源时指定使用"trusted connection”standard模式sql server中,标准(standard)模式主要是基于与sybase sql server的兼容性考虑而设 置的。在这种安全模式下,sql server独立地维护登录标识并进行登录标识的有效性验证。应用 程序欲访问sql server数据库,必须提供有效的登录标识及其密码,如上

49、述的idc脚本,当sql server运行于安全模式下时,应为:username: userlpassword: 123456datasource: shenpitemplate: hed-aut.htxsqlstatement: +vselect xxcode, bpwh from shenpi where bpwh= '%bpwh%' and ld= 'yes'可以看出,登录标识及密码一目了然,这是一个安全隐患。基于web的数据库系统应避免使 用这种安全模式。在standard安全模式下,sql server管理员(sa)应在enterprise manag

50、er111 建立应用程序访问sql server所用的登录标识(如上例的userl),在指定数据库中建立与该登录 标识对应的数据库用户(或guest用户),并赋予该用户适当的权限,以便应用程序进行操作。mixed模式mixed模式是以上二种模式的混合。当sql server运行于这种模式下时,如果应用程序访问 数据库时并未提供登录标识或登录标识与某个windows nt网络用户名相同,则使用integrated安 全模式,否则使用standard安全模式。此时应用程序还要提供登录标识的密码,以便sql server 进行安全验证。mixed模式既可保证基于web的应用程序脚本内不带有登录标识及

51、密码,因而提高 系统的安全性能,又可使sql server管理员通过tpc/ip远程管理sql server,因此得到广泛应用 19o3. sql server的安全性控制数据库系统的安全性控制是数据库系统保护数据的一种功能。sql server提供了强大而丰富 的安全控制机制,在实际应用坏境中用户可根据需求构造出灵活而有效的安全控制策略,实现对 整个数据系统的安全保护。数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露,更改或破坏。sql server利用其安全控制机制允许具有一定访问权限的用户登录到sql server,并在具备一定权 限的条件下访问数据和对数据库对象进行受限操

52、作。.确定sql server认证模式认证(authentication)是对用户身份的检验,即确定是否允许用户连接数据库服务器;认证过 程就是用户登录sql server的过程。sql server提供了两种认证模式。windows nt认证模式: 在这种认证模式下,使用windows nt操作系统的安全机制验证用户身份。当用户通过windows nt 认证并成功登陆后,用户在连接sql server吋,sql server直接接收用户的连接请求windows nt认证和sql server认证混合模式:在这种方式下,对于可信连接用户的连接请求。系统釆用 windows nt认证模式;而对于

53、非可信连接用户,采用sql server认证模式,系统检查用户的登 录标识及口令。通过认证后,用户应用程序才可以连接到sql server服务器;否则,系统拒绝 用户的连接请求。认证过程如图13所示。两种认证模式各有优点:windows nt认证是基于7t的安全机制,所以具有较高的安全性;而 sql server的认证对用户的管理简单方便,容易实现。通常,为了集中管理用户的帐户,并且为 了获得较高的安全性,最好选用windows nt认证模式。图13 sql server认证过程.设置应用程序全局组一般每一个组织或应用程序的用户都可以按照他们对数据的特定访问要求分成许多类别。例 如,企业信息管

54、理系统的用户一般包括:录入用户、审核用户、查询用户等。不同用户对数据库的 访问要求是不同的。控制数据访问权限最简单的方法是,对于每一类用户,分别为他们创建一个满 足该类用户权限要求的、域内全局有效的组。一般既可以为每一个应用分别创建组,也可以创建 适用于整个企业的、涵盖广泛用户类别的组。然而,如果想要能够精确地了解组成员可以做些什 么,为每一个应用程序分别创建组是一种较好的选择。例如,在企业信息管理系统屮,可以创建 data entry operators> check managersconsult operators 等组,分别对应录入用户、审核 用户、查询用户。除了面向特定应用程序

55、的组z外,还需要几个基本组。基本组的成员负责管理 服务器。通常,需要创建 sql server administrators sql server users、sql server denied users、sql server db creators sql server security operators、sql serverdatabase security operators> sql server developers等基本组。创建了全局组z后,接下来可以授予他们访问sql server的权限。首先为sql server users创建一个nt验证的登录并授予他登录权限,把m

56、aster 数据库设置为他的默认数据库,但不要授予他访问任何其它数据库的权限,也不要把这个登录帐 户设置为任何服务器角色的成员。接着再为sql server denied users重复这个过程,但这次要 拒绝登录访问。在sql server中,拒绝权限始终优先。创建了这两个组之后,就有了一种允许或 拒绝用户访问服务器的便捷方法。在为没有直接sysxlogins系统表里面登记的组授权时,用系统 存储过程sp-addsrvro 1 emembcr以及sp-addrolemcmber进行授权。对于操作服务器的各个组,用 sp-addsrvrolemember存储过程把各个登录加入到合适的服务器角色

57、:sql server administrators 成为 sysadmins 角色的成员,sql server db creators 成为 dbcreator 角色的 成员,sql server security operators 成为 securityadmin 角色的成员。要创建在所有新数据库中都存在的用户,可以修改model数据库。为了简化工作,sql server 自动把所有对model数据库的改动复制到新的数据库。只要正确运用model数据库,就无需定制 每一个新创建的数据库。另外,还可以用sp-addrolemember存储过程把sql server security ope

58、rators 加入到 db- securityadmin,把 sql server developers 加入到 db-owner 角色。 .设置数据库访问权限在数据库内部,sql server可以把权限分配给角色而不是直接把它们分配给全局组。这种能 力使得我们能够轻松地在安全策略中使用sql server验证的登录。这样,能够为未来可能出现的 变化做好准备。创建了数据库之后,可以hisp-grantdbaccess存储过程授权db-name users组访 问它。但应该注意的是,与sp-grantdbaccess对应的sp-denydbaccess存储过程并不存在,也就 是说,不能按照拒绝对服务器访问的方法拒绝对数据库的访问。如果要拒绝数据库访问,可以创 建另外一个名为db-name dcniedusers的全局组,授权它访问数据库,然后把它设置为 db-denydatareader以及db-denydatawriter角色的成员。注意sql语句权限的分配,这里的角色 只限

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论