第3章毕业论文设计.doc
《第3章毕业论文设计.doc》由会员分享,可在线阅读,更多相关《第3章毕业论文设计.doc(36页珍藏版)》请在三一办公上搜索。
1、YANGTZE UNIVERSITY工程技术学院毕业设计(论文) 系 (部): 专业班级: 学 号: 姓 名: 指导教师: 学年 年 月至 年 月目录1 前言12 数据库安全基础知识121 数据库服务器的安全122 保证数据库安全的几个简单步骤63 数据库安全实际应用831 全力打造安全主机保护企业网站安全83.1.1 安全模型83.1.2 驱动模式93.1.3 SQL Server 2000 漏洞综述93.1.4 加固步骤1032 如何防范网站数据库入侵124 SQLServer数据库安全技术1441 SQLServer数据库简介1442 SQL Server数据库安全规划全攻略214.2.
2、1 验证方法选择214.2.2 Web环境中的验证224.2.3 设置全局组234.2.4 允许数据库访问254.2.5 分配权限264.2.6 简化安全管理2743 恢复SQL数据库详细攻略实例27参考文献321 前言随着计算机技术的飞速发展,数据库的应用十分广泛,深入到各个领域,但随之而来产生了数据的安全问题。各种应用系统的数据库中大量数据的安全问题、敏感数据的防窃取和防篡改问题,越来越引起人们的高度重视。数据库系统作为信息的聚集体,是计算机信息系统的核心部件,其安全性至关重要,关系到企业兴衰、成败。因此,如何有效地保证数据库系统的安全,实现数据的保密性、完整性和有效性,已经成为业界人士探
3、索研究的重要课题之一,本文就安全防入侵技术做简要的讨论。2 数据库安全基础知识21 数据库服务器的安全数据库服务器实际上是每一个电子交易、金融和企业资源规划(ERP)系统的基础,它还经常包括来自商业伙伴和客户的敏感信息。尽管这些系统的数据完整性和安全性是相当重要的,但对数据库采取的安全检查措施的级别还比不上操作系统和网络的安全检查措施的级别。许多因素都可能破坏数据的完整性并导致非法访问,这些因素包括复杂程度、密码安全性较差、误配置、未被察觉的系统后门以及自适应数据库安全方法的强制性常规使用等。数据库安全问题为什么非常重要?保护系统敏感信息和数字资产不受非法访问。任何公司的主要电子数字资产都存贮
4、在现代的关系数据产品中。商业机构和政府组织都是利用这些数据库服务器得到人事信息,如员工的工资表,医疗记录等。因此他们有责任保护别人的隐私,并为他们保密。数据库服务器还存有以前的和将来的敏感的金融数据,包括贸易记录、商业合同及账目数据等。像技术的所有权、工程数据,甚至市场企划等决策性的机密信息,必须对竞争者保密,并阻止非法访问,数据库服务器还包括详细的顾客信息,如财务账目,信用卡号及商业伙伴的信用信息等。数据库是个极为复杂的系统,因此很难进行正确的配置和安全维护数据库服务器的应用相当复杂,掌握起来非常困难当然竞争者使用的操作系统也是一样的复杂。诸如Oracle、Sybase、Microsoft
5、SQL服务器都具有以下特征:用户账号及密码、校验系统、优先级模型和控制数据库目标的特别许可、内置式命令(存储的步骤或包)、唯一的脚本和编程语言(通常为SQL的特殊衍生语)、middleware、网络协议、补丁和服务包都忙于管理复杂的系统,所以很可能没有检查出严重的安全隐患和不当的配置,甚至根本没有进行检测。所以,正是由于传统的安全体系在很大程度上忽略了数据库安全这一主题,使数据库专业人员也通常没有把安全问题当作他们的首要任务。“自适应网络安全”的理念将安全问题看作持续不断的“工作进程”,而不是一次性的检查并未被大多数数据库管理者所接受。保障数据库服务器上的网络和操作系统数据安全是至关重要的,但
6、这些措施对于保护数据库服务器的安全还很不够。 在许多资深安全专家中普遍存在着一个错误概念,他们认为:一旦访问并锁定了关键的网络服务和操作系统的漏洞,服务器上的所有应用程序就得到了安全保障。现代数据库系统具有多种特征和性能配置方式,在使用时可能会误用,或危及数据的保密性、有效性和完整性。首先,所有现代关系型数据库系统都是“可从端口寻址的”,这意味着任何人只要有合适的查询工具,就都可与数据库直接相连,并能躲开操作系统的安全机制。例如:可以用TCP/IP协议从1521和1526端口访问Oracle 7.3和8数据库。多数数据库系统还有众所周知的默认帐号和密码,可支持对数据库资源的各级访问。从这两个简
7、单的数据相结合,很多重要的数据库系统很可能受到威胁。不幸的是,高水平的入侵者还没有停止对数据库的攻击。拙劣的数据库安全保障设施不仅会危及数据库的安全,还会影响到服务器的操作系统和其它信用系统。还有一个原因说明了保证数据库安全的重要性数据库系统自身可能会提供危及整个网络体系的机制。例如,某个公司可能会用数据库服务器保存所有的技术手册、文档和白皮书的库存清单。数据库里的这些信息并不是特别重要的,所以它的安全优先级别不高。即使运行在安全状况良好的操作系统中,入侵者也可通过“扩展入驻程序”等强有力的内置数据库特征,利用对数据库的访问,获取对本地操作系统的访问权限。这些程序可以发出管理员级的命令,访问基
8、本的操作系统及其全部的资源。如果这个特定的数据库系统与其它服务器有信用关系,那么入侵者就会危及整个网络域的安全。数据库是新型电子交易、企业资源规划(ERP)和其它重要商业系统的基础。在电子商务、电子贸易的着眼点集中于WEB服务器、Java和其它新技术的同时,应该记住这些以用户为导向和企业对企业的系统都是以Web服务器后的关系数据库为基础的。它们的安全直接关系到系统的有效性、数据和交易的完整性、保密性。系统拖延效率欠佳,不仅影响商业活动,还会影响公司的信誉。不可避免地,这些系统受到入侵的可能性更大,但是并未对商业伙伴和客户敏感信息的保密性加以更有效的防范。此外,ERP和管理系统,如ASPR/3和
9、PeopleSoft等,都是建立在相同标准的数据库系统中。无人管理的安全漏洞与时间拖延、系统完整性问题和客户信任等有直接的关系。需要寻找哪此类型的安全漏洞呢?传统的数据库安全系统只侧重于以下几项:用户账户、作用和对特定数据库目标的操作许可。例如,对表单和存储步骤的访问。必须对数据库系统作范围更广的彻底安全分析,找出所有可能领域内的潜在漏洞,包括以下提到的各项内容:与销售商提供的软件相关的风险:软件的BUG、缺少操作系统补丁、脆弱的服务和选择不安全的默认配置。与管理有关的风险:可用的但并未正确使用的安全选项、危险的默认设置、给用户更多的不适当的权限,对系统配置的未经授权的改动。与用户活动有关的风
10、险:密码长度不够、对重要数据的非法访问以及窃取数据库内容等恶意行动。以上各类危险都可能发生在网络设备、操作系统或数据库自身当中。对数据库服务器进行安全保护时,都应将这些因素考虑在内。数据库安全漏洞区域及示例 在重要数据库服务器中,还存在着多种数据库服务器的漏洞和错误配置。下面列出了几个实例。安全特征不够成熟:绝大多数常用的关系数据库系统已经存在了十多年之久,并且具有强大的特性,产品非常成熟。但不幸的是,IT及安全专业人士认为理所当然应该具有的许多特征,在操作系统和现在普遍使用的数据库系统中,并没有提供。非内建式数据库标准安全性能MS SQL Server Sybase Oracle 7 Ora
11、cle 8账户锁定设备nononoyes重命名管理账户nononono要求严密的口令nononoyes陈旧的账户nononono密码失效noyesnoyes登录时间限制nononoyes例如,上表列出了大多数IT专业人士期望或要求操作系统所应具备的特性,但在数据库服务器的标准安全设施中并未出现。由于这些数据库都可进行端口寻址的,操作系统的核心安全机制并未应用到与网络直接联接的数据库中。一些产品,例如Microsoft SQL Server, 都可利用功能更加强大的Windows NT安全机制去发现上面提到的安全漏洞。但是,考虑到兼容性问题(运行环境并不全是Windows NT),所以大多数依然
12、执行MS SQL Server的安全标准。而实施则是另外一回事了。如果公司实用的是Oracle 8,管理员如何能知道是否真地实施了安全特性?是否一直在全公司中得到实施?这几项特性相结合,使得与之相关的问题更加严峻。由于系统管理员的帐号是不能重命名的(SQL和Sybase是“sa”,对于Oracle是“System”和“sys”),如果没有密码封锁可用或已配置完毕,入侵者就可以对数据库服务器发动强大字典式登录进攻,最终能破解密码,有什么能够挡住他们对服务器耐心,持久的高水平攻击呢?数据库密码的管理:在多数数据库系统提供的安全标准中,没有任何机制能够保证某个用户正在选择有力的或任意的密码。这一基本
13、的安全问题需要细心的监督。此外还需要对全部密码列表进行管理和安全检查。例如,Oracle数据库系统具有十个以上地特定地默认用户账号和密码,此外还有用于管理重要数据库操作的唯一密码,如对Oracle数据库开机程序的管理、访问网络的听众过程以及远程访问数据库的权限等。如果安全出现了问题,这些系统的许多密码都可让入侵者对数据库进行完全访问,这些密码甚至还被存储在操作系统的普通文本文件里。下面有几个示例:Oracle Internal 密码:Oracle内部密码存放在文件名为“strXXX.cmd”的文本文件中,XXX是Oracle系统的ID或SID,默认值为“ORCL”。用在Oracle数据库的启动
14、过程中,要用到Oracle Internet密码,具有随意访问数据库资源的权力。这个文件应妥善保管,以用于基于Windows NT的ORACLE程序。Oracle监听程序过程密码用于起动并停止Oracle监听程序过程的密码,该过程可将所有的新业务路由到系统上合适的Oracle例子中,需选择一个保密性强的密码替换系统的默认值,使用许可必须在“listener.ora”文件中得到保护,该文件存贮了Oracle所有的使用密码。对密码的不正当访问可能会使入侵者对基于Oracle的电子交易站点进行拒绝服务攻击。Oracle内部密码 “orapw”文件许可控制Oracle内部密码和由SYSDBA授权的账号
15、密码存贮在“Orapw”文本文件中。尽管文件已被加密,但在ORACLE的UNIX和Windows NT的程序中,还是要限制该文件的使用权限。如果该文件被访问,那么遭解密的文件很容易遭到强有力的攻击。这些例子说明了管理员、系统密码和账号是何等的重要,它们都可能会遭到意想不到的攻击方法的攻击。注意密码管理问题决不仅限于Oracle数据库,几乎所有主要数据库提供商的产品都有这种问题。操作系统的后门许多数据库系统的特征参数尽管方便了DBA,但也为数据库服务器主机操作系统留下了后门。 如上所述,对Sybase或SQL服务器的“sa”密码造成危害的入侵者有可能利用“扩展入驻程序”,得到基本操作系统的使用权
16、限。以“sa”的身份登录,入侵者使用扩展入驻程序xpcmdshell,该程序允许Sybase或SQL服务器的用户运行系统指令,就像该用户在服务器控制台上运行指令一样。例如,可实用下列SQL指令添加一个Windows NT账号,账号名为“hacker1”,密码为“nopassoword”,并把“hacker1”添加到“Administrators”组:xp-cmdshell net user hacker1 nopassword/ADDgoxp-comdshell net localgroup/ADD Administrators hacker1go现在这个非法入侵者就成了Windows NT的
17、管理员了(我们只能祈祷这个SQL服务器不是域控制器)。这个简单的攻击之所以成功,是因为命令被提交给实用Windows NT账号的操作系统,而MSSQLServer的服务就运行在这个账号下。在默认情况下,这个账号就是“LocalSystem” 账号-本地Windows NT系统中最有效力的账号。另一个途径是黑客可能使用SQL服务器,利用入驻程序xp-regread从注册表中读出加密的Windows NT SAM密码,对操作系统的安全造成威胁。由于有几种免费的Windows NT密码攻击器软件,因此保管好加密的Windows NT密码的安全变得格外重要。以下例子说明了入侵者是怎样得到信息的:xp-
18、regreadHKEYLOCALMACHINE,SECURITYSAMDomainsAccount,F注意,从注册表中读出加密密码是一件本地Windows NT管理员帐号都无法做到的事。SQL服务器之所以能够做到,是因为默认方式运行的SQL服务使用的恰恰就是“LocalSystem” 账号。Oracle数据库系统还具有很多有用的特征,可用于对操作系统自带文件系统的直接访问。例如在合法访问时,UTLFILE软件包允许用户向主机操作系统进行读写文件的操作。UTLFILEDIR简单变量很容易配置错误,或被故意设置为允许Oracle用户用UTLFILE软件包在文件系统的任何地方进行写入操作,这样也对主
19、机操作系统构成了潜在的威胁。校验关系数据库系统的校验系统可以记录下信息和事件,从基本情况到任一细节,无一遗漏。但是校验系统只在合理使用和配置的前提下,才能提供有用的安全防范和警告信息。当入侵者正在试图侵入特定的数据库服务器时,这些特征可及早给出警告信息,为检测和弥补损失提供了宝贵的线索。特洛伊木马程序尽管人们知道操作系统中的特洛伊木马程序已经有好几年了,但是数据库管理员还需注意到木马程序带给系统入驻程序的威胁。一个著名的特洛伊木马程序修改了入驻程序的密码,并且当更新密码时,入侵者能得到新的密码。例如,某个个人可以在sppassword系统入驻程序中添加几行命令,就可在表单中增加新的密码,用e-
20、mail传递密码或将密码写入外部文件以备日后使用。这一办法可连续获取密码,直到入侵者得到的“sa”密码被更换使得更深层的入侵未被察觉。一个入侵者或心怀不满的雇员只需进入系统一次,放置好特洛伊木马后就可得到以后的一系列密码。总结,安全专业人士、校验员、DBA和电子商务的规划人员在部署重要商业系统时,都需注意到数据库的安全问题。要想了解的系统的安全状态和发展方向,您就得部署系统,以对数据库服务器做出最彻底的评估,并进行常规的安全评估。所有系统都应该采用信息风险管理原则,以进行监督、检测,对安全漏洞做出响应。22 保证数据库安全的几个简单步骤数据库及其包含的信息仍是黑客试图攻击的目标。黑客希望利用在
21、数据库驱动的应用程序中的许多广泛传播的安全漏洞。这些漏洞许多是由不良设置或者实施造成的。下面是最常见的五个与数据库相关的安全漏洞:不良的口令政策SQL注入交叉站点脚本数据泄漏不适当的错误处理令人难以置信的是,企业仍经常使用默认的或者软弱的口令来保护像数据库一样重要的在线资产。但是,这是一个很容易解决的问题。补救措施是强制执行强大的口令政策。也就是说,口令要定期变换,口令长度最少为10位数并且包含字母和符号。采用这种政策,你将关闭攻击者同向你的数据的方便之门。SQL注入也依靠软弱的数据库实施,特别是在如何向数据库发送SQL请求方面的实施。如果这个数据库接受了用户提供的不干净的或者没有经过验证的数
22、据产生的SQL请求,这就会为SQL注入攻击敞开大门。例如,通过修改从基于网络的格式受到的信息,攻击者能够提供恶意的SQL请求并且把指令直接发送到数据库。要防止这种类型的攻击,在让这些数据接近你的脚本、数据访问程序和SQL查询之前,保证所有用户提供的数据是合法的是非常重要的。验证和清洁从用户那里收到的数据的另一个理由是防止交叉站点脚本攻击。这种攻击能够用来攻破连接到一个Web服务器的数据库。黑客通过一个网络蠕虫把JavaScript等客户方面的脚本注入到一个网络应用程序的输出中。这些脚本用于收集cookie数据。这些数据经常被错误地用来存储用户账户登录信息等资料。一个经常被忽略的问题是什么时候建
23、立一个数据库应用程序是泄漏数据。这是敏感的数据要发送的地方或者是非故意踢敏感数据的地方。这个错误将导致不能保证访问数据库备份磁带的安全和控制这种访问。通常,更敏感的数据产生于有关数据的合法查询的答案,就像从医疗处方判断疾病一样。常用的解决方案是监视查询方式以检测这种行动。与数据泄漏密切相关的是在数据库出现错误时不适当地处理这些错误。许多应用程序显示了详细的信息。这些错误信息能够泄漏有关数据库结构的信息。这些信息能够用来实施攻击。要尽一切手段把这个错误登记在你自己的记录中,保证你的应用程序不向用户或者攻击者返回任何有关这个错误的详细信息。要完全保证你的数据库的安全,你要把这个任务分为以下四个方面
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第3章 毕业论文设计 毕业论文 设计
链接地址:https://www.31ppt.com/p-4030177.html