ch10-第10章网络管理安全_第1页
ch10-第10章网络管理安全_第2页
ch10-第10章网络管理安全_第3页
ch10-第10章网络管理安全_第4页
ch10-第10章网络管理安全_第5页
已阅读5页,还剩95页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第10章网络管理与网络安全本章内容网络管理网络安全*密码学防火墙代理服务网络病毒的防治10.1网络管理为什么提出网络管理?网络的快速增长网络系统的异构性和复杂性什么是网络管理网络管理系统是一个软硬件结合以软件为主的分布式网络应用系统,其目的是管理网络,使网络高效正常运行。网络管理系统标准ISO公共管理信息协议(CommonManagementInformationProtocol,CMIP)公共管理信息服务(CommonManagementInformationService)因特网简单网络管理协议(SimpleNetworkManagementProtocol,SNMP)20世纪80年代初,网络得到巨大的发展,当各公司认识到网络给他们带来的好处时,他们在引进新的网络技术和网络产品的同时也不断扩充现有的网络。到80年代中期,人们开始感受到这种无限制扩充网络所带来的日复一日的网络操作管理和网络扩充的规划,尤其是对于每个新的网络技术,均需要有自己的专家加以操作和管理。在80年代初,这些网络增长的战略规划已是件十分困难的事。一个较大的网络通常跨越广域网,连接不同类型的局域网,如令牌网,以太网、FDDI网等。网络除计算机设备外还有大量网络互连设备,如各类集线器、网桥、路由器、交换设备等。对于这种复杂分布式环境中的各类资源进行”集中”管理就显得十分必要,这种需求最终导致了网络管理系统的诞生网络管理体系结构大部分网络管理体系结构具有同样的基本结构和关系集,由端接站(即被管设备,如计算机和其他网络设备)上嵌入的代理软件来搜集网络的通信信息和网络设备的统计数据,并把它们存入管理信息库中。如果某个统计数据超过规定的阈值则向网管工作站上的管理实体发出告警。接收到这些告警后,管理实体将执行一组动作,包括:①通知操作员;②写入事件日志;③关闭系统;④自动恢复系统。除了设备上的代理软件可以主动发出告警外,管理实体也可以向被管设备进行轮询,以检查某个统计值。轮循可以是自动的,也可以是由用户发起的,在被管设备中的代理负责对这些轮询作出响应代理(Agent)是驻留在被管设备中的软件模块,负责搜集被管设备的信息,将这些信息存储到管理数据库中,并通过网络管理协议将这些信息提供给网络管理系统(NMS)中的管理实体。ISO网络管理体系ISO对网络管理系统制定了三个标准:ISO7498-4定义了开放系统互联管理的体系结构,其中定义了系统管理、层管理和层操作三种不同的管理信息交换形式;ISO9596定义了公共管理信息协议(CMIP);ISO9595定义了公共管理信息服务(CMIS),这是一个应用层管理程序。管理功能在OSI管理体系结构中,定义了五个管理功能:①性能管理(PerformanceManagement);②配置管理(ConfigurationManagement);③记账(计费)管理(AccountingManagement);④故障管理(FaultManagement);⑤安全管理(SecurityManagement)。1.性能管理

性能管理的目标是衡量和呈现网络性能的各个方面,使人们能在一个可接受的水平上维护网络的性能。对一系列的性能变量实施连续监控来实现的。性能变量的例子有网络吞吐量、用户响应时间和线路利用率。性能管理包含以下几个步骤:①收集网络管理者感兴趣的那些变量的数据;②分析这些数据,以判断是否处于正常水平;③为每个重要的变量决定一个合适的性能阀值,超过该限值就意味着出现了值得注意的网络故障,管理实体不断地监视性能变量,当某个性能阀值被超过时,就产生一个报警,并将该报警发送到网络管理系统。2.配置管理

配置管理的目标是监视网络和系统配置信息,以便跟踪和管理不同的软、硬件单元的配置及其变化情况。配置信息对于维持一个稳定运行的网络是十分重要的。每个网络设备均有一系列不同版本的信息,例如,一台工程工作站可能的配置如下有那些?为了便于访问,配置管理子系统将上述信息存储在数据库中,当发生故障时,可从该数据库中查询到解决故障所需的相关信息。①Windows操作系统,版本2003SP1;②以太网接口,版本5.4;③TCP/IP软件,版本2.0;④Netware软件,版本4.1;⑤串行通信控制器,版本1.1;⑥X.25软件,版本1.0;⑦SNMP软件,版本2.0。3.计费管理计费管理的目标是衡量网络的利用率,以便使一个或一组网络用户可以更有规则地利用网络资源,这样的规则使网络故障率降低到最小,为什么?也可使所有用户对网络的访问更加公平。为了达到计费管理的目的,必须通过性能管理测量出所有重要的网络资源的利用率,对其结果的分析就可以产生计费信息和以及可用于资源利用率优化的信息。因为网络资源可以根据其能力大小而合理地分配,4.故障管理

故障管理的目标是自动地检测、记录网络故障并通知给用户。故障管理是所有网络管理的实施中首先被考虑的管理要素。为什么?故障管理包含几个步骤:搜集故障信息判断故障症状;修复、隔离该故障;记录故障检测信息及其修复结果。由于故障可以导致系统的瘫痪或不可接受的网络降级。5.安全管理安全管理的目的是控制对网络资源的安全访问,以保证网络不被侵害(有意识的或无意识的),并保证重要的信息不被未授权的用户访问。例如,管理子系统可以监视用户对网络资源的登录,而对那些具有不正确访问代码的用户加以拒绝。安全管理子系统将网络资源分为授权和未授权两大类。对于某些用户,不允许访问所有的网络资源(这样的用户通常是公司之外的),即使对一些公司内部用户,对某些敏感信息的访问也应该受到限制。例如,人事部门以外的用户对人事资源的文件的访问应是限制级的。安全管理子系统执行以下几种功能:①标识重要的网络资源(包括系统、文件和其他实体);②确定重要的网络资源和用户集间的映射关系;③监视对重要网络资源的访问;④记录对重要网络资源的非法访问。简单网络管理协议SNMP(SimpleNetworkManagementProtocol,简单网络管理协议)最初是为符合TCP/IP的网络管理而开发的一个应用层的协议。主导思想是尽可能简洁、清晰,因此比OSI网络管理体系要简单的多。SNMP建立在TCP/IP传输层的UDP协议之上,提供的是不可靠的无连接服务,以保证信息的快速传递和减少对带宽的消耗。SNMP协议到目前为止已有三个版本:SNMP1.0版本是初始版本;SNMP2.0版本增加了安全性方面的功能,并在操作性和管理体系结构方面作了较大改进。目前最新的版本是SNMP3.0。SNMP管理模型SNMP管理模型可以分成三大部分:SNMP网络管理系统(NMS)SNMP被管理系统SNMP管理协议网络管理系统是LAN上安装有网管软件的一台工作站,该工作站称为网管工作站。网管软件中的管理者驻留在网管工作站上,经过各类操作原语(Get,Set,Trap等)向上与网管应用软件通信,向下经UDP/IP及物理网与被管理系统进行通信。网管应用程序为用户(网络管理员)提供良好的人机界面,通常提供的是基于标准的图形用户界面(GUI)。网络管理员可以通过GUI来监控网络活动,进行配置、故障、性能、计费等管理。被管理系统被管理系统是被管理的所有网络上的设备,包括主机、集线器、交换器、网桥、通信服务器、路由器等,它们广泛分布在不同的地理位置。在各个可管理的网络设备中都有一个特殊的软件,称为Agent(代理)。Agent能监测所在网络设备及其周围的局部网络的工作状况,收集网络运行的有关信息。Agent响应网络管理系统(NMS)中来自管理者(Manager)的定期轮询、接受管理者设置某个变量的指令以及在某些紧急事件发生时(例如设定的阈值超出时)主动向NMS发起Trap(陷阱)报警。MIB(管理信息库)通常位于相应的Agent上,所有相关的被管对象的网络信息都放在MIB上。SNMP网管协议网络管理协议规定在管理者和代理之间使用协议数据单元(PDU)进行通信以实现被管设备与NMS间的协同管理操作。在SNMP1.0版本中共定义了五种PDU。基于因特网标准的网络管理结构假定了一种远程检测的范例,在该范例中,被管设备应NMS要求,维护着一系列变量和报告。例如,一个被管设备可能跟踪以下内容:虚电路的状态和数量、接收到特定类型的错误信息的数量、出入设备的报文个数和字节数、最大的输出队列长度(对于路由器和其他网络互联设备)、发送和接收的广播信息以及活动的和不活动的网络接口等等。SNMP协议操作命令类型

如果NMS想要控制一个被管理设备,它可以向被管理设备发出一个信息,并通过改变被管理设备的一个或多个变量的值来实现对被管设备的控制。被管理设备发起或响应四种类型的命令:读:NMS利用该命令来监视被管理设备,NMS从被管设备中读取变量。写:NMS利用该命令来控制被管理设备,NMS将变量写入被管设备中。移动操作:NMS利用该命令判定被管理设备支持哪些变量,并将信息收集到变量表中。陷阱(trap):被管理设备用该命令来向NMS异步报告某种事件的发生。管理信息库MIB所有的被管理对象包含在管理信息库(MIB)中,MIB实际上就是一个有关对象的数据库。MIB可描绘成一棵树,其树叶为不同的数据项。在该树中,目标标识符惟一标识了MIB的目标。对象标识符与电话号码的编制方法类似,它们均是分级构成的,不同的部分由不同的机构来分配。对于MIB对象标识也是这样,顶级的MIB对象标识符由国际标准化组织/国际电工联盟来分配,而低级的对象标识符则由相关的机构分配。几个MIB树的主要分支如图10.3所示。MIB树可根据经验和专用分枝进行扩展。例如,对于设备制造厂而言,他们可以为自己的产品定义专用的分枝,而那些未被标准化的MIB则通常处于经验分枝上。每个网络代理包含有一个MIB,代理通过MIB来保存所在网络设备的各种配置信息和状态信息。代理接受管理者的请求并予以响应,读取或修改MIB中相应的变量值;代理也会监测本地网络设置或网络状态,在事件发生时发出Trap报文。NMS采用轮询方法管理整个网络上的各个网络设备(主机、路由器、桥等)。在访问某个网络设备时,管理者经该设备上的Agent访问相应的MIB可获取该设备所有类型的变量值,即该设备的所有信息内容。NMS通过轮询访问全部的网络设备获取所有MIB的内容,对全部内容进行统计、综合智能分析,从而实现对全网的基本管理。图10.3MIB树网络管理平台

引出了开放的统一的网络管理平台的原因网络管理平台向上为各类专用网管应用程序提供了统一的标准应用程序接口(API),各厂商的专用网管应用程序经API及平台可直接管理各自的设备,而不同网管应用程序可利用网管平台的资源横向得到集成和统一,并获得更高层次的统一管理方案。此外,平台厂商和用户亦可用API接口扩展网管功能。应用1应用2应用3平台厂商提供的网管软件用户开发的网管应用网络管理平台网络管理平台本身是一个支持SNMP的提供网管基本服务的软件,目前比较著名的平台有:HP的OpenView,Sun的SunNetManager,IBM的NetView,3COM的Transcend,Novell的NMS和Cisco的CiscoWorks2000等。提供的图形用户界面(GUI)。基于Unix的环境基于Windows的环境比较?网管平台功能可以通过对SNMP各代理的轮询以及接受代理发来的事件报文创建和维护各种类型的数据库。其内容可包括网络设备的设置、状态、对象标志符、对象名称、IP地址、网络拓扑构形图等,还包括注册事件在内的各种事件、网络通信状态及历史网络通信量等记录。还能利用网管平台具有的图形工具为用户界面显示网络扑拓构形图。网管平台对事件有过滤处理能力,对事件能以事件日志记入数据库并经过滤后对其中一些事件能经API传送给相应的网络管理应用。网络管理系统的各种实现结构集中式网络管理结构集中式结构的变形分布式结构分层结构集中式网络管理结构集中式体系结构是最常用的一种网络管理模式,它由一个单独的管理者负责整个网络的管理工作。该管理者处理与被管网络单元的代理之间的通信,提供集中式的决策支持和控制,并维护管理者的管理数据库。这种方式的主要不足是当被管网络规模扩大或者结构复杂性增大时自身的管理能力不能随之进行相应的扩充。但是在多数情况下首选的都是集中式控制。图10.5

集中式网络管理结构集中式结构的变形集中式体系结构的一种变形是平台方案将管理者划分成两部分:管理平台和各种管理应用程序。管理平台作为处理管理数据的第一级,主要涉及信息收集,提供诸如监控、流量计算等关键管理服务,同时向应用程序提供数据处理报告摘要。应用程序运行在数据处理的第二级,提供各种系统管理功能、处理决策支持等比信息收集和简单计算更高级的功能。两部分通过公共应用程序接口(API)进行通信。该体系结构具有较方便的系统维护性和扩展性,并简化了在异种主机、多厂商、多管理协议环境中综合程序的开发工作。异构性和协议复杂性只在平台级处理一次,不必在每个应用程序中考虑。扩展能力的有限性是集中式结构所固有的。此外,实践证明当应用程序的数量增加时,平台是一个严重的瓶颈。图10.6

集中式结构的变形分布式结构分布式结构与管理域(按照地域、组织和其他方式定义的域)的概念相关,并且系统中使用了一个以上同等级别的管理者。因为它为每个域设置一个管理者,因此很适合于多域的大型网络结构。当需要另一个域的管理信息时,管理者通过与同级的系统通信来获取。这种结构的主要优点是扩展性好,通过建立更多的管理域以及增加相应数量的管理者可以满足更高的性能要求和扩充性。图10.7

分布式结构分层结构分层结构也应用了在每个管理域中配置管理者的模式。每个域管理者只负责本域的管理,不关心网络内的其他域的情况。所有管理者的管理系统(MoM)位于更高的层次,从各域管理者获取管理信息。与分布式结构不同,域管理者之间并不通信。这种结构能很容易地扩展,并且可以增加一个以上的MoM。可以采用在各个MoM之上建立MoM形成多级分层组合。在这种结构中可以较容易地开发综合应用程序,从多个域(可以是异构的)获取管理信息。图10.8

分层结构基于Web技术的网络管理随着网络技术的发展和网络规模的日益扩大,要求网络管理系统更加开放、可互操作及更加灵活。基于Web技术的网络管理,可获得在任何操作系统平台上使用的简单而有效的管理界面,因而受到普遍重视。在现代的很多操作系统中往往也内置了一些网络管理功能,如WindowsNT/2000/XP操作系统能够提供一些简单的性能、配置、故障、安全等方面的管理功能,并能支持SNMP协议。10.2网络安全

提问:什么是网络安全?网络安全主要解决数据保密和认证的问题。数据保密就是采取复杂多样的措施对数据加以保护,以防止数据被有意或无意地泄露给无关人员。认证分为信息认证和用户认证两个方面信息认证是指信息从发送到接收整个通路中没有被第三者修改和伪造,用户认证是指用户双方都能证实对方是这次通信的合法用户。通常在一个完备的保密系统中既要求信息认证,也要求用户认证。网络安全并非只是OSI-RM某一层上的事情事实上,每一层都可以采取一定的措施来防止某些类型的网络入侵事件,在一定程度上保障数据的安全。在物理层上,可以在包容电缆的密封套中充入高压的氖气,当网络入侵者刺破密封套进行线路窃听时,由于气体泄露导致压力下降,从而触发告警装置;在链路层上可以进行所谓的链路加密,即将每个帧编码后再发出,当到达另一端时再解码恢复出来;在网络层上可以使用防火墙技术过滤一部分有嫌疑的数据报;在传输层上甚至整个连接都可以被加密。但所有这些措施都只能对数据保密有所帮助,而不能解决认证的问题,认证是需要在网络计算中解决的重大问题。网络安全定义网络安全从其本质上来讲就是网络上的信息安全。它涉及的领域相当广泛。这是因为在目前的公用通信网络中存在着各种各样的安全漏洞和威胁。从广义来说,凡是涉及到网络上信息的保密性、完整性、可用性、真实性和可控性的相关技术和理论,都是网络安全所要研究的领域。网络安全是指网络系统的硬件、软件及其系统中的数据受到保护,不受偶然的或者恶意的原因而遭到破坏、更改、泄露,系统连续可靠正常地运行,网络服务不中断。(l)运行系统安全,即保证信息处理和传输系统的安全。(2)网络上系统信息的安全。(3)网络上信息传播的安全,即信息传播后果的安全。(4)网络上信息内容的安全,即我们讨论的狭义的“信息安全”。网络安全应具备四个特征保密性,信息不泄露给非授权的用户、实体或过程,或供其利用的特性;完整性,数据未经授权不能进行改变的特性,即信息在存储或传输过程中保持不被修改、不被破坏和丢失的特性;可用性,可被授权实体访问并按需求使用的特性,即当需要时应能存取所需的信息,网络环境下拒绝服务、破坏网络和有关系统的正常运行等都属于对可用性的攻击;可控性:对信息的传播及内容具有控制能力。主要的网络安全的威胁(1)非授权访问(unauthorizedaccess):一个非授权的人的入侵。(2)信息泄露(disclosureofinformation):造成将有价值的和高度机密的信息暴露给无权访问该信息的人的所有问题。(3)拒绝服务(denialofservice):使得系统难以或不可能继续执行任务的所有问题。网络安全的关键技术主机安全技术身份认证技术访问控制技术密码技术防火墙技术病毒防治技术安全审计技术安全管理技术。制定安全策略涉及四方面网络用户的安全责任:该策略可以要求用户每隔一段时间改变其口令;使用符合一定准则的口令;执行某些检查,以了解其账户是否被别人访问过等。重要的是,凡是要求用户做到的,都应明确地定义。系统管理员的安全责任:该策略可以要求在每台主机上使用专门的安全措施、登录标题报文、监测和记录过程等,还可列出在连接网络的所有主机中不能运行的应用程序。正确利用网络资源:规定谁可以使用网络资源,他们可以做什么,他们不应该做什么等。如果用户的单位认为电子邮件文件和计算机活动的历史记录都应受到安全监视,就应该非常明确地告诉用户,这是其政策。检测到安全问题时的对策:当检测到安全问题时应该做什么?应该通知谁?这些都是在紧急的情况下容易忽视的事情。中国国家计算机安全规范计算机的安全大致可分为三类:1)实体安全。包括机房、线路、主机等;2)网络安全。包括网络的畅通、准确以及网上信息的安全;3)应用安全。包括程序开发运行、I/O、数据库等的安全。网络安全分类分为基本安全类、管理与记账类、网络互联设备安全类、连接控制类似类,基本安全类包括访问控制、授权、认证、加密以及内容安全。管理与记账类安全包括安全的策略的管理、实时监控、报警以及企业范围内的集中管理与记账。网络互联设备包括路由器、通信服务器、交换机等,网络互联设备安全正是针对上述这些互联设备而言的,它包括路由安全管理、远程访问服务器安全管理、通信服务器安全管理以及交换机安全管理等等。连接控制类包括负载均衡、可靠性以及流量管理等。由于网络安全范围的不断扩大;如今的网络安全不再是仅仅保护内部资源的安全,还必须提供附加的服务,例如,用户确认、通过保密、甚至于安全管理传统的商务交易机制,如订货和记账等。威胁网络安全的因素从人类的生态环境的与网络的生态环境进行类比可到这样的概念即网络安全的生态环境:网络是一个复杂的生态环境。具体体现在:在网络安全防御与攻击的斗争中,防御能力正受到日益增强的挑战;网络安全的产业正发展成为一个复杂的,由多种角色构成的生态环境;斗争手段的不断升级将促进防御技术、防御系统的工作模式的不断进化。计算机网络安全受到的威胁包括“黑客”的攻击,计算机病毒,拒绝服务攻击(DenialofServiceAttack)等方面。认识网络安全威胁的类型及计算机系统的本身的弱点是解决网络安全问题的前提。安全威胁的类型非授权访问,这主要的是指对网络设备以及信息资源进行非正常使用或超越权限使用。假冒合法用户,主要指利用各种假冒或欺骗的手段非法获得合法用户的使用权,以达到占用合法用户资源的目的。数据完整性受破坏。干扰系统的正常运行,改变系统正常运行的方向,以及延时系统的响应时间。病毒通信线路被窃听。计算机系统的本身的弱点计算机系统的设计当初,对信息安全考虑不周,计算机系统自然在安全方面存在弱点,主要表现在操作系统、系统管理,网络协议,数据库系统等方面。现行的操作系统的体系结构本身就是不安全的一种因素,尤其是操作系统的创建进程机制,即使在网络的节点上同样也可以进行远程进程的创建与激活,更令人不安的是被创建的进程具有可以继续创建过程的权力。网络操作系统提供的远程过程调用(RPC)服务以及它所安排的无口令入口也是黑客的通道。计算机系统管理的脆弱性,存在超级用户,如果入侵者得到了超级用户口令,整个系统将完全受控于入侵者。计算机可能会因硬件或软件故障而停止运转,或被入侵者利用并造成损失。协议安全的脆弱性表现在当前计算机网络系统都使用的TCP/IP协议以及FTP、E-mail、NFS等都包含着许多影响网络安全的因素,存在许多漏洞。众所周知的是RobertMorries在VAX机上用C语言编写的一个Guess软件,它根据对用户名的搜索猜测机器密码口令,程序自在1988年11月开始在网络上传播以后,几乎每年都给Internet造成上亿美元的损失。黑客通常采用Sock、TCP预测或使用远程访问(RPC)进行直接扫描等方法对防火墙进行攻击。网络安全解决方案

一个完整的网络信息安全系统至少包括三类措施:社会的法律政策,企业的规章制度及网络安全教育等外部环境;技术方面的措施,如防火墙技术、防病毒。信息加密、身份确认以及授权等;审计与管理措施,包括技术与社会措施。在制定网络安全策略时应当考虑如下因素:对于内部用户和外部用户分别提供哪些服务程序;初始投资额和后续投资额(新的硬件、软件及工作人员);方便程度和服务效率;复杂程度和安全等级的平衡以及网络性能。网络安全关键技术的主要有:信息包筛选(基于包过滤的防火墙)应用中继器(代理技术)加密技术为网络安全系统提安全的常用方法

(1)用备份和镜像技术提高数据完整性 (2)病毒检查 (3)补丁程序,修补系统漏洞 (4)提高物理安全 (5)安装因特网防火墙 (7)仔细阅读日志 (8)加密 (9)执行身份鉴别,口令守则 (10)捕捉闯入者网络安全的评估是网络安全的必不可少的工作,评估的内容有:确定有关网络安全的方案,对已有的网络安全方案进行审查;确定与网络安全方案有关的人员,并确定对网络资源可以直接存取的人或单位(部门);确保所需要的技术能使网络安全方案得以落实;评估步骤确定内部网络的类型。因为网络类型的不同直接影响到安全方案接口的选择;如果需要接入互联网;则需要仔细检查联人互联网后可能出现的影响网络安全的事项;确定接入互联网的方式,是拔号接入,还是低速的专线,是一条T1/E1中速专线,还是一条更高速的专线;确定单位内部能提供互联网访问的用户,并明确互联网接入用户是固定的还是移动的;是否需要加密,如果需要加密,必须说明要求的性质,比如,是对国内的还是对国外的,以便使安全系统的供应商能够做出正确的反应。10.3密码学欲加密的数据称为明文明文经某种加密算法的作用后转换成密文加密算法中使用的参数称为加密密钥密文经解密算法作用后形成明文输出解密算法也有一个密钥,它和加密密钥可以相同也可以不同。公式C=Ek(P)表示明文P经加密算法E和加密密钥k作用后转换成密文C,用公式P=Dk(C)表示密文C经解密算法D和解密密钥k作用后转换成明文P,关系:P=Dk(Ek(P))。加密方法解密方法C密文C=EK(P)加密密钥接密密钥图10.9

加密模型密文在网络中传输时会被网络入侵者窃听,但由于他们不知道解密的方法,破译起来比较困难。网络入侵者分为消极入侵者和积极入侵者两种消极入侵者只是窃听而已,并不对数据造成破坏;而积极入侵者会截获密文,篡改数据甚至伪造假数据送入网中。破译密码的技术叫做密码分析,设计密码和破译密码的技术统称为密码学基本假设密码学的一条基本原则是,必须假定破译者知道通用的加密方法,也就是说加密算法E是公开的。为什么?这种假设是合理的也是必要的,因为事实上任何一种加密算法都不可能做到完全保密,其次一个加密算法在被公开之后仍能经得起攻击才称得上是一个强壮的算法。既然加密算法是公开的,那么真正的秘密就在于密钥了,密钥是必须保密的,它通常是一个字符串或位串,并且可以按需要频繁更换。注意:在这里密钥的长度很重要,因为找到了解密密钥也就破译了密码,而密钥长度越长,密钥空间就越大,遍历密钥空间所花的时间就越多,破译的可能性就越小。基本假设:加密算法是公开的和相对稳定的,而作为参数的密钥是保密的,并且是易于更换的。破译-密码分析从破译者的角度来看,密码分析所面对的问题有三种主要的变型:当仅有密文而无明文时,称为”只有密文”问题;当已拥有了一批相匹配的明文和密文时,称为”已知明文”问题;当能够加密自己所选的一些明文时,称为”选择明文”问题。一个密码系统仅能经得起”只有密文”的攻击还不能算是安全的,因为破译者完全可以从一般的通信规律中猜测出一部分的明文,从而就会拥用一些匹配的明文和密文,这对破译工作将大为有用。真正安全的密码系统应是,即使破译者能够加密任意数量的明文,也无法破译密文。密码学的历史非常悠久,传统的加密方法可以分成两类:替代密码和换位密码。替代密码-凯撒密码替代密码就用一组密文字母来代替一组明文字母以隐藏明文,但保持明文字母的位置不变。凯撒密码,它用D表示a,用E表示b,用F表示c,……,用C表示z,也就是说密文字母相对明文字母左移了3位。计法约定:用小写表示明文,用大写表示密文这样明文的“cipher”就变成了密文的“FLSKHU”。更一般地,可以让密文字母相对明文字母左移k位,这样k就成了加密和解密的密钥。容易破译,因为最多只需尝试25次(k=1~25)即可轻松破译密码。替代密码-单字母表替换使明文字母和密文字母之间的映射关系没有规律可循,比如将26个英文字母随意映射到其他字母上密钥是对应于整个字母表的26个字母串。虽然初看起来这个方法是很安全的,因为若要试遍所有26!种可能的密钥、即使计算机每微秒试一个密钥,也需要1013年。但事实上完全不需要这么做,破译者只要拥有很少一点密文,利用自然语言的统计特征,很容易就可破译密码。破译的关键在于找出各种字母或字母组合出现的频率比如经统计发现,英文中字母e出现的频率最高,其次是t、o、a、n、i最常见的两字母组合依次为th、in、er、re和an,最常见的三字母组合依次为the、ing、and和ion。因此破译者首先可将密文中出现频率最高的字母定为e,频率次高的字母定为t,……;然后猜测最常见的两字母组、三字母组,比如密文中经常出现tXe,就可以推测X很可能就是h,如经常出现thYt,则Y很可能就是a等。采用这种合理的推测,破译者就可以逐字逐句组织出一个试验性的明文。替代密码-多张密码字母表对明文中不同位置上的字母用不同的密码字母表来加密。比如任意选择26张不同的单字母密码表,相互间排定一个顺序,然后选择一个简短易记的单词或短语作为密钥,在加密一条明文时,将密钥重复写在明文的上面,则每个明文字母上的密钥字母即指出该明文字母用哪一张单字母密码表来加密。举例比如要加密明文“pleaseexecutethelatestscheme”,密钥为“computer”,则将“computer”重复写在报文上面于是第1个明文字母p用第3张(假设a~z分别表示顺序1~26)单字母密码表加密,第2个明文字母l用第12张单字母密码表加密,……。显然,同一个明文字母因位置不同而在密文中可能用不同的字母来表示,从而消除了各种字母出现的频率特征。破译虽然破译多字母密码表要困难一些,但如果破译者手头有较多的密文,仍然是可以破译的。破译的诀窍在于猜测密钥的长度。首先破译者假设密钥的长度为止,然后将密文按每行k个字母排成若干行,如果猜测正确,那么同一列的密文字母应是用同一单字母密码表加密的,因此同一列中各密文字母的频率分布应与英文相同,即最常用的字母(对应明文字母e)频率为13%,次常用的字母(对应明文字母t)频率为9%等等。如果猜测不正确,则换一个k进行重试,一旦猜测正确,即可逐列使用破译单字母表密码的方法进行破译。换位密码换位有时也称为排列,它不对明文字母进行变换,只是将明文字母的次序进行重新排列。下图是一种常用的换位密码,它的密钥必须是一个不含重复字母的单词或短语,加密时将明文按密钥长度截成若干行排在密钥下面,按照密钥字母在英文字母表中的先后顺序给各列进行编号,然后按照编好的序号按列输出明文即成密文。破译第一步是判断密码类型,检查密文中E、T、O、A、N、I等字母的出现频率,如果符合自然语言特征,则说明密文是用换位密码写的。第二步是猜测密钥的长度,也即列数。在许多情况下,破译者根据消息的上下文,常常可以猜测出消息中可能包含的单词或短语,选择的单词或短语最好比较长一些,使其至少可能跨越两行,如“latestscheme”。将选择的单词或短语按照假定的长度k截成几行,由于同一列上相邻的字母在密文中必是相邻的,因此可以将各列上的各种字母组合记下来,在密文中搜索。比如将“latestscheme”按照假设的长度8截成两行,则相邻的字母组合有lh,ae,tm和ee。假如设想的k是正确的,则大部分设想的字母组合在密文中都会出现;如果搜索不到,则换一个k再试。通过寻找各种可能性,破译者常常能够确定密钥的长度。第三步是确定各列的顺序。如果列数比较少的话,可以逐个检查(k(k-1))个列对,查看它们的二字母组的频率是否符合英文统计特征,与特征符合最好的列对认为其位置正确。然后从剩下的列中寻找这两列的后继列,如果某列和这两列组合后,二字母组和三字母组的频率都很好地符合英文统计特征,那么该列就是正确的后继列。通过同构法也可以找到它们的前趋列,直至最终将所有的列序全部找到。密钥算法在密码学中,加密和解密的密钥有两种截然不同的实现方法,这就是秘密密钥算法和公开密钥算法。秘密密钥算法现代密码学也使用替代密码和换位密码的思想,但和传统密码学的侧重点不同。传统密码学的加密算法比较简单,主要通过加长密钥长度来提高保密程度;而现代密码学正好相反,它使用极为复杂的加密算法,即使破译者能够对任意数量的选择明文进行加密,他也无法找出破译密文的方法。电路实现换位密码和替代密码可以用简单的电路来实现。图(a)是一个实现换位密码的基本部件,称为P盒(P-box),它将输入顺序映射到某个输出顺序上,只要适当改变盒内的连线,它就可以实现任意的排列。图(b)是一个实现替代密码的基本部件,称为S盒(S-box),它由一个3-8译码器、一个P盒和一个8-3编码器组成。一个3比特的输入将选择3-8译码器的一根输出线,该线经P盒换位后从另一根线上输出,再经8-3编码器转换成一个新的3比特序列。将P盒和S盒相复合构成乘积密码系统,就可以实现非常复杂的加密算法。图(c)是一个乘积密码系统的例子。一个12比特的明文经第一个P盒排列后,按3比特一组分成4组,分别进入4个不同的S盒进行替代,替代后的输出又经第二个P盒排列,然后再进入4个S盒进行替代,这个过程重复进行直至最后输出密文。只要级联的级数足够大,算法就可以设计得非常复杂。密钥分发问题秘密密钥的一个弱点是解密密钥必须和加密密钥相同,这就产生了如何安全地分发密钥的问题。传统上是由一个中心密钥生成设备产生一个相同的密钥对,并由人工信使将其传送到各自的目的地。对于一个拥有许多部门的组织来说,这种分发方式是不能令人满意的,尤其是出于安全方面的考虑需要经常更换密钥时更是如此。两个完全陌生的人要想秘密地进行通信,就必须通过实际会面来商定密钥,否则别无它法。公开密钥算法在公开密钥算法提出之前,所有密码系统的解密密钥和加密密钥都有很直接的联系,即从加密密钥可以很容易地导出解密密钥,因此所有的密码学家理所当然地认为应对加密密钥进行保密。Diffle和Hellman提出了一种完全不同的设想,从根本上改变了人们研究密码系统的方式。在Diffie和Hel1man提出的方法中,加密密钥和解密密钥是不同的,并且从加密密钥不能得到解密密钥。为此,加密算法E和解密算法D必须满足以下的三个条件:①D(E(P))=P;②从E导出D非常困难;③使用”选择明文”攻击不能攻破E。第一个条件是指将解密算法D作用于密文E(P)后就可获得明文P第二个条件是说不可能从E导出D第三个条件是指破译者即使能加密任意数量的选择明文,也无法破译密码。如果能够满足以上三个条件,则加密算法完全可以公开。Diffie和Hel1man算法的基本思想如果某个用户希望接收秘密报文,他必须设计两个算法:加密算法E和解密算法D,然后将加密算法放于任何一个公开的文件中广而告知,这也是公开密钥算法名称的由来,他甚至也可以公开他的解密方法,只要他妥善保存解密密钥即可。当两个完全陌生的用户A和B希望进行秘密通信时,各自可以从公开的文件中查到对方的加密算法。若A需要将秘密报文发给B,则A用B的加密算法EB对报文进行加密,然后将密文发给B,B使用解密算法DB进行解密,而除B以外的任何人都无法读懂这个报文;当B需要向A发送消息时,B使用A的加密算法EA对报文进行加密,然后发给A,A利用DA进行解密。在这种算法中,每个用户都使用两个密钥,其中加密密钥是供其他人向他发送报文用的,这是公开的,解密密钥是用于对收到的密文进行解密的,这是保密的。通常用公开密钥和私人密钥分别称呼公开密钥算法中的加密密钥和解密密钥,以同传统密码学中的秘密密钥相区分。由于私人密钥只由用户自己掌握,不需要分发给别人,也就不用担心在传输的过程中或被其他用户泄密,因而是极其安全的。用公开密钥算法解决密钥分发问题:中心密钥生成设备产生一个密钥后,用各个用户公开的加密算法对之进行加密,然后分发给各用户,各用户再用自己的私人密钥进行解密,既安全又省事。两个完全陌生的用户之间,也可以使用这种方法很方便地商定一个秘密的会话密钥。RSA算法RSA算法基于了一些数论的原理,在此不对它做理论上的推导,只说明如何使用这种算法。①选择两个大素数p和q(典型值为大于10100);②计算n=p×q和z=(p-1)×(q-1);③选择一个与z互质的数,令其为d;④找到一个e使其满足e×d=1(modz)。计算了以上参数后,就可以开始对明文加密。首先将明文看成是一个比特串,将其划分成一个个的数据块P且有0≤P<n。要做到这一点并不难,只需先求出满足2k<n的最大k值,然后使得每个数据块长度不超过k即可。对数据块P进行加密,计算C=Pe(modn),C即为P的密文;对C进行解密,计算P=Cd(modn)。可以证明,对于指定范围内的所有P,其加密函数和解密函数互为反函数。进行加密需要参数e和n,进行解密需要参数d和n。所以公开密钥由(e,n)组成,私人密钥由(d,n)组成。RSA算法举例假设取p=3,q=11计算出n=p×q=33和z=(p-1)×(q-1)=20。由于7和20没有公因子,因此可取d=7;解方程7e=1(mod20)可以得到e=3。由此公开密钥为(3,33),私人密钥为(7,33)。假设要加密的明文为M=4,则C=Me(modn)=43(mod33)=31,于是对应的密文为C=31。接收方收到密文后进行解密,计算M=Cd(modn)=317(mod33)=4,恢复出原文。应该指出的是,虽然RSA算法具有安全方便的特点,但它的运行速度太慢,因而通常只用来进行用户认证、数字签名或发送一次性的秘密密钥,数据的加密仍使用秘密密钥算法。RSA算法的安全性建立在难以对大数提取因子的基础上,如果破译者能对已知的n提取出因子p和q就能求出z,知道了z和e,就能求出d。所幸的是,300多年来虽然数学家们已对大数的因式分解问题作了大量研究,但并没有取得什么进展,到目前为止这仍是一个极其困难的问题。据Rivest等人的推算,用最好的算法和指令时间为1微秒的计算机对一个200位的十进制数作因式分解需要40亿年的机器时间,而对一个500位的数作因式分解需要1025年。即使计算机的速度每10年提高一个数量级,能作500位数的因式分解也是在若干世纪之后,然而到那时,人们只要选取更大的p和q就行了。用户认证通信双方在进行重要的数据交换前,常常需要验证对方的身份,这种技术称为用户认证。在实际的操作中,除了认证对方的身份外,同时还要在双方间建立一个秘密的会话密钥,该会话密钥用于对其后的会话进行加密。每次连接都使用一个新的随机选择的密钥,其目的在于防止网络入侵者收集足够数量的密文进行破译。使用共享秘密密钥进行用户认证

假设在A和B之间有一个共享的秘密密钥KAB

。某个时候A希望和B进行通信,于是双方采用图10.13所示的过程进行用户认证。首先A向B发送自己的身份标识;B收到后,为了证实确实是A发出的,于是选择一个随机的大数RB,用明文发给A;A收到后用共享的秘密密钥KAB对RB进行加密,然后将密文发回给B,B收到密文后确信对方就是A,因为除此以外无人知道密钥KAB;但这时A尚无法确定对方是否为B,所以A也选择了一个随机的大数RA,用明文发给B;B收到后用KAB对RA进行加密,然后将密文发回给A,A收到密文后也确信对方就是B;至此用户认证完毕。如果这时A希望和B建立一个秘密的会话密钥,它可以选择一个密钥KS,然后用KAB对其进行加密后发送给B,此后双方即可使用KS进行会话。图10.13

使用共享秘密密钥进行用户认证使用密钥分发中心的用户认证协议要求通信的双方具有共享的秘密密钥有时是做不到的,比如在两个陌生人之间。另外如果某个用户要和n个用户进行通信,就需要有n个不同的密钥,这给密钥的管理也带来很大的麻烦。解决的办法是引进一个密钥分发中心(KeyDistributionCenter,KDC)。KDC是可以信赖的,并且每个用户和KDC间有一个共享的秘密密钥,用户认证和会话密钥的管理都通过KDC来进行。KDC举例如图10.14所示。A希望和B进行通信A选择一个会话密钥KS然后用与KDC共享的密钥KA对KS和B的标识进行加密,并将密文和A的标识一起发给KDC;KDC收到后,用与A共享的密钥KA

,将密文解开,此时KDC可以确信这是A发来的,因为其他人无法用KA来加密报文;然后KDC重新构造一个报文,放入A的标识和会话密钥KS

,并用与B共享的密钥KB,加密报文,将密文发给B;B用密钥KB将密文解开,此时B可以确信这是KDC发来的,并且获知了A希望用KS与它进行会话。图10.14

一个用KDC进行用户认证的协议重复攻击问题:假如有个C,当他为A提供了一定的服务后,希望A用银行转账的方式支付他的酬金,于是A和B(银行)建立一个会话,指令B将一定数量的金额转至C的账上。这时C将KDC发给B的密文和随后A发给B的报文复制了下来,等会话结束后,C将这些报文依次重发给B,而B无法区分这是一个新的指令还是一个老指令的副本,因此又将相同数量的金额转至C的账上,这个问题称为重复攻击问题。为解决这个问题,可以在每个报文中放一个一次性的报文号,每个用户都记住所有已经用过的报文号,并将重复编号的报文丢弃。另外还可以在报文上加一个时间戳,并规定一个有效期,当接收方收到一个过期的报文时就将它丢弃。使用公开密钥算法的用户认证协议

如图10.15所示。A选择一个随机数RA,用B的公开密钥EB,对A的标识符和RA进行加密,将密文发给B,B解开密文后不能确定密文是否真的来自A,于是它选择一个随机数RB和一个会话密钥KS,用A的公开密钥EA对RA

,RB和KS进行加密,将密文发回给A;A解开密文,看到其中的RA正是自己刚才发给B的,于是知道该密文一定发自B,因为其他人不可能得到RRA

,并且这是一个最新的报文而不是一个复制品,于是A用KS对RB进行加密表示确认;B解开密文,知道这一定是A发来的,因为其他人无法知道KS和RB

。图10.15

使用公开密钥进行用户认证数字签名

在许多情况下,文件是否真实有效要取决于是否有授权人的亲笔签名,但在使用计算机进行信息处理时,手迹签名显然是行不通的,必须使用数字形式的签名来解决。一个可以替代手迹签名的系统必须满足以下三个条件:①接收方通过文件中的签名能认证发送方的身份;②发送方以后不能否认发送过签名文件;③接收方不可能伪造文件内容。三个条件是必需假设一个股民委托他的股票经纪人代为炒股,并指令当他所持的股票达到某个价位时,立即全部抛出。股票经纪人首先必须认证该指令确实是由该客户发出的,而不是其他什么人在伪造指令,这就需要第一个条件。假定股票刚一卖出,股价立即猛升,该客户后悔不己,如果该客户是不诚实的,他可能会控告股票经纪人,宣称他从未发出过任何卖出股票的指令,这时股票经纪人可以拿出有他自己签名的委托书作为最有力的证据,所以第二个条件也是必需的。另一种可能是股票经纪人玩忽职守,当股票价位合适时没有立即抛出,不料此后股价一路下跌,客户损失惨重,为了推卸责任,股票经纪人可能试图修改委托书,修改成客户要求在某一个更高价位上(实际上该价位不可能达到)卖出股票,否则不卖等等,为了保障客户的权益,需要第三个条件。

使用秘密密钥算法的数字签名

这种方式需要一个可以信赖的中央权威机构(Centra1Authority,以下简称CA)的参与,每个用户事先选择好一个与CA共享的秘密密钥并亲自交到CA,以保证只有用户和CA知道这个密钥。除此以外,CA还有一个对所有用户都保密的秘密密钥KCA。当A想向B发送一个签名的报文P时,它向CA发出KA(B,RA,t,P),其中RA为报文的随机编号,t为时间戳;CA将其解密后,重新组织成一个新的密文KB(A,RA,t,P,KCA(A,t,P))发给B,因为只有CA知道密钥KCA,因此其他任何人都无法产生和解开密文KCA(A,t,P);B用密钥KB解开密文后,首先将KCA(A,t,P)放在一个安全的地方,然后阅读和执行P。验证当过后A试图否认给B发过报文P时,B可以出示KCA(A,t,P)来证明A确实发过P,因为B自己无法伪造出KCA(A,t,P),它是由CA发来的,而CA是可以信赖的,如果A没有给CA发过P,CA就不会将P发给B,这只要用KCA对KCA(A,t,P)进行解密,一切就可真相大白。为了避免重复攻击,协议中使用了随机报文编号RA和时间戳t。B能记住最近收到的所有报文编号,如果RA和其中的某个编号相同,则P就被当成是一个复制品而丢弃,另外B也根据时间戳t丢弃旧报文,以防止攻击者经过很长一段时间后,再用旧报文来重复攻击。使用公开密钥算法的数字签名

使用秘密密钥算法的数字签名,需要一个大家共同信赖的中央授权机构,而在实际中要找到这样一个机构是比较困难的,所幸的是使用公开密钥算法的数字签名可不受此条件的限制。使用公开密钥算法的数字签名,其加密算法和解密算法除了要满足D(E(P))=P外,还必须满足E(D(P))=P,这个假设是可能的,因为RSA算法就具有这样的特性。数字签名的过程如图10.17所示,当A想向B发送签名的报文P时,它向B发送EB(DA(P)),由于A知道自己的私人密钥DA和B的公开密钥EB,因而这是可能的;B收到密文后,先用私人密钥DB解开密文,将DA(P)复制一份放于安全的地方,然后用A的公开密钥EA将DA(P)解开,取出P。EB(DA(P))验证当A过后试图否认给B发过P时,B可以出示DA(P)作为证据,因为B没有A的私人密钥DA,除非A确实发过DA(P),否则B是不会有这样一份密文的,只要用A的公开密钥EA解开DA(P),就可以知道B说的是真话。这种数字签名看上去很好,但在实际的使用中也存在一些问题,这些问题不是算法本身的问题,而是和算法的使用环境有关。首先只有DA仍然是秘密的,B才能证明A确实发送过DA(P),如果A试图否认这一点,他只需公开他的私人密钥,并声称他的私人密钥被盗了,这样任何人包括B都有可能发送DA(P);其次是A改变了他的私人密钥,出于安全因素的考虑,这种做法显然是无可非议的,但这时如果发生纠纷的话,裁决人用新的EA去解老的DA(P),就会置B于非常不利的地位。因此在实际的使用中,还需要有某种集中控制机制记录所有密钥的变化情况及变化日期。报文摘要有人对以上的签名方法提出批评,认为它们将认证和保密两种截然不同的功能混在了一起,有些报文只需要签名而不需要保密,将报文全部进行加密速度太慢也不必要。为此有人提出一个新的方案,该方案使用一个单向的哈希(Hash)函数,将任意长的明文转换成一个固定长度的比特串,然后仅对该比特串进行加密。这样的方法通常称为报文摘要(MessageDigest,MD),它必须满足以下三个条件:①给定P,很容易计算出MD(P);②给出MD(P),很难计算出P;③任何人不可能产生出具有相同报文摘要的两个不同的报文。为满足条件3,MD(P)至少必须达到128位,实际上有很多函数符合以上三个条件。报文摘要-CA考虑图10.16的例子,CA解开密文后,首先计算出MD(P),然后着手组织一个新的密文,在新的密文中它不是发送KCA(A,t,P),而是发送KCA(A,t,MD(P)),B解开密文后将KCA(A,t,MD(P))保存起来。如果发生纠纷,B可以出示P和KCA(A,t,MD(P))作为证据。因为KCA(A,t,MD(P))是由CA送来的,B无法伪造。CA用KCA解开密文取出MD(P)后,可将哈希函数作用于B提供的明文P,然后判断报文摘要是否和MD(P)相同。因为条件3保证了不可能伪造出另一个报文使得其报文摘要同MD(P)一样,因此只要两个报文摘要相同,就证明了B确实收到了P。KCA(A,t,MD(P))报文摘要-公开密钥密码系统在公开密钥密码系统中,使用报文摘要进行数字签名的过程如图10.18所示。A首先对明文P,计算出MD(P),然后用私人密钥对MD(P)进行加密,连同明文P一起发送给B;B将DA(MD(P))复制一份放于安全的地方,然后用A的公开密钥解开密文取出MD(P)。为防止途中有人更换报文P,B对P计算报文摘要,如果结果同MD(P)相同,则将P接收下来。当A试图否认发送过P时,B可以出示P和DA(MD(P))来证明自己确实收到过P。图10.18使用报文摘要的数字签名 P,DA(MD(P))10.4防火墙防火墙(Firewall)是在两个网络之间执行访问控制策略的硬件或软件系统,目的是保护网络不被他人侵扰。本质上,它遵循的是一种数据进行过滤的网络通信安全机制,只允许授权的通信,而禁止非授权的通信。通常,防火墙就是位于内部网或Web站点与因特网之间的一台路由器或计算机。通常,部署防火墙的理由包括:防止入侵者干扰内部网络的正常运行;防止入侵者删除或修改存储再内部网络中的信息;防止入侵者偷窃内部的秘密信息。部署防火墙应该满足以下规则:所有进出网络的通信流都应该通过防火墙。所有穿过防火墙的通信流都必须有安全策略和计划的确认和授权。理论上说,防火墙是不会被攻破的。防火墙不是万能的,它不能防范恶意的知情者和不通过它的连接,不能防止内部人员的攻击,也不能防范病毒。防火墙体系结构1.双重宿主主机双重宿主主机结构是围绕具有双重宿主的计算机而构筑的。该计算机至少有两个网络接口,这样的主机可以充当与之相连的网络之间的路由器,并能够在网络之间转发IP数据包。防火墙内部的网络系统能与双重宿主主机通信,同时防火墙外部的网络系统(在因特网上)也能与双重宿主主机通信。通过双重宿主主机,防火墙内外的计算机便可进行通信了,但是这些系统不能直接互相通信,它们之间的IP通信被完全阻止(这意味着双重宿主主机具有两个不同的IP地址,一个属于外网,另一个属于内网)。双重宿主主机防火墙结构是相当简单的,双重宿主主机位于两者之间,并且被连接到因特网和内部的网络。图10.20显示了这种结构。有时双重宿主主机也可以由一台路由器实现,由路由器的数据包过滤特性提供安全防护。图10.20

双重宿主主机防火墙的结构2.内网过滤结构内网过滤结构添加了额外的过滤路由器和应用网关,更进一步地把企业网络与因特网隔离开。内网过滤结构包含两个过滤路由器,每一个都连接到内部网络,一个位于内部网络与企业网络之间,另一个位于内部网络与外部网络之间。如果需要,还可以在内部网络上安装一个或多个针对某些特殊应用的应用网关(ApplicationGateway)。过滤路由器的作用是检查每个进来或出去的分组,,只有满足某种准则的分组才被转发,不满足条件的分组责备丢弃。应用网关的主要功能是:接收进入(inbound)和出去(outbound)的应用层数据,对其内容进行分析,然后再根据安全策略决定是否将其送往指定的目的地。应用网关与过滤路由器相结合能够大大提高网络的安全性,但也牺牲了部分性能和使用的便利性。包过滤包过滤是防火墙最基本的实现方法,它控制哪些数据包可以进出网络而哪些数据包应被网络拒绝。包过滤防火墙通常是放置在因特网与内部网络之间的一个具备包过滤功能的简单路由器,这是因为包过滤是路由器的固有属性。路由器能够打开数据包获得有关网络层的信息。根据这些信息和预先定义的规则,路由器就能对流经过它数据包进行过滤。包过滤可依据以下几类条件允许或阻止数据包通过路由器:包的源地址及源端口;包的目的地址及目的端口;ICMP消息类型;包的传送协议,如FTP、SMTP、rlogin等;使用TCPSYN或ACK位建立连接时的数据报。例如,包过滤能让我们实施类似以下情况的控制:不让任何用户从外部网使用Telnet登录内部服务器;允许任何外部网络用户使用SMTP协议往内部网发电子邮件;只允许外部网络用户访问内部网的WWW服务器,而不允许访问数据库服务器。包过滤不能对包中的应用数据进行过滤。例如,下述操作是包过滤所不能实现的:允许某个用户从外部网用Telnet登录而不允许其它用户进行这种操作。允许用户传送MSWord文件而不允许用户传送MP3文件。禁止传输含有公司机密信息的JPEG图像文件。包过滤的优缺点优点:简单、易于实现、对用户透明、路由器免费提供此功能。仅用一个放置在内部网与因特网边界上的包过滤路由器就可保护整个内部网络。缺点:编制逻辑上严密无漏洞的包过滤规则比较困难,对编制好的规则进行测试也较麻烦。维护复杂的包过滤规则也是一件很麻烦的事情,网络管理员必须根据防火墙的包过滤规则理解和评估网络每天的变化。如果网络中增加了一台服务器又没有加入保护它的包过滤规则,可能它就会成为黑客的攻破点。包过滤规则的判别会降低路由器的转发速度,规则集越大,判别过程花的时间就越多,何况随着时间的推移,规则集还会不断增长。它总是假定包头部信息是合法有效的。实际上包头部信息很容易被精通网络的人篡改,使得包过滤器认为包是来自合法的用户。例如,入侵者总是把他们伪装成来自于内部网。以上这些缺点使得包过滤技术通常不单独使用,而是作为其他安全技术的一种补充。包过滤规则在配置包过滤路由器时,首先要确定哪些服务允许通过而哪些服务应被拒绝,并将这些规定翻译成有关的包过滤规则(在路由器中,包过滤规则又被称为访问控制表(AccessList))。下面给出将有关服务翻译成包过滤规则时非常重要的几个概念。协议的双向性。协议总是双向的,协议包括一方发送一个请求而另一方返回一个应答。在制定包过滤规则时,要注意包是从两个方向来到路由器的。“往内”与“往外”的含义。在制定包过滤规则时,必须准确理解“往内”与“往外”的包和“往内”与“往外”的服务这几个词的语义。“默认允许”与“默认拒绝”。网络的安全策略中的有两种方法:默认拒绝(没有明确地被允许就应被拒绝)与默认允许(没有明确地被拒绝就应被允许)。从安全角度来看,用默认拒绝应该更合适。包过滤处理流程设计示例假设网络策略安全规则确定:从外部主机发来的因特网邮件由特定网关“Mail-GW”接收,并且要拒绝从不信任的主机“CREE-PHOST”发来的数据流。在这个例子中,SMTP使用的网络安全策略必须翻译成包过滤规则。为便于理解,把网络安全规则翻译成下列中文形式:[过滤器规则1]:不相信从CREE-PHOST来的连接。[过滤器规则2]:允许与邮件网关Mail-GW的连接。这些规则被编成表10.1的形式。其中星号(*)表明它可以匹配该列的任何值。 对于过滤器规则1,阻塞任何(*)从CREE-PHOST来的到本地任意(*)主机的任意(*)端口的连接。对于过滤器规则2,允许任意(*)外部主机从其任意(*)端口到Mail-GW主机端口的连接。对于过滤器规则3,表示允许任意内部主机发送邮件到任意外部主机的端口25。讨论这些规则应用的顺序与它们在表中的顺序相同。如果一个包不与任何规则匹配,它就会遭到拒绝。从以上示例可知过滤办法有依据地址进行过滤和依据服务进行过滤。最简单的方法是依据地址进行过滤。用地址进行过滤可以不管使用什么协议,仅根据源地址/目的地址对流动的包进行过滤。我们可用这种方法只让某些被指定的外部主机与某些被指定的内部主机进行交互。还可以防止黑客伪装成来自某台合法主机,而其实并非来自于那台主机,对网络进行侵扰。依据服务进行过滤主要是依据源端口来过滤,依据源端口来过滤必须有个前提,提供端口号的机器必须是真实的。如果入侵者已经具有最高权限,完全控制了这台机器,那他就可随意在这台机器上做任何事情,也就等于在能够在包过滤规则的端口上运行任意的客户程序或服务器程序。所以,源主机提供的源地址有时是不可信的,因为那台主机很可能就是伪装的入侵者。选择防火墙的原则设计和选用防火墙首先要明确哪些数据是必须保护的,这些数据的被侵入会导致什么样的后果及网络不同区域需要什么等级的安全级别。不管采用原始设计还是使用现成的防火墙产品,对于防火墙的安全标准,首先需根据安全级别确定。其次,设计或选用防火墙必须与网络接口匹配,要防止你所能想到的威胁。防火墙可以是软件或硬件模块,并能集成于路由器和网关等设备之中。选择防火墙的原则如下:1.防火墙自身的安全性大多数人在选择防火墙时都将注意力放在防火墙如何控制连接以及防火墙支持多少种服务上,但往往忽略一点,防火墙也是网络上的主机设备,也可能存在安全问题。防火墙如果不能确保自身安全,则防火墙的控制功能再强,也终究不能完全保护内部网络。2.考虑特殊的需求

(1)IP地址转换(IPAddressTranslation)。进行IP地址转换有两个好处:其一是隐藏内部网络真正的IP,这可以使黑客无法直接攻击内部网络,但这要建立在防火墙自身安全性的基础上;另一个好处是可以让内部用户使用保留的IP,这对许多IP不足的企业是非常重要的。(2)双重DNS。当内部网络使用没有注册的IP地址,或是防火墙进行IP转换时,DNS也必须经过转换。因为,同样的一个主机在内部的IP

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论