收藏 分享(赏)

网络安全第6章.ppt

上传人:tkhy51908 文档编号:8023874 上传时间:2019-06-04 格式:PPT 页数:80 大小:301.50KB
下载 相关 举报
网络安全第6章.ppt_第1页
第1页 / 共80页
网络安全第6章.ppt_第2页
第2页 / 共80页
网络安全第6章.ppt_第3页
第3页 / 共80页
网络安全第6章.ppt_第4页
第4页 / 共80页
网络安全第6章.ppt_第5页
第5页 / 共80页
点击查看更多>>
资源描述

1、第6章 操作系统与数据库安全,6.1 网络操作系统安全技术 6.2 Windows系统安全技术 6.3 UNIX/Linux系统安全技术 6.4 数据库安全 6.5 Oracle数据库安全技术,6.1.1 操作系统安全的概念及准则,1安全功能和安全保障 安全功能和安全保障是操作系统安全涉及到的两个重要因素。在把符合某个安全评价体系准则所规定的特定安全等级作为开发目标的系统中,安全功能主要说明操作系统所实现的安全策略和安全机制符合评价准则中哪一级的功能要求,而安全保障则是通过一定的方法保证操作系统所提供的安全功能确实达到了确定的功能要求。因此任何一个安全操作系统都要从安全功能和安全保障两方面考虑

2、其安全性。,6.1 网络操作系统安全技术,2可信软件与不可信软件 就一般而言,软件被分为3种可信类别。 (1)可信的。软件保证能安全运行,但是系统的安全仍依赖于对软件的无错操作。 (2)良性的。软件并不确保安全运行,但由于使用了特权或对敏感信息的存取权,因而必须确信它不会有意的违反规则。良性软件的错误被视为偶然性的,而且这类错误不会影响系统的安全。 (3)恶意的。软件来源不明,从安全的角度出发,该软件被认为将对系统进行破坏。,3主体与客体 主体是一个主动的实体,包括用户、用户组、进程等。系统中最基本的主体是用户,包括一般用户和系统管理员、系统安全员等特殊用户。每个进入系统的用户必须是惟一标识的

3、,并经过鉴别确定为真实的。 客体是一个被动的实体。在操作系统中,客体可以是按照一定格式存储在一定记录介质上的数据信息,通常以文件系统格式存储数据,也可以是操作系统中的进程。,4安全策略和安全模型 安全策略是指有关管理、保护和发布敏感信息的法律、规定和实施细则。例如,可以将安全策略定义为:系统中的用户和信息被划分为不同的层次,一些级别比另一些级别高;当且仅当主体的级别高于或等于客体的级别,主体才能读访问客体;当且仅当主体的级别低于或等于客体的级别,主体才能写访问客体。,安全模型则是对安全策略所表达的安全需求的简单、抽象和无歧义的描述,它为安全策略及其实现机制的关联提供了一种框架。安全模型描述了对

4、某个安全策略需要用哪种机制来满足;而模型的实现则描述了如何把特定的机制应用于系统中,从而实现某一特定安全策略所需的安全保护。,5安全内核安全内核是指系统中与安全性实现有关的部分,包括引用验证机制、访问控制机制、授权机制和授权管理机制等部分。安全内核方法是一种最常用的建立安全操作系统的方法,可以避免通常设计中固有的安全问题。安全内核方法以指导设计和开发的一系列严格的原则为基础,能够极大地提高用户对系统安全控制的信任度。安全内核的理论依据是:在一个大型操作系统中,只有其中的一小部分用于安全目的。所以在重新生成操作系统过程中,可用其中安全相关的软件来构成操作系统的一个可信内核,称为安全内核。安全内核

5、必须给以适当的保护,不能篡改。同时,绝不能有任何绕过安全内核存取控制检查的存取行为存在。,图6-1 一般的计算机系统结构,图6-2 操作系统的安全内核,安全内核的设计和实现应当符合完整性、隔离性、可验证性3条基本原则。 (1)完整性原则完整性原则要求主体引用客体时必须通过安全内核,即所有信息的访问都必须经过安全内核。但是操作系统的实现与完整性原则的明确要求之间通常有很大差别:操作系统认为系统的信息存在于明显的地方,比如文件、内存和输入输出缓冲区,并且操作系统有理由控制对这些客体的访问。完整性原则并不满足于对客体的特别定义,它认为任何信息存在之处,不管它们大小怎样,用途如何,都是一个潜在的客体。

6、,(2)隔离性原则隔离性原则要求安全内核具有防篡改的能力,即可以保护自己,防止偶然破坏。在实际实施隔离性原则时常需要软硬件相结合。硬件的基本特性是使内核能防止用户程序访问内核代码和数据,这与内核防止一进程访问别的进程是同一种内存管理机制。同时,还必须防止用户程序执行内核用于控制内存管理机制的特权指令。这需要某种形式的域控制机制,比如保护环机制。,(3)可验证性原则可验证性原则是通过如下一些设计要素实现的: 利用最新的软件工程技术,包括结构设计、模块化、信息隐藏、分层、抽象说明以及合适的高级语言。 内核接口简单化。 内核小型化。 代码检查。 安全测试。 形式化数学描述与验证。,6可信计算基操作系

7、统的安全依赖于一些具体实施安全策略的可信的软件和硬件。这些软件、硬件和负责系统安全管理的人员一起组成了系统的可信计算基。具体来说可信计算基由以下几个部分组成:(1)操作系统的安全内核。(2)具有特权的程序和命令。(3)处理敏感信息的程序,如系统管理命令等。(4)与TCB实施安全策略有关的文件。(5)其他有关的固件、硬件和设备。 (6)负责系统管理的人员。 (7)保障固件和硬件正确的程序和诊断软件。,操作系统安全的主要目标是:依据系统安全策略对用户的操作进行存取控制,防止用户对计算机资源的非法存取,标识系统中的用户并进行身份鉴别,监督系统运行的安全性,保证系统自身的安全性和完整性。为了实现这些目

8、标,需要建立相应的安全防护,其一般方法包括硬件安全机制、标识与鉴别、存取控制、最小特权管理、可信通路、安全审计等。,6.1.2 操作系统安全防护的一般方法,1硬件安全机制(1)存储保护对于一个安全操作系统,存储保护是一个最基本的要求,这主要是指保护用户在存储器中的数据。保护单元为存储器中的最小数据范围,可为字、字块、页面或段。保护单元越小,则存储保护精度越高。对于代表单个用户,在内存中一次运行一个进程的系统,存储保护机制应该防止用户程序对操作系统的影响。在允许多道程序并发运行的多任务操作系统中,还进一步要求存储保护机制对进程的存储区域实行互相隔离。,(2)运行保护安全操作系统很重要的一点是进行

9、分层设计,而运行域正是这样一种基于保护环的等级式结构。运行域是进程运行的区域,在最内层具有最小环号的环具有最高特权,而在最外层具有最大环号的环是最小的特权环。一般的系统不少于34个环。,图6-3 多环结构示意,(3)I/O保护在一个操作系统的所有功能中,I/O一般被认为是最复杂的,人们往往首先从系统的I/O部分寻找操作系统安全方面的缺陷。绝大多数情况下,I/O是仅由操作系统完成的一个特权操作,所有操作系统都对读写文件操作提供一个相应的高层系统调用,在这些过程中,用户不需要控制I/O操作的细节。,2标识与鉴别标识与鉴别是涉及系统和用户的一个过程。标识就是系统要标识用户的身份,并为每个用户取一个系

10、统可以识别的内部名称用户标识符。用户标识符必须是唯一的且不能被伪造,防止一个用户冒充另一个用户。将用户标识符与用户联系的过程称为鉴别,鉴别过程主要用以识别用户的真实身份,鉴别操作总是要求用户具有能够证明他的身份的特殊信息,并且这个信息是秘密的或独一无二的,任何其他用户都不能拥有它。,3访问控制在计算机系统中,安全机制的主要内容是访问控制,包括以下3个任务:(1)授权,即确定可给予哪些主体访问客体的权力。(2)确定访问权限(读、写、执行、删除、追加等访问方式的结合)。(3)实施访问权限。这里,“访问控制”仅适用于计算机系统内的主体和客体,而不包括外界对系统的访问。控制外界对系统访问的技术是标识与

11、鉴别。,4最小特权管理为使系统能够正常运行,系统中的某些进程需要具有一些可违反系统安全策略的操作能力,这些进程一般是系统管理员/操作员进程。一般定义一个特权就是定义一个可违反安全策略的操作能力。最小特权管理的思想是系统不应给用户超过执行任务所需特权以外的特权,如将超级用户的特权划分为一组细粒度的特权,分别授予不同的系统操作员/管理员,使他们只具有完成其任务所需的特权,从而减少由于特权用户口令丢失或错误软件、恶意软件、误操作所引起的损失。,5可信通路在计算机系统中,用户是通过不可信的中间应用层和操作系统相互作用的。但用户登录,定义用户的安全属性,改变文件的安全级等操作,用户必须确实与安全核心通信

12、,而不是与一个木马打交道。系统必须防止木马模仿登录过程,窃取用户的口令。特权用户在进行特权操作时,也要有办法证实从终端上输出的信息是正确的,而不是来自于木马。这些都需要一个机制保证用户和内核的通信,这种机制就是由可信通路提供的。,6安全审计(1)审计的概念一个系统的安全审计就是对系统中有关安全的活动进行记录、检查及审核。它的主要目的就是检测和阻止非法用户对计算机系统的入侵,并显示合法用户的误操作。审计作为一种事后追查的手段来保证系统的安全,它对涉及系统安全的操作做一个完整的记录。审计为系统进行事故原因的查询、定位、事故发生前的预测、报警以及事故发生之后的实时处理提供详细、可靠的依据和支持,以备

13、有违反系统安全规则的事件发生后能够有效地追查事件发生的地点和过程以及责任人。因此审计是操作系统安全的一个重要方面,安全操作系统也都要求用审计方法监视安全相关的活动。,(2)审计事件审计事件是系统审计用户操作的基本单位。系统将所有要求审计或可以审计的用户动作都归纳成一个个可区分、可识别、可标志用户行为和可记录的审计单位,即审计事件。比如创建一个名为file1的文件,这一动作是通过系统调用create(“file1”, mode)或open(“file1”, O_CREATE, mode)实现的,为了能反映用户的这一动作,系统可以设置事件create,这个事件就在用户调用上述系统调用时由核心记录下

14、来。,(3)审计记录和审计日志安全操作系统的审计记录一般应包括如下信息:事件的日期和时间、代表正在进行事件的主体的唯一标识符、事件的类型、事件的成功与失败等。对于标识与鉴别事件,审计记录应该记录事件发生的源地点(如终端标识符)。对于将一个客体引入某个用户地址空间的事件以及删除客体的事件,审计记录应该包括客体名以及客体的安全级。审计日志是存放审计结果的二进制码结构文件。每次审计进程开启后,都会按照已设定好的路径和命名规则产生一个新的日志文件。,在进行安全操作系统的设计和开发时,需要围绕着给定的安全策略进行。安全策略是对系统安全需求的形式化或者非形式化描述,安全需求则是从有关管理、保护和发布敏感信

15、息的法律、规定和实施细则中导出的。一般来说,信息系统的安全需求主要包含机密性、完整性、可追究性和可用性4个方面。所以基于系统安全策略的定义和内涵可将系统安全策略分为两大类:访问控制策略和访问支持策略。,6.1.3 操作系统的安全模型,1安全模型的作用和特点能否成功地获得高安全级别的系统,取决于对安全控制机制的设计和实施投入多少精力。但是,如果对系统的安全需求了解得不清楚,即使运用最好的软件技术,投入最大的精力,也很难达到安全要求的目标。安全模型的目的就在于明确地表达这些需求,为设计开发安全系统提供方针。安全模型有以下几个特点:它是精确的、无歧义的。它是简易和抽象的,所以容易理解。它是一般性的,

16、只涉及安全性质,而不过度地牵扯系统的功能或实现。它是安全策略的显示表示。,图6-4 安全模型与安全操作系统开发过程,2形式化安全模型设计要开发安全系统首先必须建立系统的安全模型,完成安全系统的建模之后,再进行安全内核的设计和实现。在高等级安全操作系统开发中,要求采用形式化安全模型来模拟安全系统,从而可以正确地综合系统的各类因素,这些因素包括系统的使用方式、应用环境类型、授权的定义、共享的客体、共享的类型和受控共享思想等。所有这些因素应构成安全系统的形式化抽象描述,使得系统可以被证明是完整的、反映真实环境的、逻辑上能够实现程序的受控执行的。,3状态机模型原理在现有技术条件下,安全模型大都是以状态

17、机模型作为模拟系统状态的手段,通过对影响系统安全的各种变量和规则的描述和限制,来达到确保系统安全状态不变量的维持(意味着系统安全状态保持)的目的。 开发一个状态机模型需要采用如下特定的步骤。,(1)定义安全相关的状态变量。 (2)定义安全状态的条件。 (3)定义状态转换函数。 (4)检验函数是否维持了安全状态。 (5)定义初始状态。 (6)依据安全状态的定义,证明初始状态安全。,6.2.1 Windows XP系统安全,Windows XP的前身是Windows NT操作系统,Windows NT是Microsoft公司于1992年开发的一个完全32位的操作系统,支持进程、多线程、均衡处理、分

18、布式计算,是一个支持并发的单用户系统。NT的结构是层次结构和客户机/服务器结构的混合体,只有与硬件直接相关的部分是由汇编实现的,NT主要是用C语言编写的。Windows NT的设计目标是TCSEC标准的C2级,在TCSEC中,一个C2系统必须在用户级实现自主访问控制、必须提供对客体的访问的审计机制,此外还必须实现客体重用。,6.2 Windows系统安全技术,1. Windows XP安全模型Windows XP操作系统提供了一组可配置的安全性服务。以下是该级别所规定的主要安全性服务及其需要的基本特征: 安全登录:要求在允许用户访问系统之前,输入唯一的登录标识符和密码来标识自己。 自主访问控制

19、:允许资源的所有者决定哪些用户可以访问资源和他们可以如何处理这些资源。 安全审计:提供检测和记录与安全性有关的任何创建、访问或删除系统资源的事件或尝试的服务。 内存保护:防止非法进程访问其他进程的专用虚拟内存。,(1)Windows XP安全模型Windows XP操作系统将其安全模型扩展到分布式环境中,此分布式安全服务能让组织识别网络用户并控制他们对资源的访问。操作系统的安全模型使用信任域控制器身份验证、服务之间的信任委派以及基于对象的访问控制。其核心功能包括了与Active Directory服务的集成、支持Kerberos版本5身份验证协议(用于验证用户的身份)、验证外部用户的身份时使用

20、公钥证书、保护本地数据的加密文件系统,及使用IPSec来支持公共网络上的安全通信。此外,开发人员可在自定义应用程序中使用安全性元素,且组织可以将Windows XP安全设置与其他使用基于Kerberos安全设置的操作系统集成在一起。,(2)Windows的域和委托域模型是Windows网络系统的核心,所有Windows的相关内容都是围绕着域来组织的,而且大部分Windows的网络都是基于域模型,同工作组相比,域模型在安全方面有非常突出的优越性。域是一些服务器的集合,这些服务器被归为一组并共享同一个安全策略和用户账户数据库。域的集中化用户账号数据库和安全策略使得系统管理员可以用一个简单而有效的方

21、法来维护整个网络的安全。域由主域控制器、备份域控制器、服务器和工作站组成。建立域可以把机构中不同的部门区分开来。,委托是一种管理方法,它将两个域连接在一起并允许域里的用户互相访问,委托关系使用户账号和工作组能够在建立它们的域之外的域中使用。委托分为两个部分,即受托域和委托域。受托域使用户账号可以被委托域使用。这样,用户只需要一个用户名和口令就可以访问多个域。委托关系只能被定义为单向的。为了获得双向委托关系,域与域之间必须相互委托。受托域就是账号所在的域,也称为账号域;委托域含有可用的资源,也称为资源域。在Windows XP中有三种委托关系:单一域模型、主域模型和多主域模型。,(3)Windo

22、ws安全性组件实现Windows XP安全模型的安全子系统的一些组件和数据库如下: 安全引用监视器(SRM)。 本地安全认证(LSA)服务器。 LSA策略数据库。 安全账号管理器服务。 SAM数据库。 默认身份认证包。 登录进程。 网络登录服务。,2Windows XP系统登录过程登录是通过登录进程(WinLogon)、LSA、一个或多个身份认证包和SAM的相互作用发生的。身份认证包是执行身份验证检查的动态连接库,msv1_0是一个用于交互式登录的身份认证包。WinLogon是一个受托进程,负责管理与安全性相关的用户相互作用。它协调登录,在登录时启动用户外壳,处理注销和管理各种与安全性相关的其

23、他操作,包括登录时输入口令、更改口令以及锁定和解锁工作站。WinLogon进程必须确保与安全性相关的操作对任何其他活动的进程是不可见的。,系统初始化过程中,在激活任何用户应用程序之前,WinLogon将进行一些特定的步骤以确保一旦系统为用户做好准备,它能够控制工作站: 创建并打开一个窗口站以代表键盘、鼠标和监视器。 创建并打开三个桌面:应用程序桌面、WinLogon桌面和屏幕保护程序桌面。 建立与LSA的LPC连接。 调用LsaLookupAuthenticationPackage来获得与msv1_0相关的IP,它将在试图登录时用于身份验证操作。然后,WinLogon执行特定的Windows操

24、作来设置窗口环境。, 用它随后创建的窗口初始化并注册一个与WinLogon程序相关的窗口等级的数据结构。 用刚创建的窗口注册与之相关的安全注意序列(SAS)热键序列,保证在用户输入SAS时,WinLogon的窗口程序能够被调用。 注册该窗口以便在用户注销或屏幕保护程序时间到时的时候能调用与该窗口相关的程序。Win32子系统检查以验证请求通知的进程是WinLogon进程。,3Windows XP资源访问Windows XP的资源对象包括文件、设备、邮件槽、已命名的和未命名的管道、进程、线程、事件、互斥体、信号量、可等待定时器、访问令牌、窗口站、桌面、网络共享、服务、注册表键和打印机。因为被导出到

25、用户态的系统资源是作为对象来实现的,所以Windows XP对象管理器就成为执行安全访问检查的关键关口。要控制谁可以处理对象,安全系统就必须首先明确每个用户的标识。之所以需要确认用户标识,是因为Windows XP在访问任何系统资源之前都要进行身份验证登录。当一个线程打开某对象的句柄时,对象管理器和安全系统就会使用调用者的安全标识来决定是否将申请的句柄授予调用者。,4Windows XP安全审计在Windows系统中,对象管理器可以将访问检查的结果生成审计事件,同时用户使用有效的Win32函数也可以直接生成这些审计事件。核心态代码通常只允许生成一个审计事件。但是,调用审计系统服务的进程必须具有

26、SeAuditPrivilege特权才能成功地生成审计记录。这项要求防止了恶意的用户态程序“淹没”“安全日志”。,6.2.2 Windows Server 2003系统安全,1Windows Server 2003主要特点与安全优势 Windows Server 2003是目前微软推出的使用最广泛的服务器操作系统。起初该产品叫做“Windows.NET Server”,后改成“Windows.NET Server 2003”,最终确定为“Windows Server 2003” 。 Windows Server 2003系列沿用了Windows 2000 Server的先进技术并且使之更易于部

27、署、管理和使用。Windows Server 2003的重要功能具有安全性、可靠性、可用性和可伸缩性等特点,这使其成为高度可靠的平台。Windows Server 2003是一个多任务操作系统,它能够按照需要,以集中或分布的方式处理各种服务器角色。,2Windows Server 2003安全隐患解决方案Windows Server 2003作为Microsoft的服务器操作系统,各方面的功能确实得到了增强,尤其在安全方面。但是它也存在着系统漏洞及安全隐患。为了让它更加安全,可以采取以下一些设置方案。(1)消除默认共享隐患(2)重新支持ASP脚本 (3)取消IE安全提示对话框(4)杜绝非法访问

28、应用程序(5)关闭不必要的端口(6)重新设置端口过滤(7)清空远程可访问的注册表路径,6.3.1 UNIX/Linux安全基础,在安全结构上,Linux与UNIX基本上是相似的。如无特别说明,下面对UNIX的叙述对Linux也是通用的。 1UNIX系统的安全特性 UNIX早期版本的安全性能很差,仅达到TCSEC的C1安全级。但后来的新版本引进了受控访问环境的增强特性,增加了审计特性,进一步限制用户执行某些系统指令,审计特性可跟踪所有的“安全事件”和系统管理员的工作,UNIX系统达到了C2安全级,它具有以下安全特征。,6.3 UNIX/Linux系统安全技术,(1)访问控制:系统通过访问控制表A

29、CL使得用户可以自行改变文件的安全级别和访问权限。 (2)审计记录:UNIX系统能够对很多事件进行记录,(3)操作的可靠性:操作的可靠性是指UNIX系统用于保证系统的完整性的能力。UNIX系统通过对用户的分级管理、对运行级别的划分,以及前面提到的访问控制和自带的一些工具,能够很好地保证系统操作的可靠性。 (4)对象的可用性:当一个对象不再使用时,在它回到自由对象之前,TCB将要消除它,以备下次需要时使用。 (5)个人身份标识与认证,2UNIX的安全体系结构UNIX的安全体系结构可以按照ISO/OSI网络模型的层次结构将它分成7层。(1)Policy(策略层)(2)Personnel(用户层)(

30、3)LAN(局域网层)(4)Internal Demark(内部区分层)(5)Gateway(嵌入的UNIX网关层)(6)Packet-Filter(包过滤层)(7)External Demark(外部连接层),6.3.2 UNIX/Linux安全机制,1标识 UNIX的各种管理功能都被限制在一个超级用户(root)中,其功能和Windows NT的管理员(administrator)类似。作为超级用户可以控制一切,包括用户账号、文件和目录、网络资源。允许超级用户管理所有资源的各类变化,或者只管理很小范围的重大变化。,2鉴别 用户名是个标识,它告诉计算机该用户是谁,而口令是个确认证据。用户登录

31、系统时,需要输入口令来鉴别用户身份。当用户输入口令时,UNIX使用改进的DES算法对其加密,并将结果与存储在/etc/passwd或NIS数据库中的加密用户口令比较,若二者匹配,则说明该用户的登录合法,否则拒绝用户登录。 为防止口令被非授权用户盗用,对其设置应以复杂、不可猜测为标准。一个好的口令应当至少有6个字符长,不要取用个人信息和普通的英语单词(因为易遭受字典攻击法攻击),口令中最好有一些非字母(如数字、标点符号、控制字符等)。用户应定期改变口令。,3存取控制 在UNIX文件系统中,控制文件和目录中的信息存在磁盘及其他辅助存储介质上。它控制每个用户可以访问何种信息及如何访问,表现为通过一组

32、存取控制规则来确定一个主体是否可以存取一个指定客体。UNIX的存取控制机制通过文件系统实现。,4审计 UNIX系统的审计机制监控系统中发生的事件,以保证安全机制正确工作并及时对系统异常报警提示。审计结果常写在系统的日志文件中。丰富的日志为UNIX的安全运行提供了保障。其中,最常用的大多数版本的UNIX都具备的审计服务程序是syslogd,它可实现灵活配置、集中式管理。运行中需要对信息作登记的单个软件发送消息给syslogd,根据配置(/etc/syslog.conf),按照消息的来源和重要程度,这些消息可记录到不同的文件、设备或其他主机中。Linux日志与UNIX类似,非常普遍存在于系统、应用

33、和协议层。,5密码 加密(encryption)是指把一个消息(plaintext,称为明文)用一个数学函数和一个专门的加密口令(称为密钥)转换为另一个消息(ciphertext,称为密文)的过程。解密(decryption)是加密的反过程:将密文用一个数学函数和一个密钥转换为明文。 在UNIX系统中采用加密系统是必要的。假设一个拥有超级用户权限的用户可以绕过文件系统的所有口令检查,虽然他的权限极大,但如果文件加密,在不知道密钥的情况下仍是无法解密文件的。,6网络安全性 当前的UNIX系统通常是运行在网络环境中的,默认支持TCP/IP协议。所以网络安全性也是操作系统所强调的一个不可分割的重要方

34、面。网络安全性,主要指通过防止本机或本网被非法入侵、访问,从而达到保护本系统可靠、正常运行的目的。UNIX操作系统可以对网络访问控制提供强有力的安全支持,主要方式是有选择地允许用户和主机与其他主机的连接。,7网络监控与入侵检测 入侵检测技术是一项相对比较新的技术。标准的UNIX/Linux发布版本也是最近才配备了这种工具的。利用UNIX配备的工具和从因特网上下载的工具,可以使系统具备较强的入侵检测能力。包括让UNIX记录入侵企图,当攻击发生时及时给出警报;让UNIX在规定情况的攻击发生时,采取事先确定的措施;让UNIX发出一些错误信息,比如模仿成其他操作系统。,8备份/恢复 在现有的计算机体系

35、结构和技术水平下,无论采取怎样的安全措施,都不能消除系统崩溃的可能性,所以常使用系统备份来加强系统的安全性和可靠性。系统备份是一件非常重要的事情,它可使系统在灾难发生后恢复到一个稳定的状态,将损失减到最小。 备份的常用类型有3种:实时备份、整体备份、增量备份。系统的备份应根据具体情况制定合理的策略,备份文档应经过处理(压缩、加密等)合理保存。,6.3.3 UNIX/Linux安全措施,UNIX操作系统的内部均设有记录系统访问的日志文件,也包括系统安全记录文件。这些文件往往是检测是否有网络入侵的重要线索。若系统是直接连接到Internet,则会发现有很多人对系统进行一些telnet或FTP登录尝

36、试。比如,Linux系统安全记录文件保存在/var/log目录下,主要文件是secure和secure.x,可以通过运行“#more/var/log/secure/grep refused”来检查Linux系统所受到的攻击,以便采取相应的对策,如使用SSH来替换telnet、rlogin等,远程登录采用Kerberos等认证。,1启动和登录安全性设置(1)系统设备的BIOS安全设置(2)系统默认账号的删除或禁用(3)用户口令的设置及口令文件的保护(4)禁止Ctrl+Alt+Delete重新启动系统(5)限制使用su命令(6)删除登录信息(7)登录终端的设置(8)避免显示系统和版本信息,2网络访

37、问安全性设置(1)关闭、停止或限制不必要的网络服务(2)防止攻击和欺骗的设置阻止ping防止IP欺骗防止DoS攻击防止基于堆栈的缓冲区溢出攻击,3常用手工入侵检测方法与命令 网络系统管理员的职责不仅仅是要管理好网络系统,及时排除各种故障,还要时刻注意网络安全,预防黑客入侵。因而,熟悉UNIX系统的常用手工入侵检测的方法和命令应是网络管理员的基本技能。掌握常用的UNIX手工入侵检测方法和命令,不仅可以迅速判断出一些简单的黑客入侵,还可以加深对入侵检测的了解,从而能更好地使用一些入侵检测和审计工具。,(1)检查/etc/passwd文件中是否有可疑用户(2)检查/etc/inetd.conf和cr

38、ontab文件是否被修改(3)检查.rhosts、/etc/hosts.equiv文件是否被修改(4)检查是否有危险的root suid程序(5)检查系统日志(6)检查是否有可疑进程(7)检查网络连接和开放端口,6.4.1 数据库安全概述,1数据库安全威胁 在数据库环境中,不同的用户通过数据库管理系统访问同一组数据集合,这样减少了数据的冗余、消除了不一致的问题,同时也免去了程序对数据结构的依赖。然而,这同时也导致数据库面临更严重的安全威胁。 根据违反数据库安全性所导致的后果,安全威胁可以分为以下几类:非授权的信息泄露、非授权的数据修改、拒绝服务。,6.4 数据库安全,2数据库安全需求(1)防止

39、非法数据访问(2)防止推导(3)保证数据库的完整性(4)保证数据的操作完整性(5)数据的语义完整性(6)审计和日志(7)标识和认证(8)机密数据管理(9)多级保护(10)限界,3数据库安全与操作系统安全的关系 数据库与操作系统的安全需求间存在许多相似和不同之处。操作系统的目标是管理和共享物理对象,如文件、设备、内存、进程等,而数据库的目标是管理和共享逻辑对象。所以,操作系统安全主要是对物理对象的访问和使用进行保护,而数据库安全主要考虑保护逻辑对象的安全。这一点也奠定了数据库安全和操作系统安全的相同点、不同点和相互关系的基础。,6.4.2 数据库安全机制,1用户标识与鉴别 用户标识是指用户向系统

40、出示自己的身份证明,最简单的方法是输入用户ID和密码。标识机制用于唯一标志进入系统的每个用户的身份,因此必须保证标识的唯一性。鉴别是指系统检查验证用户的身份证明,用于检验用户身份的合法性。标识和鉴别功能保证了只有合法的用户才能存取系统中的资源。,2访问控制 访问控制的目的是确保用户对数据库只能进行经过授权的有关操作。在访问控制机制中,一般把被访问的资源称作客体,把以用户名义进行资源访问的进程、事务等实体称作主体。,3数据库加密 由于数据库在操作系统下都是以文件形式进行管理的,入侵者可以直接利用操作系统的漏洞窃取数据库文件,或者篡改数据库文件内容。另一方面,数据库管理员(DBA)可以任意访问所有

41、数据,往往超出了其职责范围,同样造成安全隐患。因此,数据库的保密问题不仅包括在传输过程中采用加密保护和控制非法访问,还包括对存储的敏感数据进行加密保护,使得即使数据不幸泄露或者丢失,也难以造成泄密。同时数据库加密可以由用户用自己的密钥加密自己的敏感信息,而不需要了解数据内容的数据库管理员无法进行正常解密,从而可以实现个性化的用户隐私保护。,4数据库审计 数据库审计是指监视和记录用户对数据库所施加的各种操作的机制。按照美国国防部TCSEC标准中关于安全策略的要求,审计功能是数据库系统达到C2以上安全级别必不可少的一项指标。 审计功能把用户对数据库的所有操作自动记录下来,存入审计日志,事后可以利用

42、审计信息,重现导致数据库现有状况的一系列事件,提供分析攻击者线索的依据。 数据库管理系统的审计主要分为语句审计、特权审计、模式对象审计和资源审计。,5备份与恢复 一个数据库系统总避免不了故障的发生。安全的数据库系统必须能在系统发生故障后,利用已有的数据备份,把数据库恢复到原来的状态,并保持数据的完整性和一致性。数据库系统所采用的备份与恢复技术,对系统的安全性与可靠性起着重要作用,也对系统的运行效率有着重大影响。,6推理控制和隐私保护 数据库安全中的推理是指,用户根据低密级的数据和模式的完整性约束推导出高密级的数据,造成未经授权的信息泄露。这种推理的路径称为推理通道(Inference Chan

43、nel)。近年来随着外包数据库模式及数据挖掘技术的发展,对数据库推理控制(Inference Control)、隐私保护(Privacy Protection)的要求也越来越高。,6.4.3 数据库安全技术,1加强系统和网络安全 一个信息系统必须整体部署安全策略,数据库的安全首先依赖于网络系统安全。防火墙作为系统的第一道防线,监控可信任网络和不可信任网络之间的访问通道,可在内、外部网络之间形成一道防护屏障,拦截来自外部的非法访问。操作系统是数据库系统的运行平台,能够为数据库提供第二道安全保护。,2账号和密码安全(1)密码检查安全的密码是保护数据库访问的最有力方式。如果具有管理权限的密码泄露,其

44、他安全措施将形同虚设。但遗憾的是,管理员常常忽略对密码的有效保护。 (2)缺省密码除了对已知的DBA和应用用户进行管理,管理员还应注意数据库缺省用户。 (3)密码策略除了以上这些,还需要口令有效时间、口令复杂度检查、口令重复使用周期等安全策略来保护数据库。,3控制角色和授权 密码控制用户是否能进入系统,而权限决定用户在系统中能做什么。关于控制角色和授权的根本原则是:采用最小授权原则,给用户尽量少的权限。 (1)最小授权原则:根据应用情况,保留需要有DBA角色的用户,撤销不需要用户DBA角色。 (2)PUBLIC角色:PUBLIC是一个特殊的系统角色,它作为一个缺省角色分配给数据库的每个用户。为

45、了安全性起见,需要撤销PUBLIC角色的一些不必要权限。 (3)系统表许可:为了系统安全,还应该严格控制对数据字典的访问。回收查询所有表的权限,防止用户越权访问数据字典。,4实施审计 缺省情况下,数据库不启动审计,要求管理员配置数据库或者安装审计工具后才能启动审计。审计通常都包括登录审计、语句审计和对象审计等。 (1)审计范围和影响:在实施安全设计前,需要决定审计范围,制定审计计划,再使用该数据库的设计工具来达到目标。 (2)审计实施:在实施审计前,通过审计范围已经确定了目标,可能发现有人正在篡改数据,因此决定监视针对特定表或者数据集的修改行为。 (3)细粒度审计,5缓冲区溢出和安全补丁 缓冲

46、区是内存中存放数据的地方。在程序视图将数据放到计算机内存中的某一位置,但没有足够空间时会发生缓冲区溢出。理想情况是,程序检查数据长度并且不允许输入超过缓冲区长度的字符串。但是绝大多数程序都会假设数据长度总是与所分配的存储空间相匹配,这就是缓冲区溢出埋下隐患。,6.4.4 攻击数据库的常用方法,1密码攻击 密码攻击是指利用已经获取的数据库合法用户和密码来针对数据库甚至对整个系统或者网络进行的攻击。 攻击者攻击目标时常常把破译用户的密码作为攻击的开始。只要攻击者能猜测或者确定用户的密码,他就能获得一定的数据库权限,进而可能获取机器或者网络的访问权,甚至通过用户的密码,他就能获得一定的数据库权限,进

47、而可能获取机器或者网络的访问权,甚至通过进一步的渗透,访问到用户可以访问的任何资源。如果这个用户有域管理员或root用户权限,这是极其危险的。,2溢出攻击 通常所说的“溢出”指的就是缓冲区溢出,缓冲区是内存中存放数据的地方,是程序运行时计算机内存中一个连续的块,它保存了给定类型的数据。为了不用太多的内存,一个有动态分配变量的程序在程序运行时决定给缓冲区分配多少内存。当程序试图将数据放到计算机内存中的某一位置,但没有足够空间时会发生缓冲区溢出。程序在动态分配缓冲区放入太多的数据也会溢出。,3SQL注入攻击 SQL注入攻击是目前最为流行的针对数据库的攻击方式。所谓SQL注入攻击(SQL Injec

48、tion),就是攻击者把SQL命令插入到Web表单的输入域或页面请求的查询字符串中,欺骗服务器执行恶意的SQL命令。当应用程序使用输入内容来构造动态SQL语句以访问数据库时,会发生SQL注入攻击。如果代码使用存储过程,而这些存储过程作为包含未筛选的用户输入的字符串来传递,也会发生SQL注入攻击。SQL注入可能导致攻击者使用应用程序登录在数据库中执行命令。如果应用程序使用特权过高的账户连接到数据库,这种问题会变得很严重。,6.5.1 Oracle数据库安全策略,1组和安全性 在操作系统下建立用户组是保证数据库安全性的一种有效方法。Oracle程序为了安全性目的一般分为两类:一类所有的用户都可执行

49、,另一类只有数据库管理员组DBA可执行。在UNIX环境下组设置的配置文件是/etc/group,UNIX的有关手册对于如何配置这个文件进行了详细的介绍。,6.5 Oracle数据库安全技术,2建立安全策略 系统安全策略主要考虑以下3点: (1)管理数据库用户是访问Oracle数据库信息的途径,因此应该很好地维护管理数据库用户的安全性。 (2)身份确认数据库用户可以通过操作系统、网络服务或数据库进行身份确认。 (3)为保证操作系统安全性,数据库管理员必须有create和delete文件的操作系统权限,而一般数据库用户不应该有create或delete与数据库相关文件的操作系统权限。如果操作系统能

50、为数据库用户分配角色,那么安全性管理者必须有修改操作系统账户安全性区域的操作系统权限。,6.5.2 Oracle数据库安全实现方法,1保护默认的用户账号 在新的Oracle数据库中,初始时,一般都安装有20多个的默认模式。 当利用Google对“默认Oracle用户”进行搜索时可以发现,其中的用户名、密码以及这些账号的权限都是公开的。这些账号经常用来存储元数据以及用于专门的数据库选项的过程。因此,其中的很多账号都拥有相当重要的权限,它们的密码也可能是众所周知的,有可能就列举在Oracle的产品文档中,也有可能就发布在Internet上。上述因素加起来,则对数据库形成了危险:为授权的用户可以连接到其中的某个授权账号上,并访问或修改敏感的数据。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报