第10讲 操作系统安全配置 此为封面页,需列出课程编码、课程名称和课程开发室名称。 第10讲 操作系统安全配置 此为封面页,需列出课程编码、课程名称和课程开发室名称。 要求:每个子课程(6位编码的课程)要求做一个这样的胶片,胶片文件命名为“课程编码 课程名称.ppt”。 此页胶片仅在授课时使用,胶片+注释中不使用。 封面页按产品分为4个,各产品使用自己的封面,把其他封面直接删除即可。
内容提要 常用操作系统概述 安全操作系统的发展历程 安全操作系统的基本概念 安全操作系统的机制 常见安全模型 操作系统安全配置方案 2
§1 常用操作系统概述 目前服务器常用的操作系统有四类:FreeBSD、UNIX、Linux和Windows NT/2000/2003 Server。这些操作系统都是符合C2级安全级别的操作系统,但是都存在不少漏洞,如果对这些漏洞不了解,不采取相应的安全措施,就会使操作系统完全暴露给入侵者。 3
UNIX系统 UNIX是1960‘s的贝尔实验室开发,1970年取名为UNIX操作系统。到1973年,UNIX系统的绝大部分源代码都用C语言重新编写过,大大提高了UNIX系统的可移植性,也为提高系统软件的开发效率创造了条件。 有各种的版本,SUN的SUN OS,Microsoft和SCO公司的XENIX,IBM公司的AIX,HP公司HP-UX,SCO公司的UNIX和ODT操作系统,以及SUN公司的Solaris。经过20多年的发展,已经成为一种成熟的主流操作系统 4
UNIX系统 UNIX的主要特色包: (1)可靠性高 (2)极强的伸缩性 (3)网络功能强 (4)强大的数据库支持功能 (5)开放性好。 5
Linux系统 Linux是一套可以免费使用和自由传播的类Unix操作系统,主要用于基于Intel x86系列CPU的计算机上。这个系统是由全世界各地的成千上万的程序员设计和实现的。其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的Unix兼容产品。 Linux最早由芬兰赫尔辛基大学的学生Linus Torvalds设计的试图代替Minix的操作系统,它可用x86或奔腾处理器的个人计算机上,并且具有Unix操作系统的全部功能。 6
Linux系统 Linux是一个免费的操作系统,用户可以免费获得其源代码,并能够随意修改。 它是在共用许可证GPL(General Public License)保护下的自由软件,也有好几种版本,如Red Hat Linux、Slackware,以及国内的Xteam Linux、红旗Linux等等。 7
Linux系统 (1)完全免费 (2)完全兼容POSIX 1.0标准 (3)多用户、多任务 (4)良好的界面 (5)丰富的网络功能 (6)可靠的安全、稳定性能 (7)支持多种平台 8
Windows NT系统 Windows NT(New Technology)是微软公司第一个真正的NOS,从NT3.0、4.0、Win 2000、Win2003到Win2008,占据了广大的中小网络操作系统的市场。 (1)支持多种网络协议 (2)内置Internet功能 (3)支持NTFS文件系统 9
§2 安全操作系统的研究发展 1965年贝尔实验室和麻省理工学院联合开发一个称为Multics的新操作系统,其目标是要向大的用户团体提供对计算机的并发访问,支持强大的计算能力和数据存储,并具有很高的安全性。 虽然Multics未能成功,但Multics为后来的安全操作系统研究积累了大量的经验。 特别是Bell和La Padula的BLP安全模型首次成功地用于Multics。BLP安全模型是所有安全操作系统开发所采用的基础安全模型。 10
§2 安全操作系统的研究发展 Adept-50是一个分时安全操作系统。1969年C.Weissman发表了有关Adept-50的安全控制的研究成果。它以高水印模型(High-Water-Mark Model)为基础,实现了美国的一个军事安全系统模型,为给定的安全问题提供了一个比较形式化的解决方案。 它可以为客体标上Sensitivity Level属性。系统支持的基本安全条件是,对于读操作不允许信息的敏感级别高于用户的安全级别(Clearance);在授权情况下,对于写操作允许信息从高敏感级别移向低敏感级别。 11
§2 安全操作系统的研究发展 1969年B.W.Lampson通过形式化表示方法运用主体(Subject)、客体(Object)和访问矩阵(Access Matrix)的思想第一次对访问控制问题进行了抽象。主体是访问操作中的主动实体,客体是访问操作中被动实体,主体对客体进行访问。访问矩阵以主体为行索引、以客体为列索引,矩阵中的每一个元素表示一组访问方式,是若干访问方式的集合。矩阵中第i行第j列的元素Mij记录着第i个主体Si可以执行的对第j个客体Oj的访问方式,比如Mij={Read,Write}表示Si可以对Oj进行读和写操作。 12
§2 安全操作系统的研究发展 1972年,J.P.Anderson在一份研究报告中提出了访问监控器(Reference Monitor)、引用验证机制(Reference Validation Mechanism)、安全内核(Security Kernel)和安全建模等重要思想。J.P.Anderson指出,要开发安全系统,首先必须建立系统的安全模型,完成安全系统的建模之后,再进行安全内核的设计与实现。 1973年,B.W.Lampson提出了隐蔽通道的概念,他发现两个被限制通信的实体之间如果共享某种资源,那么它们可以利用隐蔽通道传递信息。同年,D.E.Bell和L.J.LaPadula提出了第一个可证明的安全系统的数学模型,即BLP模型。1976年Bell和LaPadula完成的研究报告给出了BLP模型的最完整表述,其中包含模型的形式化描述和非形式化说明,以及模型在Multics系统中实现的解释。 13
§2 安全操作系统的研究发展 PSOS(Provably Secure Operating System),1975年采用层次式开发方法,通过形式化技术实现对安全操作系统的描述和验证,每一个层次管理一个特定类型的对象,每一个对象通过该对象的权能表示进行访问。 KSOS(Kernelized Secure operating System)是美国国防部研究计划局1977年发起的一个安全操作系统研制项目,由Ford太空通讯公司承担。KSOS采用了形式化说明与验证的方法,目标是高安全可信性。 14
§2 安全操作系统的研究发展 UCLA Secure Unix也是美国国防部研究计划局于1978年前后发起的一个安全操作系统研制项目,由加里福尼亚大学承担,其系统设计方法及目标几乎与KSOS相同。 LINVS Ⅳ是1984年开发的基于UNIX的一个实验安全操作系统,目标是TCSEC的B2级。它以4.1BSD Unix为原型,实现了身份鉴别、自主访问控制、强制访问控制、安全审计、特权用户权限分隔等安全功能。 15
§2 安全操作系统的研究发展 Secure Xenix是IBM公司于1986年在SCO Xenix的基础上开发,目标是TCSEC的B2到A1级。 Secure Xenix系统开发方法采用的是改造/增强法。 系统基于安全注意键(SAK,Secure Attention Key)实现了可信通路(Trusted Path),重点考虑标: ⑴系统设计与BLP模型之间的一致性; ⑵实现的安全功能的测试; ⑶软件配置管理工具的开发。 16
§2 安全操作系统的研究发展 1987年,美国Trusted Information Systems公司以Mach操作系统为基础开发了B3级的Tmach。除了进行用户标识和鉴别及命名客体的存取控制外,它将BLP模型加以改进,运用到对MACH核心的端口、存储对象等的管理当中。通过对端口间的消息传送进行控制和对端口、存储对象、任务等的安全标识来加强微核心的安全机制。 17
§2 安全操作系统的研究发展 1989年,加拿大多伦多大学开发了与UNIX兼容的安全TUNIS操作系统。在实现中安全TUNIS改进了BLP模型,并用Turing Plus语言重新实现了Unix内核,模块性相当好。Turing Plus是一种强类型高级语言,其大部分语句都具有用于正确性证明的形式语义。 安全TUNIS系统的设计目标是B3-A1级,支持这个目标的关键也在于:第一其采用了Turing Plus语言,第二其采用了安全策略与安全机制相分离的方法,并提供了一个简单而结构规范的TCB,从而简化了TCB的验证工作。 18
§2 安全操作系统的研究发展 ASOS(Army Secure Operating System)由TRW公司1990年发布完成。ASOS由两类系统组成,其中一类是多级安全操作系统,设计目标是TCSEC的A1级;另一类是专用安全操作系统,设计目标是TCSEC的C2级。 ASOS的主要特点:⑴系统本身也主要是用Ada语言实现的;⑵采用ACL实现了细粒度的自主访问控制;⑶依据BLP模型实现了防止信息泄露的强制访问控制,依据Biba模型实现了确保数据完整性的强制访问控制;⑷在形式化验证中建立了两个层次的规范和证明,一个层次用于抽象的安全模型,另一个层次用于形式化顶层规范;⑸开发了一个在Gypsy验证环境(GVE)中工作的流分析工具,用于分析系统设计中潜在的隐蔽通道。 19
§2 安全操作系统的研究发展 OSF/1是开放软件基金会于1990年推出的一个安全OS,被美国国家计算机安全中心(NCSC)认可为符合TCSEC的B1级,其主要安全性表现:⑴系统标识;⑵口令管理;⑶强制存取控制和自主存取控制;⑷审计。 UNIX SVR4.1ES是UNIX国际组织于1991年推出的一个安全OS,被认可为符合TCSEC的B2级,除OSF/1外的安全性主要表现有:⑴更全面的存取控制;⑵最小特权管理;⑶可信通路;⑷隐蔽通道分析和处理。 20
§2 安全操作系统的研究发展 1991年,在欧洲共同体的赞助下,英、德、法、荷四国制定了拟为欧共体成员国使用的共同标准——信息技术安全评定标准(ITSEC)。随着各种标准的推出和安全技术产品的发展,美国和同加拿大及欧共体国家一起制定通用安全评价准则(Common Criteria for IT Security Evaluation,CC),1996年1月发布了CC的1.0版。CC标准的2.0版已于1997年8月颁布,并于1999年7月通过国际标准组织认可,确立为国际标准,即ISO/IEC 15408。 21
§2 安全操作系统的研究发展 1993年左右,美国国家安全局(NSA)和安全计算公司(SCC)在TMach和LOCK项目的基础上,共同设计和实现了Distributed Trusted Operating System,DTOS)。 此外DTOS项目产生了一些学术报告、系统形式化的需求说明书、安全策略和特性的分析、组合技术的研究和对多种微内核系统安全和保证的研究。接下来将DTOS安全结构移植到Fluke中。在此基础上最终形成改良后的结构Flask。 22
§2 安全操作系统的研究发展 2001年,Flask由NSA在Linux上实现,并且发布了一个安全性增强型版本的Linux(SELinux)。 DTOS采用了基于安全威胁的开发方法,设计目标包括: (1)策略灵活性:应该能够支持一系列的安全策略,包括诸如国防部的强制存取控制多级安全策略; (2)与Mach兼容,现有的Mach应用应能在不做任何改变的情况下运行; (3)性能应与Mach接近。 23
§2 安全操作系统的研究发展 SELinux定义了一个类型实施(TE)策略,基于角色的访问控制(RBAC)策略和多级安全(MLS)策略组合的安全策略,其中TE和RBAC策略总是系统实现的安全策略的有机组成。 EROS(Extremely Reliable Operating System)是一种基于权能(Capability,权能)的高性能微内核实时安全操作系统,是GNOSIS(后命名为KeyKOS)体系结构的第三代实现。EROS最初由美国宾西法尼亚大学开发,此项目现已转入约翰-霍普金斯大学。目前,EROS仍处在研究开发阶段,只支持Intel 486以上的系列芯片。第一个EROS内核已在1999年完成,现在开发的版本是EROS 2.0,不久就会发布。 24
国内安全操作系统的发展 1990年前后,参照美国TCSEC标准的B2级安全要求,海军计算技术研究所和解放军电子技术学院分别开始了基于UNIX System V3.2的安全操作系统的研究与开发。 1993年,海军计算技术研究所围绕Unix SVR4.2/SE,实现了国产自主的安全增强包。 1995年,在国家“八五”科技攻关项目――“COSA国产系统软件平台”中,围绕UNIX类国产操作系统COSIX V2.0的安全子系统的设计与实现,目标是介于TCSEC的B1和B2级安全要求之间,主要实现的安全功能包括安全登录、自主访问控制、强制访问控制、特权管理、安全审计和可信通路等。 25
国内安全操作系统的发展 1996年,由中国国防科学技术工业委员会发布了军用计算机安全评估准则GJB2646-96(简称为军标),它与TCSEC基本一致。 1998年,电子工业部十五所基于UnixWare V2.1按照美国TCSEC标准的B1级安全要求,对Unix操作系统的内核进行了安全性增强。 1999年10月,我国国家技术监督局发布了GB17859-1999《计算机信息系统安全保护等级划分准则》,为计算机信息系统安全保护能力划分了等级。该标准已于2001年起强制执行。 26
国内安全操作系统的发展 中国科学院:SecLinux,符合我国GB17859-1999第三级,提供了身份标识与鉴别、自主访问控制、强制访问控制、最小特权管理、安全审计、可信通路、密码服务、网络安全服务等方面的安全功能。 南京大学:SoftOS,实现了强制访问控制、审计、禁止客体重用、入侵检测等。 信息产业部:强林Linux,达到了我国GB17859-1999第三级的安全要求。 中国科学院软件所:红旗Linux,实现了符合我国GB17859-1999第三级要求的安全功能。 27
§3 安全操作系统的基本概念 主体和客体 安全策略和安全模型 访问监控器 安全内核 可信计算基。 28
主体和客体 主体是一个主动的实体,它包括用户、用户组、进程等。系统中最基本的主体应该是用户(包括一般用户和系统管理员、系统安全员、系统审计员等特殊用户)。每个进入系统的用户必须是惟一标识的,并经过鉴别确定为真实的。系统中的所有事件要求,几乎全是由用户激发的。进程是系统中最活跃的实体,用户的所有事件要求都要通过进程的运行来处理。在这里,进程作为用户的客体,同时又是其访问对象的主体。 29
主体和客体 客体是一个被动的实体。客体可以是按照一定格式存储在一定记录介质上的数据信息,也可以是系统中的进程。 当一个进程运行时,它必定为某一用户服务——直接或间接的处理该用户的事件要求,该进程成为该用户的客体,或为另一进程的客体。操作系统中运行的任一进程,总是直接或间接为某一用户服务。这种服务关系可以构成一个服务链。服务者是要求者的客体,要求者是服务者的主体,而最原始的主体是用户,最终的客体是一定记录介质上的信息。 30
安全策略和安全模型 安全策略是指有关管理、保护和发布敏感信息的法律、规定和实施细则。安全策略由一整套严密的规则组成,这些确定授权存取的规则是决定存取控制的基础。 安全模型则是对安全策略所表达的安全需求的简单、抽象和无歧义的描述,它为安全策略和安全策略实现机制的关联提供了一种框架。安全模型描述了对某个安全策略需要用哪种机制来满足;而模型的实现则描述了如何把特定的机制应用于系统中,从而实现某一特定安全策略所需的安全保护。 31
问监控器和安全内核 访问控制机制的理论基础是访问监控器(Reference Monitor),访问监控器是一个抽象概念,它表现的是一种思想,访问监控器的具体实现称为引用验证机制,它是实现访问监控器思想的硬件和软件的组合 。 32
访问监控器和安全内核 安全策略所要求的存取判定以抽象存取访问控制数据库中的信息为依据,存取判定是安全策略的具体表现。访问控制数据库包含有关由主体存取的客体及其存取方式的信息。数据库是动态的,它随着主体和客体的产生或删除及其权限的修改而改变。访问监控器的关键需求是控制从主体到客体的每一次存取,并将重要的安全事件存入审计文件之中。引用验证机制需要同时满足以下三个原则: (1)必须具有自我保护能力; (2)必须总是处于活跃状态; (3)必须设计得足够小,以利于分析和测试,从而能够证明它的实现是正确的。 33
操作系统安全内核 34
可信计算基 操作系统的安全依赖于具体实施安全策略的可信的软件和硬件和负责系统安全管理的人员,它们一起组成了系统的可信计算基(Trusted Computing Base,TCB)。 1. 操作系统的安全内核。 2. 具有特权的程序和命令。 3. 处理敏感信息的程序,如系统管理命令等。 4. 与TCB实施安全策略有关的文件。 5. 其它有关的固件、硬件和设备。 6. 负责系统管理的人员。 7. 保障固件和硬件正确的程序和诊断软件。 35
§4 安全操作系统的机制 硬件安全机制 操作系统的安全标识与鉴别 访问控制 最小特权管理 可信通路和安全审计。 36
硬件安全机制 计算机硬件安全的目标是,保证其自身的可靠性和为系统提供基本安全机制。其中基本安全机制包括 存储保护 运行保护 I/O保护等。 37
标识与鉴别 标识就是系统要标识用户的身份,并为每个用户取一个系统可以识别的内部名称——用户标识符。用户标识符必须是惟一的且不能被伪造,防止一个用户冒充另一个用户。 将用户标识符与用户联系的过程称为鉴别,鉴别过程主要用以识别用户的真实身份,鉴别操作总是要求用户具有能够证明他的身份的特殊信息,并且这个信息是秘密的,任何其他用户都不能拥有它。 38
访问控制 访问控制一般都涉及: 自主访问控制 Discretionary Access Control,DAC 强制访问控制 Mandatory Access Control,MAC 39
最小特权管理 超级用户具有所有特权,普通用户不具有任何特权。一个进程要么具有所有特权(超级用户进程),要么不具有任何特权(非超级用户进程)。这种特权管理方式便于系统维护和配置,但不利于系统的安全性。一旦超级用户的口令丢失或超级用户被冒充,将会对系统造成极大的损失。另外超级用户的误操作也是系统极大的潜在安全隐患。因此必须实行最小特权管理机制。 最小特权管理的思想是系统不应给用户超过执行任务所需特权以外的特权,如将超级用户的特权划分为一组细粒度的特权,分别授予不同的系统操作员/管理员,使各种系统操作员/管理员只具有完成其任务所需的特权,从而减少由于特权用户口令丢失或错误软件、恶意软件、误操作所引起的损失。比如可在系统中定义5个特权管理职责,任何一个用户都不能获取足够的权力破坏系统的安全策略。 40
可信通路 在计算机系统中,用户是通过不可信的中间应用层和操作系统相互作用的。但用户登录,定义用户的安全属性,改变文件的安全级等操作,用户必须确实与安全核心通信,而不是与一个特洛伊木马打交道。系统必须防止特洛伊木马模仿登录过程,窃取用户的口令。特权用户在进行特权操作时,也要有办法证实从终端上输出的信息是正确的,而不是来自于特洛伊木马。这些都需要一个机制保障用户和内核的通信,这种机制就是由可信通路提供的。 41
安全审计 一个系统的安全审计就是对系统中有关安全的活动进行记录、检查及审核。它的主要目的就是检测和阻止非法用户对计算机系统的入侵,并显示合法用户的误操作。审计作为一种事后追查的手段来保证系统的安全,它对涉及系统安全的操作做一个完整的记录。审计为系统进行事故原因的查询、定位,事故发生前的预测、报警以及事故发生之后的实时处理提供详细、可靠的依据和支持,以备有违反系统安全规则的事件发生后能够有效地追查事件发生的地点和过程以及责任人。 42
§5 代表性的安全模型 安全模型就是对安全策略所表达的安全需求的简单、抽象和无歧义的描述,它为安全策略和它的实现机制之间的关联提供了一种框架。安全模型描述了对某个安全策略需要用哪种机制来满足;而模型的实现则描述了如何把特定的机制应用于系统中,从而实现某一特定安全策略所需的安全保护。 43
安全模型的特点 它是精确的、无歧义的; 它是简易和抽象的,所以容易理解; 它是一般性的:只涉及安全性质,而不过度地牵扯系统的功能或其实现; 它是安全策略的明显表现。 安全模型一般分为:形式化和非形式化。 非形式化安全模型仅模拟系统的安全功能; 形式化安全模型则使用数学模型,精确地描述安全性及其在系统中使用的情况。 44
主要安全模型介绍 BLP机密性安全模型 Biba完整性安全模型 Clark-Wilson完整性安全模型 信息流模型 RBAC安全模型 DTE安全模型 无干扰安全模型 45
Bell-LaPadula(BLP)模型 Bell-LaPadula模型是D. Elliott Bell和Leonard J. LaPadula于1973年提出的一种适用于军事安全策略的计算机操作系统安全模型。 在BLP中将主体定义为能够发起行为的实体(如进程);将客体定义为被动的主体行为承担者(如数据);将主体对客体的访问分为r、w、a、e、c等几种访问模式。 BLP的自主安全策略使用一个访问矩阵表示,如Mij表示主体Si对客体Oj的所有允许的访问模式,主体只能按照在访问矩阵中被授予的对客体的访问权限对客体进行相应的访问。强制安全策略包括简单安全特性和*特性,系统对所有的主体和客体都分配一个访问类属性,包括主体和客体的密级和范畴,系统通过比较主体与客体的访问类属性控制主体对客体的访问。 46
Biba模型 BLP模型通过防止非授权信息的扩散保证系统的安全,即保护信息机密性。但还能保护信息的完整性。 Biba等人在1977年提出了第一个完整性安全模型---Biba模型,其主要应用是保护信息的完整性。 Biba模型也是基于主体、客体以及它们的级别的概念的。模型中主体和客体的概念与BLP模型相同,对系统中的每个主体和每个客体均分配一个级别,称为完整级别。 47
Clark-Wilson完整性模型 1987年提出的,用户完整性---职责隔离目标;数据完整性---应用相关的完整性验证进程;建立过程完整性---对于转换过程的应用相关验证;约束用户、进程和数据之间的关联---使用一个三元组结构。 Clark-Wilson模型的核心在于以良构事务(well-formal transaction)为基础来实现在商务环境中所需的完整性策略。良构事务的概念是指一个用户不能任意操作数据,只能用一种能够确保数据完整性的受控方式来操作数据。为了确保数据项(data items)仅仅只能被良构事务来操作,首先得确认一个数据项仅仅只能被一组特定的程序来操纵,而且这些程序都能被验证是经过适当构造,并且被正确安装和修改。 48
信息流模型 许多信息泄露问题并非存取控制机制不完善,而是由于缺乏对信息流的必要保护。如BLP中“下读上写”规则,即低安全进程程不能读高安全级文件,高安全级进程不能写低安全级文件。然而在实际系统中,尽管不一定能直接为主体所见,许多客体(包括缓冲池、定额变量、全程计数器等等)还是可以被所有不同安全级的主体更改和读取,这样入侵者就可能利用这些客体间接地传递信息。要建立高级别的安全操作系统,必须在建立完善的存取控制机制的同时,依据适当的信息流模型实现对信息流的分析和控制。 49
基于角色的访问控制模型 (Role-Based Access Control,RBAC)提供了一种强制访问控制机制。在一个采用RBAC作为授权访问控制的系统中,根据公司或组织的业务特征或管理需求,一般要求在系统内设置若干个称之为“角色”的客体,用以支撑RBAC授权存取控制机制的实现。角色,就是业务系统中的岗位、职位或者分工。 例如在一个公司内,财会主管、会计、出纳、核算员等每一种岗位都可以设置多个职员具体从事该岗位的工作,因此它们都可以视为角色。 50
安全配置方案初级篇 主要包括常规的操作系统安全配置,有12条原则: 物理安全、停止Guest帐号、限制用户数量 创建多个管理员帐号、管理员帐号改名 陷阱帐号、更改默认权限、设置安全密码 屏幕保护密码、使用NTFS分区 运行防毒软件和确保备份盘安全。 51
1、物理安全 服务器应该安放在安装了监视器的隔离房间内,并且监视器要保留15天以上的摄像记录。 另外,机箱,键盘,电脑桌抽屉要上锁,以确保旁人即使进入房间也无法使用电脑,钥匙要放在安全的地方。 52
2、停止Guest帐号 在计算机管理的用户里面把Guest帐号停用,任何时候都不允许Guest帐号登陆系统。 53
3 、限制用户数量 去掉所有的测试帐户、共享帐号和普通部门帐号等等。用户组策略设置相应权限,并且经常检查系统的帐户,删除已经不使用的帐户。 帐户很多是黑客们入侵系统的突破口,系统的帐户越多,黑客们得到合法用户的权限可能性一般也就越大。 对于Windows NT/2000主机,如果系统帐户超过10个,一般能找出一两个弱口令帐户,所以帐户数量不要大于10个。 54
4 、多个管理员帐号 虽然这点看上去和上面有些矛盾,但事实上是服从上面规则的。创建一个一般用户权限帐号用来处理电子邮件以及处理一些日常事物,另一个拥有Administrator权限的帐户只在需要的时候使用。 因为只要登录系统以后,密码就存储再WinLogon进程中,当有其他用户入侵计算机的时候就可以得到登录用户的密码,尽量减少Administrator登录的次数和时间。 55
5 、管理员帐号改名 Windows 2000中的Administrator帐号是不能被停用的,这意味着别人可以一遍又一边的尝试这个帐户的密码。把Administrator帐户改名可以有效的防止这一点。 不要使用Admin之类的名字,尽量把它伪装成普通用户(如guestone)。 56
6 、陷阱帐号 所谓的陷阱帐号是创建一个名为“Administrator”的本地帐户,把它的权限设置成最低,什么事也干不了的那种,并且加上一个超过10位的超级复杂密码。 这样可以让那些企图入侵者忙上一段时间了,并且可以借此发现它们的入侵企图。 57
7 、更改默认权限 共享文件的权限从“Everyone”组改成“授权用户”。“Everyone”在Windows 2000中意味着任何有权进入你的网络的用户都能够获得这些共享资料。 任何时候不要把共享文件的用户设置成“Everyone”组。包括打印共享,默认的属性就是“Everyone”组的,一定不要忘了改。 58
8、安全密码 一些网络管理员创建帐号的时候往往用公司名,计算机名,或者一些别的一猜就到的字符做用户名,然后又把这些帐户的密码设置得比较简单,比如:“welcome”、“iloveyou”、“letmein”或者和用户名相同的密码等。这样的帐户应该要求用户首此登陆的时候更改成复杂的密码,还要注意经常更改密码。 好密码的定义:安全期内无法破解出来的密码。如果得到了密码文档,必须花43天或者更长的时间才能破解出来,密码策略是42天必须改密码。 59
9、屏幕保护密码 设置屏幕保护密码是防止内部人员破坏服务器的一个屏障。注意不要使用OpenGL和一些复杂的屏幕保护程序,浪费系统资源,黑屏就可以了。 还有一点,所有系统用户所使用的机器也最好加上屏幕保护密码。 将屏幕保护的选项“密码保护”选中就可以了,并将等待时间设置为最短时间“1秒。 60
10 、NTFS分区 把服务器的所有分区都改成NTFS格式。NTFS文件系统要比FAT、FAT32的文件系统安全得多。 61
11、防毒软件 Windows 2000/NT服务器一般都没有安装防毒软件的,一些好的杀毒软件不仅能杀掉一些著名的病毒,还能查杀大量木马和后门程序。 设置了放毒软件,“黑客”们使用的那些有名的木马就毫无用武之地了,并且要经常升级病毒库。 62
12、备份盘的安全 一旦系统资料被黑客破坏,备份盘将是恢复资料的唯一途径。备份完资料后,把备份盘防在安全的地方。 不能把资料备份在同一台服务器上,这样的话还不如不要备份。 63
安全配置方案中级篇 主要介绍操作系统的安全策略配置,包括10条原则: 操作系统安全策略、关闭不必要的服务 关闭不必要的端口、开启审核策略 开启密码策略、开启帐户策略、备份敏感文件 不显示上次登陆名、禁止建立空连接和下载最新的补丁 64
1 、操作系统安全策略 利用安全配置工具来配置安全策略。在管理工具中可以找到“本地安全策略”。 可以配置四类安全策略:帐户策略、本地策略、公钥策略和IP安全策略。在默认的情况下,这些策略都是没有开启的。 65
2 、关闭不必要的服务 Windows 2000的Terminal Services(终端服务)和IIS(Internet 信息服务)等都可能给系统带来安全漏洞。 为了能够在远程方便的管理服务器,很多机器的终端服务都是开着的,如果开了,要确认已经正确的配置了终端服务。 有些恶意的程序也能以服务方式悄悄的运行服务器上的终端服务。要留意服务器上开启的所有服务并每天检查。 66
Windows2000可禁用的服务 服务名 说明 67 Computer Browser 维护网络上计算机的最新列表以及提供这个列表 Task scheduler 允许程序在指定时间运行 Routing and Remote Access 在局域网以及广域网环境中为企业提供路由服务 Removable storage 管理可移动媒体、驱动程序和库 Remote Registry Service 允许远程注册表操作 Print Spooler 将文件加载到内存中以便以后打印。要用打印机的用户不能禁用这项服务 Distributed Link Tracking Client 当文件在网络域的NTFS卷中移动时发送通知 Com+ Event System 提供事件的自动发布到订阅COM组件 67
3 、关闭不必要的端口 关闭端口意味着减少功能,如果服务器安装在防火墙的后面,被入侵的机会就会少一些,但是不可以认为高枕无忧了。 用端口扫描器扫描系统所开放的端口,在Winnt\system32\drivers\etc\services文件中有知名端口和服务的对照表可供参考。 68
设置本机开放的端口和服务 一台Web服务器只开放TCP的80端口即可。TCP/IP筛选器是Windows自带的防火墙,功能比较强大,可以替代防火墙的部分功能。 69
4 、开启审核策略 安全审核是Windows 2000最基本的入侵检测方法。当有人尝试对系统进行某种方式(如尝试用户密码,改变帐户策略和未经许可的文件访问等等)入侵的时候,都会被安全审核记录下来。 策略 设置 审核系统登陆事件 成功,失败 审核帐户管理 审核登陆事件 审核对象访问 成功 审核策略更改 审核特权使用 审核系统事件 70
审核策略默认设置 审核策略在默认的情况下都是没有开启的 71
5、 开启密码策略 密码对系统安全非常重要。本地安全设置中的密码策略在默认的情况下都没有开启。 策略 设置 密码复杂性要求 启用 密码长度最小值 6位 密码最长存留期 15天 强制密码历史 5个 72
6、 开启帐户策略 策略 设置 复位帐户锁定计数器 30分钟 帐户锁定时间 帐户锁定阈值 5次 73
7、 备份敏感文件 把敏感文件存放在另外的文件服务器中,虽然服务器的硬盘容量都很大,但是还是应该考虑把一些重要的用户数据(文件,数据表和项目文件等)存放在另外一个安全的服务器中,并且经常备份它们 74
8 、不显示上次登录名 默认情况下,终端服务接入服务器时,登陆对话框中会显示上次登陆的帐户名,本地的登陆对话框也是一样。 黑客们可以得到系统的一些用户名,进而做密码猜测。 修改注册表禁止显示上次登录名: 在HKEY_LOCAL_MACHINE主键下修改子键, Software\Microsoft\WindowsNT\CurrentVersion\Winlogon\DontDisplayLastUserName,将键值改成1。 75
9 、禁止建立空连接 默认情况下,任何用户通过空连接连上服务器,进而可以枚举出帐号,猜测密码。可修改注册表来禁止建立空连接。 在HKEY_LOCAL_MACHINE主键下修改子键: System\CurrentControlSet\Control\LSA\RestrictAnonymous,将键值改成“1”即可。 76
10 、下载最新的补丁 很多网络管理员没有访问安全站点的习惯,以至于一些漏洞都出了很久了,还放着服务器的漏洞不补给人家当靶子用。 谁也不敢保证数百万行以上代码的Windows 2000不出一点安全漏洞。 经常访问微软和一些安全站点,下载最新的Service Pack和漏洞补丁,是保障服务器长久安全的唯一方法。 77
10 、下载最新的补丁 78
用魔方优化大师优化 79
安全配置方案高级篇 包括操作系统安全信息通信配置,包括14条原则: 关闭DirectDraw、关闭默认共享 包括操作系统安全信息通信配置,包括14条原则: 关闭DirectDraw、关闭默认共享 禁用Dump File、文件加密系统 加密Temp文件夹、锁住注册表、关机时清除文件 禁止软盘光盘启动、使用智能卡、使用IPSec 禁止判断主机类型、抵抗DDOS 禁止Guest访问日志和数据恢复软件 80
1 、关闭DirectDraw C2级安全标准对视频卡和内存有要求。关闭DirectDraw可能对一些需要用到DirectX的程序有影响(比如游戏),但是对于绝大多数的商业站点都是没有影响的。 在HKEY_LOCAL_MACHINE主键下修改子键: SYSTEM\CurrentControlSet\Control\GraphicsDrivers\DCI\Timeout,将键值改为“0”。 81
2 、关闭默认共享 Windows 2000安装以后,系统会创建一些隐藏的共享,可以在DOS提示符下输入命令Net Share 查看。 82
3 、禁用Dump文件 在系统崩溃和蓝屏的时候,Dump文件是一份很有用资料,可以帮助查找问题。然而,也能够给黑客提供一些敏感信息,比如一些应用程序的密码等。 83
4、 文件加密系统 Windows2000强大的加密系统能够给磁盘、文件夹、文件加上一层安全保护。这样可以防止别人把你的硬盘挂到别的机器上以读出里面的数据。 在Win2K中提供了一种NTFS V5的加密文件系统(Encrypted File System,简称EFS)。 EFS实现的是一种基于公共密钥的数据加密方式,利用了系统中的CryptoAPI结构。 84
5 、加密Temp文件夹 一些应用程序在安装和升级的时候,会把一些东西拷贝到Temp文件夹,但是当程序升级完毕或关闭的时候,并不会自己清除Temp文件夹的内容。 所以,给Temp文件夹加密可以给你的文件多一层保护。 85
6、 锁住注册表 在Win2K中,只有Administrators和Backup Operators才有从网络上访问注册表的权限。当帐号的密码泄漏以后,黑客也可以在远程访问注册表,当服务器放到网络上的时候,一般需要锁定注册表。 修改Hkey_current_userSoftware\microsoft\ windows\currentversion\Policies\system ; 把DisableRegistryTools的值该为0,类型为DWORD。 86
7 、关机时清除文件 页面文件也就是调度文件,是Win2K用来存储没有装入内存的程序和数据文件部分的隐藏文件。 某些程序可能会没有加密的密码存在内存中,页面文件中可能含有另外一些敏感的资料。要在关机的时候清理页面文件。 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet \Control\Session Manager\Memory Management 把ClearPageFileAtShutdown的值设置成1 87
8 、禁止软盘光盘启动 一些第三方工具能通过引导系统来绕过原有的安全机制。比如一些管理员工具,从软盘上或者光盘上引导系统以后,就可以修改硬盘上操作系统的管理员密码。 如果服务器对安全要求非常高,可以考虑使用可移动软盘和光驱,把机箱锁起来仍然不失为一个好方法。 88
用魔方优化大师优化 89
9 、使用智能卡 对于密码,总是使安全管理员进退两难,容易受到一些工具的攻击,如果密码太复杂,用户把为了记住密码,会把密码到处乱写。 如果条件允许,用智能卡来代替复杂的密码是一个很好的解决方法。 90
10 、使用IPSec 正如其名字的含义,IPSec提供IP数据包的安全性。 91
11 、禁止判断主机类型 黑客利用TTL值可以鉴别操作系统的类型 操作系统类型 TTL返回值 Windows 2000 128 Windows NT 107 win9x 128 or 127 solaris 252 IRIX 240 AIX 247 Linux 241 or 240 92
11 、禁止判断主机类型 defaultTTL 可修改TTL的值。 HKEY_LOCAL_MACHINE\SYSTEM\CURRENT_CONTROLSET\SERVICES\TCPIP\PARAMETERS。 defaultTTL 93
12、 抵抗DDOS 94 增加的键值 键值说明 "EnablePMTUDiscovery"=dword:00000000 "NoNameReleaseOnDemand"=dword:00000000 "KeepAliveTime"=dword:00000000 "PerformRouterDiscovery"=dword:00000000 基本设置 "EnableICMPRedirects"=dword:00000000 防止ICMP重定向报文的攻击 "SynAttackProtect"=dword:00000002 防止SYN洪水攻击 "TcpMaxHalfOpenRetried"=dword:00000080 仅在设置超出范围时,保护机制才会采取措施 "TcpMaxHalfOpen"=dword:00000100 "IGMPLevel"=dword:00000000 不支持IGMP协议 "EnableDeadGWDetect"=dword:00000000 禁止死网关监测技术 "IPEnableRouter"=dword:00000001 支持路由功能 94
13 、禁止Guest访问日志 1、禁止Guest访问应用日志 2、禁止Guest访问系统日志 3、禁止Guest访问安全日志 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application 下添加键值名称为: RestrictGuestAccess ,类型为:DWORD,值为:1。 2、禁止Guest访问系统日志 在…\System下添加同样内容 3、禁止Guest访问安全日志 在…\Security下添加同样内容 95
14 、数据恢复软件 96
自动扫描并显示文件 97
恢复文件 98