基于PMS的安全审计管理系统中安全审计数据的存储与备份.docx
- 文档编号:3332534
- 上传时间:2022-11-21
- 格式:DOCX
- 页数:25
- 大小:192.10KB
基于PMS的安全审计管理系统中安全审计数据的存储与备份.docx
《基于PMS的安全审计管理系统中安全审计数据的存储与备份.docx》由会员分享,可在线阅读,更多相关《基于PMS的安全审计管理系统中安全审计数据的存储与备份.docx(25页珍藏版)》请在冰豆网上搜索。
基于PMS的安全审计管理系统中安全审计数据的存储与备份
密级:
页数:
毕 业 设 计(论文)
题目:
基于PMS的安全审计管理系统中
安全审计数据的存储与备份
学员姓名
学 号
所在单位
指导教师
完成日期
内容摘要:
本课题是基于授权管理PMS子系统中安全审计管理系统的一部分。
本文主要针对安全审计管理系统中的安全审计数据,并结合目前广泛应用各部门SQLServer数据库系统,提出了应用身份认证与角色授权安全管理、基于视图和触发器的安全管理、网络连接保证数据安全等机制实现数据的安全储存;应用热备份、备份工具、分离数据库等方法实现数据的备份;及利用作业调度和触发器根据应用需求、实现数据表的转储,及解决查询速率变缓的问题。
关键词:
PMS审计数据安全存储备份转储
Contentssummary:
ThistopicisaccordingtoauthorizationmanagementthePMSsub-systeminsafetyauditmanagementsystemofapart.Thistextmainaimatsafetyauditmanagementsysteminofsafetyauditdata,andcombinecurrentlyextensiveapplicationeachsectiondatabasesystemoftheSQLServer,putforwardapplicationidentityattestationandroleauthorizationsafetymanagement,accordingtoseediagramandtriggeramachineofsafetymanagement,networkconjunctionassurancedatasafetyetc.mechanismrealizationdataofsafetystorage;Applicationhotbackup,backuptool,separateadatabaseetc.methodrealizationdataofbackup;Andmakeuseofhomeworktoadjustadegreeandtriggeramachineaccordingtoapplicationneed,realizationtheturnofdataformkeep,andsolvesearchvelocitytobecomeslowofproblem.
Keyword:
PMS;Auditadata;Thesafetysaving;Backup;Turntokeep
目录:
第一章绪论-1-
1.1课题背景-1-
1.2研究目标-2-
1.3相关技术简介-3-
第二章数据库的安全性:
-6-
2.1身份认证与访问许可安全管理-6-
2.2基于视图和触发器的安全管理-10-
2.3网络连接保证数据库安全性-12-
2.4其他安全策略-15-
第三章数据的备份-16-
3.1热备份-16-
3.2利用“备份工具”备份数据-18-
3.3利用“分离数据库”工具备份数据-21-
3.4利用导出数据备份数据-22-
3.5直接复制数据库相关文件备份数据-22-
第四章数据的转储-23-
4.1用作业调度实现数据表的转储-23-
4.2用触发器实现数据表的备份-24-
4.3用作业调度实现数据表分月备份-25-
4.4一个触发器一个作业调度实现分月备份-26-
第五章总结-28-
5.1数据的安全储存:
-28-
5.2数据的备份和转储-28-
后记:
-30-
第一章绪论
1.1课题背景
随着计算机网络的技术的飞速发展,人们传统的生活和工作模式已经发生了极大的改变。
目前无论是金融机构、电信企业、政府、军队的工作都需要依赖计算机网络来完成。
网络中分布式系统和大型企业多信息平台的广泛应用,使得资源的结构日趋复杂,规模也日益增大,网络上的敏感信息日益增多。
但是与此同时,访问各系统平台的人员数目很大而且成份复杂,对网络的恶意攻击和内部工作人员对重要数据的窃取、误操作等事件时有发生,为企业、政府乃至国家都带来了巨大的损失,传统的权限控制机制的限制和不足日益明显。
目前,公钥基础设施PKI(PublicKeyInfrastructure)在国内外已经得到广泛的应用。
PKI中的X509公钥证书可以很好的解决网络环境中的身份认证问题,但是公钥证书不能反映通过认证的用户的访问权限,实现对资源的访问控制,权限管理基础设施PMI(PrivilegeManagementInfrastructure)应运而生。
PMI即权限管理基础设施或授权管理基础设施,是属性证书、属性权威、属性证书库等部件的集合体,用来实现权限和证书的产生、管理、存储、分发和撤销等功能。
PMI实际提出了一个新的信息保护基础设施,能够与PKI和目录服务紧密地集成,并系统地建立起对认可用户的特定授权,对权限管理进行了系统的定义和描述,完整地提供了授权服务所需过程。
建立在PKI基础上的PMI,以向用户和应用程序提供权限管理和授权服务为目标,主要负责向业务应用系统提供与应用相关的授权服务管理,提供用户身份到应用授权的映射功能,实现与实际应用处理模式相对应的、与具体应用系统开发和管理无关的访问控制机制,极大地简化应用中访问控制和权限管理系统的开发与维护,并减少管理成本和复杂性。
安全审计是一个新概念,它指由专业审计人员根据有关的法律法规、财产所有者的委托和管理当局的授权,对计算机网络环境下的有关活动或行为进行系统的、独立的检查验证,并作出相应评价。
该课题是国家863计划课题“军队PMI系统”(授权管理PMS子系统)中安全审计管理系统的一部分。
授权管理PMS子系统是PMI最高核心管理层,主要负责角色权限分配管理,对权限管理进行了系统的定义和描述,完整地提供了授权服务所需过程。
PMS是PMI系统的核心,因此安全审计非常重要。
对系统的操作和用户授权信息进行查询,通过安全审计,系统管理员可对审计信息进行查询,确保系统运行的安全性。
在数据库系统实际运行中,有70%以上的安全威胁都源于内部人员攻击。
而入侵检测和访问控制等机制对这类攻击的防范能力非常有限。
对于很多外部入侵事件,现有的IDS(IntrusionDetectionSystem)不能及时做出正确的响应。
在这些情况下作为安全事件追踪分析和责任追究的审计机制有着不可替代的作用。
存储于数据库中的数据应具有完整性,不可更改性等性质。
但内部工作人员对重要数据的窃取非法操作等事件时有发生。
因此,如何对数据库操作人员加于相应的权限分配,使其无法对存储于数据库中的数据进行非法的访问,篡改等操作,达到存储于数据库的数据实现安全存储目标,是数据库管理的一个不可忽视的问题。
对数据库访问的操作都进行了安全审计,存放所有的审计记录的数据量会随时间的增加而增加,如果不采用相应的存储备份机制,将会导致系统查询能力的下降。
并且如果丢失了关键的数据或恢复的数据极不准确,那么管理上将会出现很大的弊端。
因此,如何采用相应的存储备份机制,做到有效的数据保护,已成为管理员们必须重视的一个问题。
1.2研究目标
利用SQLServer2000数据库相关机制及策略,相关的证书管理机构。
进一步设计一个具有安全审计管理功能、能对安全审计数据进行备份、采取相应策略进行转储的系统。
即:
(1)对访问数据库系统的人员进行权限分配,对其在数据库的操作行为进行限制。
(2)利用SSL协议,对数据库的传输数据进行加密,保证数据库的安全。
(3)提供良好的安全审计数据的存储机制,保证数据的完整性,不可更改性。
(4)应用相关策略对存储数据进行备份,及针对需求设计单独数据表的转储。
1.3相关技术简介
一.SQLServer简介
数据的安全储存与备份在一定的程度上也取决于所使用的数据库系统。
目前最流行的几种数据库有:
SQLServer、Oracle、Access等,各种的数据库都提供相关的安全策略保证数据的安全性,及其相应的备份机制防止数据库崩溃所造成的重大损失。
由于Oracle主要应用于大型企业,SQLServer主要应用于大中型企业,Access而主要用于小型企业或者个人。
因此SQLServer正日益广泛的使用于各部门内外。
SQL(StructuredQueryLanguage结构化查询语言)语言是1974年由Boyce和Chamberlin提出的,1975年1979年,IBM公司的SanJoseResearchLaboratory研制的关系数据库管理系统(原形系统SystemR)实现了这种语言。
SQL是一种组织、管理和检索计算机数据库存储的数据的工具。
SQL是一种计算机语言,可以用它与数据库交互。
事实上,SQL使用的是一个特殊类型的数据库,即关系数据库。
SQL语言是具有强大查询功能的数据库语言。
除此之外,SQL还可以控制DBMS为其用户提供的所有功能,包括:
(1)数据定义语言(DDL,DataDefinitionLanguage):
SQL让用户定义存储数据的结构和组织,以及存储数据项之间的关系。
(2)数据检索语言:
SQL允许用户或应用程序从数据库中检索存储的数据并使用它。
(3)数据操纵语言(DML,DataManipulationLanguage):
SQL允许用户或应用程序通过添加新数据、删除旧数据和修改以前存储的数据对数据库进行更新。
(4)数据控制语言(DCL,DataControlLanguage):
可以使用SQL来限制用户检索、添加和修改数据的能力,保护存储的数据不被未授权的用户所访问。
(5)数据共享:
可以使用SQL来协调多个并发用户共享数据,确保他们不会相互干扰。
(6)数据完整性:
SQL在数据库中定义完整性约束条件,使它不会由不一致的更新或系统失败而遭到破坏。
二.Net-Library加密
SQLServer2000可使用安全套接字层(SSL)加密在应用程序计算机和数据库计算机上的SQLServer实例之间传输的所有数据。
SSL加密在超级套接字Net-Library(Dbnetlib.dll和Ssnetlib.dll)内执行,并应用于SQLServer2000支持的所有计算机间协议。
当激活SSL加密时,超级套接字Net-Library在执行以下操作前执行SSL加密:
(1)调用Windows套接字2API传输TCP/IP套接字或NWLinkIPX/SPX套接字。
(2)调用Net-Library路由器将数据包发送到命名管道、多协议、AppleTalk或BanyanVINESNet-Library。
SSL加密仅适用于运行于获得公共证书颁发机构证书的计算机上的SQLServer2000实例。
应用程序正在其上运行的计算机还必须有一个从同一证书颁发机构取得的根CA证书。
Net-Library加密通过安全套接字层API实现。
采用40位还是128位加密级别取决于在应用程序计算机和数据库计算机上运行的MicrosoftWindows操作系统的版本。
启用加密会降低Net-Library的性能。
除所有未加密连接的工作外,加密还强制执行以下操作:
(1)连接时需要额外的网络往返次数。
(2)所有从应用程序发送到SQLServer实例的数据包必须由客户端Net-Library加密并由服务器Net-Library解密。
(3)所有从SQLServer实例发送到应用程序的数据包必须由服务器Net-Library加密并由客户端Net-Library解密。
共享内存Net-Library通讯本身具有安全性,无需加密。
共享内存Net-Library不参与计算机间的通讯。
不能从任何其它Windows进程访问应用程序进程与数据库引擎进程之间的共享内存区。
为了与SQLServer的早期版本兼容,多协议Net-Library将继续支持自己的加密。
这种加密与SSL加密分开指定,并通过调用WindowsRPC加密API实现。
不要求使用证书。
采用40位还是128位的RPC加密级别取决于在应用程序计算机和数据库计算机上运行的Windows操作系统的版本。
命名实例不支持多协议Net-Library。
第二章数据库的安全性:
数据库的安全性是指保护数据库,防止不合法的使用所造成的数据泄露、更改或破坏。
系统安全保护措施是否有效是数据库系统的主要指标之一。
数据库的安全性和计算机系统的安全性,包括操作系统、网络系统的安全性是紧密联系、相互支持的。
对于数据库管理来说,保护数据不受内部和外部侵害是一项重要的工作如何保证数据不受非法的侵害,则需要采取相应的安全措施。
安全措施是一级一级层层设置的,一般的安全模型是:
当用户进入计算机系统时,系统首先根据输入的用户标识进行身份的鉴定,只有合法的用户才允许进入系统。
对己进入系统的用户,DBMS还要进行存取控制,只允许用户进行合法的操作。
DBMS是建立在操作系统之上的,操作系统应能保证数据库中的数据必须由DBMS访问,而不允许用户越过DBMS,直接通过操作系统访问。
此外还应考虑数据在传输中的安全,防止非法用户的截取。
2.1身份认证与访问许可安全管理
一.登录身份验证
构造安全策略的第一个步骤是确定SQLServer用哪种方式验证用户。
用户必须拥有一个连接到SQLServer上的登录帐户。
图2-1SQLServer系统身份验证方式示意图
SQLServer提供两种身份验证模式来保护对服务器访问的安全:
Windows身份验证模式和混合模式。
一个SQLServer安全帐号代表着一个唯一的用户,一个用户也只有一个Windows帐号或者一个SQLServer注册,这与数据库中的用户帐号相统一。
用户访问数据库必须通过验证,只有在用户ID和密码对正确时才能登录数据库,否则SQLServer将拒绝访问并返回错误信息。
(1)Windows身份验证:
在该验证模式下,SQLServer验证当前使用的Windows用户帐号,并在Syslogins表中查找该帐号,以确定该帐号是否有权登陆,在这种方式下,用户不必提供密码或者登录名让SQLServer验证。
Windows验证模式主要有以下优点:
数据库管理员的工作集中在管理数据库方面,而不是管理用户帐户。
对用户帐号的管理可以交给Windows操作系统去完成。
WindowsNT/2000/XP有着更强的用户帐户管理工具。
可以设置帐户锁定、密码期限等。
如果不是通过定制来扩展SQLServer,SQLServer是不具备这些功能的。
WindowsNT/2000/XP的组策略支持多个用户同时被授权访问SQLServer。
但是,应该注意的是,要在客户和服务器间建立连接,使用该验证模式时,必须满足以下两个条件中的一个:
客户端用户必须有合法的服务器上的WindowsNT/2000/XP帐户,服务器能过在自己的域中或者信任域中验证该用户。
服务器启动了Guest帐户。
但该方法会带来安全的上的隐患,因而不是一个好的方法。
(2)混合身份验证:
混合验证模式允许SQLServer验证模式或者Windows验证模式进行验证。
使用那种模式取决于在最初通行时使用的网络库。
如果一个用户用TCP/IP的Sockets进行登录验证。
则将使用SQLServer验证模式。
如果用户用命名管道,则登录时将使用Windows验证模式。
在SQLServer验证模式下,处理登录的过程为用户在输入登录名和密码后,在系统注册表中检测输入的登录名和密码。
如果输入的登录名存在、且密码也正确、就可以登录到SQLServer上。
混合验证模式具有以下优点:
创建了Windows操作系统之上的另外一个安全层次
支持更大范围的用户
一个用户和程序可以使用单个的的SQLServer登录帐号和口令。
由此可以看出验证模式的选择通常与网络验证的模型和客户与服务器将的通信协议有关。
二.角色权限管理
建立登入账户后,使用者便能进入SQLServer中,但并不代表使用者有连接SQLServer特定数据库的权限,必须对使用者或群组设置对SQLServer的操作权限。
SQLServer中对数据库的操作权限可分为服务器自身的操作权限及数据库的存取权限。
对SQLServer的操作权限可由服务器角色来设置,数据库的存取权限则可由数据库角色与使用者对个别表格的存取权限来设置。
(1)服务器角色
SQLServer系统内建8种服务器角色(可把角色想像成WindowsNT账号中的群组),它不能更改或新增。
当对某使用者或群组设置好服务器角色后,其便拥有该服务器角色所拥有的权限。
它与数据库角色不一样,后者为对个别数据库的操作权限。
表2-1服务器角色及其描述
角色名称
描述
sysadmin
可以在SQLServer中执行任何活动
serveradmin
可以设置服务器范围的配置选项,关闭服务器
setupadmin
可以管理链接服务器和启动过程
securityadmin
可以管理登录和CREATEDATABASE权限,还可以读取错误日志和更改密码
processadmin
可以管理在SQLServer中运行的进程
dbcreator
可以创建、更改和除去数据库
diskadmin
可以管理磁盘文件
bulkadmin
可以执行BULKINSERT语句
(2)数据库角色
SQLServer内建10种数据库角色,它不能更改或删除,但可对个别数据库增加角色。
若给予使用者有内建角色中的数据库拥有者权限,它便拥有该数据库的完整操作权。
在对使用者分别设置了各种角色(每一使用者或群组可具有多种角色)后,它便拥有所有角色联集的权限,但若其中有某一角色对某一操作权(如对某一表格的select权)设置了拒绝,它将失去了该项权限,换句话说,拒绝权限优于授予权限。
表2-2数据库角色及其描述
角色名称
描述
db_owner
在数据库中有全部权限
db_accessadmin
可以添加或删除用户ID
db_securityadmin
可以管理全部权限、对象所有权、角色和角色成员资格
db_ddladmin
可以发出ALLDDL,但不能发出GRANT、REVOKE或DENY语句
db_backupoperator
可以发出DBCC、CHECKPOINT和BACKUP语句
db_datareader
可以选择数据库内任何用户表中的所有数据
db_datawriter
可以更改数据库内任何用户表中的所有数据
db_denydatareader
不能选择数据库内任何用户表中的任何数据
db_denydatawriter
不能更改数据库内任何用户表中的任何数据
public
最基本的数据库角色,每个用户都属于该角色
三.授权管理
授权是指允许用户做些什么。
建角色时,通常是使用与全局组名字配套的角色,这样可以减少混乱,更方便地判断哪些组属于特定的角色。
创建好了角色,我们再分配权限。
数据库管理员可以通过GRANT语句将系统特权或对象特权授予其他用户。
对于已授权的用户可以通过REVOKE或DENY语句收回所授予的特权,但应该注意DENY权限,它优先于所有其他权限。
分配权限可以防止用户对数据库的非法操作,
表2-3权限名称及其描述
权限名称
描述
SELECT
对表或者视图的查询
INSERT
对表或者视图插入
UPDATE
对表或者视图修改
DELETE
对表或者视图删除
EXEC
对表或者视图执行
DRI
对象的声明引用完整性
2.2基于视图和触发器的安全管理
一.基于视图的安全管理
基于视图的数据库安全机制由SQLServer身份验证、数据库用户、权限和视图组成,如图所示。
图2-2基于视图安全管理模型
(1)视图及其优点
视图是数据库系统提供给用户以多种角度观察数据库中数据的重要机制。
视图是从一个或几个基本表(或视图)导出的表,它是一个虚表。
数据库中只存放视图的定义,而不存放视图对应的数据,这些数据仍存放在原来的基本表中。
视图定义语法:
Createviewview_name
As
Select_statement
视图所引用的表可以在当前数据库中,也可以在其它的数据库中。
分布式查询可以用来定义视图,这种视图的数据来自多个不同种类的数据源。
视图一经定义,就可以和基本表一样被查询,但对视图的更新(增、删、改)操作则有一定的限制。
视图有以下的优点:
为用户聚集数据;只集中重要的或合理的数据;限制访问敏感数据;隐蔽数据库复杂性隐蔽复杂的数据库设计;简化复杂查询,包括异构数据的分布查询:
简化用户权利的管理;改进性能;组织输出到其它应用程序的数据.
通过使用不同的视图并对用户授予不同的权限,不同的用户可以看到不同的结果集,可以实现行级或列级的数据安全性。
下面通将说明视图是如何实现数据安全性。
(2)通过视图限制访问某些行列以实现数据库安全性
SELECTFrom
WHERE
当select语句中使用了Where子句,则视图就是由From子句表中满足认Where子句中条件的行所形成的结果集,不满足条件的行则不出现在视图中;当Select语句中指明字段列表,则将From子句表中在select语句中指明字段列表的字段出现在视图中,不包含在字段列表中的字段不显示在视图中。
通过视图,用户仅能查询修改他能看到的数据(行和列),其它数据行和列对于用户不可见也就无法访问,从而实现数据库的安全性。
(3)将视图与权限结合实现数据库的安全性
将视图与权限结合实现数据库的安全性方法是给用户授予视图许可权限,而不授予表许可权限。
也就是说将访问视图的权限授予给用户,即使该用户不具有访问视图所引用基表的权限,但其仍可以从中查看视图中所包含的相应的数信息,用户不知道也不可能修改看不到基表的数据,实现数据库的安全性。
二.基于触发器的安全管理
在数据库管理系统中,维护数据库中数据的完整性是非常重要的。
触发器是一种特殊类型的存储过程,与表格紧密相连。
触发器是SQLServer系统用于响应数据变化的一种机制,它实际上是一段程序,当某种条件被触发时,触发器自动触发执行,产生一系列的操作或回退那些破坏数据库完整性的操作。
触发器可以包含非常复杂的程序设计逻辑,从而扩展约束、默认值和规则的完整性检查,防止对数据的不正确修改。
触发器定义的语法:
CREATETRIGGERtrigger_name
ON{table|view}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 PMS 安全 审计 管理 系统 数据 存储 备份