第三部分网络安全防御技术★第8章安全操作系统基础◎安全操作系统的基本概念、实现机制◎安全模型以及安全体系结构◎操作系统安全的36条基本配置原则★第9章密码学与信息加密◎密码学的基本概念◎DES加密和RSA加密◎加密工具PGP◎数字签名的原理,数字水印的基本概念◎PKI信任模型★第10章防火墙与入侵检测◎防火墙的基本概念◎常见防火墙类型及实现防火墙规则集◎入侵检测系统的基本概念和入侵检测的常用方法◎编写入侵检测工具◎使用工具实现入侵检测。★第11章IP安全与Web安全◎IPSec中的AH协议和ESP协议◎密钥交换协议IKE◎VPN的功能以及解决方案◎SSL和TLS安全协议的内容与体系结构第8章安全操作系统基础内容提要◎介绍安全操作系统的基本概念、实现机制、安全模型以及安全体系结构◎操作系统的安全将决定网络的安全,从保护级别上分成安全初级篇、中级篇和高级篇,共36条基本配置原则8.1常用操作系统概述目前服务器常用的操作系统有四类:FreeBSD、UNIX、Linux和WindowsNT/2000/2003Server。这些操作系统都是符合C2级安全级别的操作系统,但是都存在不少漏洞,如果对这些漏洞不了解,不采取相应的安全措施,就会使操作系统完全暴露给入侵者。8.1.1UNIX操作系统UNIX操作系统是由美国贝尔实验室开发的一种多用户、多任务的通用操作系统。它从一个实验室的产品发展成为当前使用普遍、影响深远的主流操作系统。UNIX诞生于20世纪60年代末期,贝尔实验室的研究人员于1969年开始在GE645计算机上实现一种分时操作系统的雏形,后来该系统被移植到DEC的PDP-7小型机上。1970年系统正式取名为UNIX操作系统。到1973年,UNIX系统的绝大部分源代码都用C语言重新编写过,大大提高了UNIX系统的可移植性,也为提高系统软件的开发效率创造了条件。随后,出现了各种版本的UNIX系统,比较有影响的版本包括:SUN公司的SUNOS操作系统,Microsoft和SCO公司的XENIX操作系统,Interactive公司的UNIX386/x操作系统,DEC公司ULTRIX操作系统,IBM公司的AIX操作系统,HP公司HP-UX操作系统,SCO公司的UNIX和ODT操作系统,以及SUN公司的Solaris操作系统。UNIX操作系统经过20多年的发展,已经成为一种成熟的主流操作系统8.1.1UNIX操作系统主要特色包括5个方面。(1)可靠性高。许多UNIX主机和服务器在国内许多企业每天24小时、每年365天不间断运行,并保持着良好的状态,这是Windows系列操作系统所不能比拟的。整个HP公司的所有信息处理工作都采用UNIX操作系统来承担。(2)极强的伸缩性。UNIX操作系统可以在笔记本计算机、个人计算机、小型机和大型机上运行。此外,由于采用了对称多处理器技术、大规模并行处理器和簇等技术,使商品化的UNIX操作系统支持的CPU数量达到了32个,这就使UNIX平台的扩展能力大大加强了。强大的可伸缩性是企业级操作系统的重要特征。(3)网络功能强。强大的网络功能是UNIX操作系统最重要的特色之一,特别是作为Internet技术基础的TCP/IP协议就是在UNIX操作系统上开发出来的,几乎所有的UNIX操作系统都支持TCP/IP协议。(4)强大的数据库支持功能。由于UNIX操作系统支持各种数据库,特别是对关系型数据库管理系统(RelationshipDatabaseManagementSystem,RDBMS)提供强大的支持,许多数据库厂商将UNIX操作系统作为首选的操作系统,比如:Oracle,Informix和Sybase等。(5)开放性好。开放系统的概念已经被计算机业界普遍接受,而且成为发展的主要趋势。所有的计算机软件厂商都声称自己的产品是开发系统,但是程度上有明显的差别。Linux系统Linux是一套可以免费使用和自由传播的类Unix操作系统,主要用于基于Intelx86系列CPU的计算机上。这个系统是由全世界各地的成千上万的程序员设计和实现的。其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的Unix兼容产品。Linux最早开始于一位名叫LinusTorvalds的计算机业余爱好者,当时他是芬兰赫尔辛基大学的学生。目的是想设计一个代替Minix(是由一位名叫AndrewTannebaum的计算机教授编写的一个操作系统示教程序)的操作系统。这个操作系统可用于386、486或奔腾处理器的个人计算机上,并且具有Unix操作系统的全部功能。Linux是一个免费的操作系统,用户可以免费获得其源代码,并能够随意修改。它是在共用许可证GPL(GeneralPublicLicense)保护下的自由软件,也有好几种版本,如RedHatLinux、Slackware,以及国内的XteamLinux、红旗Linux等等。Linux的流行是因为它具有许多优点,典型的优点有7个。Linux典型的优点有7个。(1)完全免费(2)完全兼容POSIX1.0标准(3)多用户、多任务(4)良好的界面(5)丰富的网络功能(6)可靠的安全、稳定性能(7)支持多种平台Windows系统WindowsNT(NewTechnology)是微软公司第一个真正意义上的网络操作系统,发展经过NT3.0、NT40、NT5.0(Windows2000)和NT6.0(Windows2003)等众多版本,并逐步占据了广大的中小网络操作系统的市场。WindowsNT众多版本的操作系统使用了与Windows9X完全一致的用户界面和完全相同的操作方法,使用户使用起来比较方便。与Windows9X相比,WindowsNT的网络功能更加强大并且安全。WindowsNT系列操作系统WindowsNT系列操作系统具有以下三方面的优点。(1)支持多种网络协议由于在网络中可能存在多种客户机,如Windows95/98、AppleMacintosh、Unix、OS/2等等,而这些客户机可能使用了不同的网络协议,如TCP/IP协议、IPX/SPX等。WindowsNT系列操作支持几乎所有常见的网络协议。(2)内置Internet功能随着Internet的流行和TCP/IP协议组的标准化,WindowsNT内置了IIS(InternetInformationServer),可以使网络管理员轻松的配置等服务。(3)支持NTFS文件系统Windows9X所使用的文件系统是FAT,在NT中内置同时支持FAT和NTFS的磁盘分区格式。使用NTFS的好处主要是可以提高文件管理的安全性,用户可以对NTFS系统中的任何文件、目录设置权限,这样当多用户同时访问系统的时候,可以增加文件的安全性。8.2安全操作系统的研究发展Multics是开发安全操作系统最早期的尝试。1965年美国贝尔实验室和麻省理工学院的MAC课题组等一起联合开发一个称为Multics的新操作系统,其目标是要向大的用户团体提供对计算机的并发访问,支持强大的计算能力和数据存储,并具有很高的安全性。贝尔实验室中后来参加UNIX早期研究的许多人当时都参加了Multics的开发工作。由于Multics项目目标的理想性和开发中所遇到的远超预期的复杂性使得结果不是很理想。事实上连他们自己也不清楚什么时候,开发到什么程度才算达到设计的目标。虽然Multics未能成功,但它在安全操作系统的研究方面迈出了重要的第一步,Multics为后来的安全操作系统研究积累了大量的经验,其中Mitre公司的Bell和LaPadula合作设计的BLP安全模型首次成功地用于Multics,BLP安全模型后来一直都作为安全操作系统开发所采用的基础安全模型。8.2安全操作系统的研究发展Adept-50是一个分时安全操作系统,可以实际投入使用,1969年C.Weissman发表了有关Adept-50的安全控制的研究成果。安全Adept-50运行于IBM/360硬件平台,它以一个形式化的安全模型——高水印模型(High-Water-MarkModel)为基础,实现了美国的一个军事安全系统模型,为给定的安全问题提供了一个比较形式化的解决方案。在该系统中可以为客体标上敏感级别(SensitivityLevel)属性。系统支持的基本安全条件是,对于读操作不允许信息的敏感级别高于用户的安全级别(Clearance);在授权情况下,对于写操作允许信息从高敏感级别移向低敏感级别。8.2安全操作系统的研究发展Adept-50是一个分时安全操作系统,可以实际投入使用,1969年C.Weissman发表了有关Adept-50的安全控制的研究成果。安全Adept-50运行于IBM/360硬件平台,它以一个形式化的安全模型——高水印模型(High-Water-MarkModel)为基础,实现了美国的一个军事安全系统模型,为给定的安全问题提供了一个比较形式化的解决方案。在该系统中可以为客体标上敏感级别(SensitivityLevel)属性。系统支持的基本安全条件是,对于读操作不允许信息的敏感级别高于用户的安全级别(Clearance);在授权情况下,对于写操作允许信息从高敏感级别移向低敏感级别。1969年B.W.Lampson通过形式化表示方法运用主体(Subject)、客体(Object)和访问矩阵(AccessMatrix)的思想第一次对访问控制问题进行了抽象。主体是访问操作中的主动实体,客体是访问操作中被动实体,主体对客体进行访问。访问矩阵以主体为行索引、以客体为列索引,矩阵中的每一个元素表示一组访问方式,是若干访问方式的集合。矩阵中第i行第j列的元素Mij记录着第i个主体Si可以执行的对第j个客体Oj的访问方式,比如Mij={Read,Write}表示Si可以对Oj进行读和写操作。8.2安全操作系统的研究发展1972年,J.P.Anderson在一份研究报告中提出了访问监控器(ReferenceMonitor)、引用验证机制(ReferenceValidationMechanism)、安全内核(SecurityKernel)和安全建模等重要思想。J.P.Anderson指出,要开发安全系统,首先必须建立系统的安全模型,完成安全系统的建模之后,再进行安全内核的设计与实现。1973年,B.W.Lampson提出了隐蔽通道的概念,他发现两个被限制通信的实体之间如果共享某种资源,那么它们可以利用隐蔽通道传递信息。同年,D.E.Bell和L.J.LaPadula提出了第一个可证明的安全系统的数学模型,即BLP模型。1976年Bell和LaPadula完成的研究报告给出了BLP模型的最完整表述,其中包含模型的形式化描述和非形式化说明,以及模型在Multics系统中实现的解释。8.2安全操作系统的研究发展PSOS(ProvablySecureOperatingSystem)提供了一个层次结构化的基于权能的安全操作系统设计,1975年前后开始开发。PSOS采用了层次式开发方法,通过形式化技术实现对安全操作系统的描述和验证,设计中的每一个层次管理一个特定类型的对象,系统中的每一个对象通过该对象的权能表示进行访问。KSOS(KernelizedSecureoperatingSystem)是美国国防部研究计划局1977年发起的一个安全操作系统研制项目,由Ford太空通讯公司承担。KSOS采用了形式化说明与验证的方法,目标是高安全可信性。UCLASecureUnix也是美国国防部研究计划局于1978年前后发起的一个安全操作系统研制项目,由加里福尼亚大学承担。UCLASecureUnix的系统设计方法及目标几乎与KSOS相同。8.2安全操作系统的研究发展LINVSⅣ是1984年开发的基于UNIX的一个实验安全操作系统,系统的安全性可达到美国国防部橘皮书的B2级。它以4.1B