❶ 防火墙技术有哪些
从实现原理上分,防火墙的技术包括四大类:网络级防火墙、应用级网关、电路级网关和规则检查防火墙。
1、网络级防火墙
一般是基于源地址和目的地址、应用、协议以及每个IP包的端口来作出通过与否的判断。防火墙检查每一条规则直至发现包中的信息与某规则相符。
如果没有一条规则能符合,防火墙就会使用默认规则,一般情况下,默认规则就是要求防火墙丢弃该包。通过定义基于TCP或UDP数据包的端口号,防火墙能够判断是否允许建立特定的连接,如Telnet、FTP连接。
2、应用级网关
应用级网关能够检查进出的数据包,通过网关复制传递数据,防止在受信任服务器和客户机与不受信任的主机间直接建立联系。应用级网关能够理解应用层上的协议,能够做复杂一些的访问控制,并做精细的注册和稽核。
它针对特别的网络应用服务协议即数据过滤协议,并且能够对数据包分析并形成相关的报告。应用网关对某些易于登录和控制所有输出输入的通信的环境给予严格的控制,以防有价值的程序和数据被窃取。
3、电路级网关
电路级网关用来监控受信任的客户或服务器与不受信任的主机间的TCP握手信息,这样来决定该会话是否合法,电路级网关是在OSI模型中会话层上来过滤数据包,这样比包过滤防火墙要高二层。
电路级网关代理服务器功能,代理服务器是设置在Internet防火墙网关的专用应用级代码。这种代理服务准许网管员允许或拒绝特定的应用程序或一个应用的特定功能。包过滤技术和应用网关是通过特定的逻辑判断来决定是否允许特定的数据包通过,成功地实现了防火墙内外计算机系统的隔离。
4、规则检查防火墙
该防火墙结合了包过滤防火墙、电路级网关和应用级网关的特点。能够在OSI网络层上通过IP地址和端口号,过滤进出的数据包,也能够检查SYN和ACK标记和序列数字是否逻辑有序。当然它也象应用级网关一样,可以在OSI应用层上检查数据包的内容,查看这些内容是否能符合企业网络的安全规则。
规则检查防火墙虽然集成前三者的特点,但是不同于一个应用级网关的是,它并不打破客户机/服务器模式来分析应用层的数据,它允许受信任的客户机和不受信任的主机建立直接连接。行并规则检查防火墙培带前不依靠与应用层有关的代理,而是依靠某种算法来识别进出的应用层数据。
(1)防火墙资源申请需要提供哪些数据扩展阅读
应用防火墙技术考虑以下方面:
1、防火墙是不能防病毒的。
2、防火墙技术的另外一个弱点在于数据在防火墙之间的更新是一个难题,如果延迟太大将无法支持实时服务请求。
防火墙采用滤波技术,滤波配清通常使网络的性能降低50%以上,如果为了改善网络性能而购置高速路由器,又会大大提高经济预算。
防火墙是企业网安全问题的常用方案,即把公共数据和服务置于防火墙外,使其对防火墙内部资源的访问受到限制。作为一种网络安全技术,防火墙具有简单实用的特点,并且透明度高,可以在不修改原有网络应用系统的情况下达到一定的安全要求。
❷ 介绍防火墙如何处理数据应该把握哪些点
测试防火墙性能
不要只通过防火墙在默认状态下的性能表现来判断其优劣,因为现在很多数据托管的应用程序与服务都是基于SaaS和云计算的。诸如智能手机、平板等移动设备而产生的数据包,不仅要大流量管道才能满足网络的访问需要,而且必须在网络边缘给予审核。
对于网络安全设备来说,在处理上述不可预知的容量与流量并发的时候,会产生大量的网络延迟,并降低关键应用和服务的性能,今天的防火墙设备更是需要处理日益增多的数据流量。因此,这就与默认状态下的性能表现会有很大拿让差别,也有必要为了确保制定的安全策略与防火墙进行较佳适歼清配,而不定期进行防火墙的性能测试。
2、检查加密流量
确保防火墙可以检查所有流量,包括加密的流量。虽然很多网络流量都是通过SSL(安全套接层,SecureSocketsLayer)和SSH(安全外壳协议,SecureShell)加密,来保障交互数据的安全,但实际上,对于攻击者来说,也会利用它们来加密恶意活动,并隐瞒与入侵系统的通信。据估计,在击中企业网络的所有流量中,有三分之以上的攻击流量是被加密的。
因此,如果没有种方法来解密流量的话,那么你的防火墙面对攻击者的威氏敏前胁将是盲目的,而且可能会在加密流量面前栽跟头。虽然目前些新式防火墙已经能够解密和检查加密流量,但大量运行着的传统防火墙并不具备这个功能。而如果你的防火墙属于后者,那么就有必要在SSL流量抵达之前给予拦截。并且,现在些IT服务供应商可提供代理服务器来帮助企业实现流量的拦截过滤服务。
3、查看防护策略
确保定期地审查防火墙策略规则。因为即使开始企业制定的套安全策略是有效的,但随着时间的推移,该策略规则都有被淘汰的可能,变成冗余和矛盾的存在。所以,建议少每半年检查次防火墙策略集,删除过时、未使用的和过期的策略规则。而当添加新策略时,要确保其与现行策略不重复和不冲突。
❸ 申请网络安全策略时要提供哪些信息
网络的安全策略1.引言
随着计算机网络的不断发展,全球信息化已成为人类发展的大趋势。但由于计算机网络具有联结形式多样性、终端分布不均匀性和网络的开放性、互连性等特征,致使网磨神络易受黑客、怪客、恶意软件和其他不轨的攻击,所以网上信息的安全和保密是一个至关重要的问题。对于军用的自动化指挥网络、C3I系统和银行等传输敏感数据的计算机网络系统而言,其网上信息的安全和保密尤为重要。因此,上述的网络必须有足够强的安全措施,否则该网络将是个无用、甚至会危及国家安全的网络。无论是在局域网还是在广域网中,都存在着自瞎正亏然和人为等诸多因素的脆弱性和潜在威胁。故此,网络的安全措施应是能全方位地针对各种不同的威胁和脆弱性,这样才能确保网络信息的保密性、完整性和可用性。
2.计算网络面临的威胁
计算机网络所面临的威胁大体可分为两种:一是对网络中信息的威胁;二是对网络中设备的威胁。影响计算机网络的因素很多,有些因素可能是有意的,也可能是无意的;可能是人为的,也可能是非人为的;可能是外来黑客对网络系统资源的非法使有,归结起来,针对网络安全的威胁主要有三:
(1)人为的无意失误:如操作员安全配置不当造成的安全漏洞,用户安全意识不强,用户口令选择不慎,用户将自己的帐号随意转借他人或与别人共享等都会对网络安全带来威胁。
(2)人为的恶意攻击:这是计算机网络所面临的最大威胁,敌手的攻击和计算机犯罪就属于这一类。此类攻击又可以分为以下两种:一种是主动攻击,它以各种方式有选择地破坏信息的有效性和完整性;另一类是被动攻击,它是在不影响网络正常工作的情况下,进行截获、窃取、破译以获得重要机密信息。这两种攻击均可对计算机网络造成极大的危害,并导致机密数据的泄漏。
(3)网络软件的漏洞和“后门”:网络软件不可能是百分之百的无缺陷和无漏洞的,然而,这些漏洞和缺陷恰恰是黑客进行攻击的首选目标,曾经出现过的黑客攻入网络内部的事件,这些事件的大部分就是因为安全措施不完善所招致的苦果。另外,软件的“后门”都是软件公司的设计编程人员为了自便而设置的,一般不为外人所知,但一旦“后门”洞开,其造成的后果将不堪设想。
3.计算机网络的安全策略
3.1 物理安全策略
物理安全策略的目的是保护计算机系统、网络服务器、打印机等硬件实体和通信链路免受自然灾害、人为破坏和搭线攻击;验证用户的身份和使用权限、防止用户越权操作;确保计算机系统有一个良好的电磁兼容工作环境;建立完备的安全管理制度,防止非法进入计算机控制室和各种偷窃、破坏活动的发生。
抑制和防止电磁泄漏(即TEMPEST技术)是物理安全策略的一个主要问题。目前主要防护措施有两类:一类是对传导发射的防护,主要采取对电源线和信号线加装性能良好的滤波器,减小传输阻抗和导线间的交叉耦清颤合。另一类是对辐射的防护,这类防护措施又可分为以下两种:一是采用各种电磁屏蔽措施,如对设备的金属屏蔽和各种接插件的屏蔽,同时对机房的下水管、暖气管和金属门窗进行屏蔽和隔离;二是干扰的防护措施,即在计算机系统工作的同时,利用干扰装置产生一种与计算机系统辐射相关的伪噪声向空间辐射来掩盖计算机系统的工作频率和信息特征。
3.2 访问控制策略
访问控制是网络安全防范和保护的主要策略,它的主要任务是保证网络资源不被非法使用和非常访问。它也是维护网络系统安全、保护网络资源的重要手段。各种安全策略必须相互配合才能真正起到保护作用,但访问控制可以说是保证网络安全最重要的核心策略之一。下面我们分述各种访问控制策略。 3.2.1 入网访问控制
入网访问控制为网络访问提供了第一层访问控制。它控制哪些用户能够登录到服务器并获取网络资源,控制准许用户入网的时间和准许他们在哪台工作站入网。
用户的入网访问控制可分为三个步骤:用户名的识别与验证、用户口令的识别与验证、用户帐号的缺省限制检查。三道关卡中只要任何一关未过,该用户便不能进入该网络。
对网络用户的用户名和口令进行验证是防止非法访问的第一道防线。用户注册时首先输入用户名和口令,服务器将验证所输入的用户名是否合法。如果验证合法,才继续验证用户输入的口令,否则,用户将被拒之网络之外。用户的口令是用户入网的关键所在。为保证口令的安全性,用户口令不能显示在显示屏上,口令长度应不少于6个字符,口令字符最好是数字、字母和其他字符的混合,用户口令必须经过加密,加密的方法很多,其中最常见的方法有:基于单向函数的口令加密,基于测试模式的口令加密,基于公钥加密方案的口令加密,基于平方剩余的口令加密,基于多项式共享的口令加密,基于数字签名方案的口令加密等。经过上述方法加密的口令,即使是系统管理员也难以得到它。用户还可采用一次性用户口令,也可用便携式验证器(如智能卡)来验证用户的身份。
网络管理员应该可以控制和限制普通用户的帐号使用、访问网络的时间、方式。用户名或用户帐号是所有计算机系统中最基本的安全形式。用户帐号应只有系统管理员才能建立。用户口令应是每用户访问网络所必须提交的“证件”、用户可以修改自己的口令,但系统管理员应该可以控制口令的以下几个方面的限制:最小口令长度、强制修改口令的时间间隔、口令的唯一性、口令过期失效后允许入网的宽限次数。
用户名和口令验证有效之后,再进一步履行用户帐号的缺省限制检查。网络应能控制用户登录入网的站点、限制用户入网的时间、限制用户入网的工作站数量。当用户对交费网络的访问“资费”用尽时,网络还应能对用户的帐号加以限制,用户此时应无法进入网络访问网络资源。网络应对所有用户的访问进行审计。如果多次输入口令不正确,则认为是非法用户的入侵,应给出报警信息。
3.2.2 网络的权限控制
网络的权限控制是针对网络非法操作所提出的一种安全保护措施。用户和用户组被赋予一定的权限。网络控制用户和用户组可以访问哪些目录、子目录、文件和其他资源。可以指定用户对这些文件、目录、设备能够执行哪些操作。受托者指派和继承权限屏蔽(IRM)可作为其两种实现方式。受托者指派控制用户和用户组如何使用网络服务器的目录、文件和设备。继承权限屏蔽相当于一个过滤器,可以限制子目录从父目录那里继承哪些权限。我们可以根据访问权限将用户分为以下几类:(1)特殊用户(即系统管理员);(2)一般用户,系统管理员根据他们的实际需要为他们分配操作权限;(3)审计用户,负责网络的安全控制与资源使用情况的审计。用户对网络资源的访问权限可以用一个访问控制表来描述。
3.2.3 目录级安全控制
网络应允许控制用户对目录、文件、设备的访问。用户在目录一级指定的权限对所有文件和子目录有效,用户还可进一步指定对目录下的子目录和文件的权限。对目录和文件的访问权限一般有八种:系统管理员权限(Supervisor)、读权限(Read)、写权限(Write)、创建权限(Create)、删除权限(Erase)、修改权限(Modify)、文件查找权限(File Scan)、存取控制权限(Access Control)。用户对文件或目标的有效权限取决于以下二个因素:用户的受托者指派、用户所在组的受托者指派、继承权限屏蔽取消的用户权限。一个网络系统管理员应当为用户指定适当的访问权限,这些访问权限控制着用户对服务器的访问。八种访问权限的有效组合可以让用户有效地完成工作,同时又能有效地控制用户对服务器资源的访问 ,从而加强了网络和服务器的安全性。
3.2.4 属性安全控制
当用文件、目录和网络设备时,网络系统管理员应给文件、目录等指定访问属性。属性安全控制可以将给定的属性与网络服务器的文件、目录和网络设备联系起来。属性安全在权限安全的基础上提供更进一步的安全性。网络上的资源都应预先标出一组安全属性。用户对网络资源的访问权限对应一张访问控制表,用以表明用户对网络资源的访问能力。属性设置可以覆盖已经指定的任何受托者指派和有效权限。属性往往能控制以下几个方面的权限:向某个文件写数据、拷贝一个文件、删除目录或文件、查看目录和文件、执行文件、隐含文件、共享、系统属性等。网络的属性可以保护重要的目录和文件,防止用户对目录和文件的误删除、、执行修改、显示等。
3.2.5 网络服务器安全控制
网络允许在服务器控制台上执行一系列操作。用户使用控制台可以装载和卸载模块,可以安装和删除软件等操作。网络服务器的安全控制包括可以设置口令锁定服务器控制台,以防止非法用户修改、删除重要信息或破坏数据;可以设定服务器登录时间限制、非法访问者检测和关闭的时间间隔。
3.2.6 网络监测和锁定控制
网络管理员应对网络实施监控,服务器应记录用户对网络资源的访问,对非法的网络访问,服务器应以图形或文字或声音等形式报警,以引起网络管理员的注意。如果不法之徒试图进入网络,网络服务器应会自动记录企图尝试进入网络的次数,如果非法访问的次数达到设定数值,那么该帐户将被自动锁定。
3.2.7 网络端口和节点的安全控制
网络中服务器的端口往往使用自动回呼设备、静默调制解调器加以保护,并以加密的形式来识别节点的身份。自动回呼设备用于防止假冒合法用户,静默调制解调器用以防范黑客的自动拨号程序对计算机进行攻击。网络还常对服务器端和用户端采取控制,用户必须携带证实身份的验证器(如智能卡、磁卡、安全密码发生器)。在对用户的身份进行验证之后,才允许用户进入用户端。然后,用户端和服务器端再进行相互验证。
3.2.8 防火墙控制
防火墙是近期发展起来的一种保护计算机网络安全的技术性措施,它是一个用以阻止网络中的黑客访问某个机构网络的屏障,也可称之为控制进/出两个方向通信的门槛。在网络边界上通过建立起来的相应网络通信监控系统来隔离内部和外部网络,以阻档外部网络的侵入。目前的防火墙主要有以下三种类型;
(1)包过滤防火墙:包过滤防火墙设置在网络层,可以在路由器上实现包过滤。首先应建立一定数量的信息过滤表,信息过滤表是以其收到的数据包头信息为基础而建成的。信息包头含有数据包源IP地址、目的IP地址、传输协议类型(TCP、UDP、ICMP等)、协议源端口号、协议目的端口号、连接请求方向、ICMP报文类型等。当一个数据包满足过滤表中的规则时,则允许数据包通过,否则禁止通过。这种防火墙可以用于禁止外部不合法用户对内部的访问,也可以用来禁止访问某些服务类型。但包过滤技术不能识别有危险的信息包,无法实施对应用级协议的处理,也无法处理UDP、RPC或动态的协议。
(2)代理防火墙:代理防火墙又称应用层网关级防火墙,它由代理服务器和过滤路由器组成,是目前较流行的一种防火墙。它将过滤路由器和软件代理技术结合在一起。过滤路由器负责网络互连,并对数据进行严格选择,然后将筛选过的数据传送给代理服务器。代理服务器起到外部网络申请访问内部网络的中间转接作用,其功能类似于一个数据转发器,它主要控制哪些用户能访问哪些服务类型。当外部网络向内部网络申请某种网络服务时,代理服务器接受申请,然后它根据其服务类型、服务内容、被服务的对象、服务者申请的时间、申请者的域名范围等来决定是否接受此项服务,如果接受,它就向内部网络转发这项请求。代理防火墙无法快速支持一些新出现的业务(如多媒体)。现要较为流行的代理服务器软件是WinGate和Proxy Server。
(3)双穴主机防火墙:该防火墙是用主机来执行安全控制功能。一台双穴主机配有多个网卡,分别连接不同的网络。双穴主机从一个网络收集数据,并且有选择地把它发送到另一个网络上。网络服务由双穴主机上的服务代理来提供。内部网和外部网的用户可通过双穴主机的共享数据区传递数据,从而保护了内部网络不被非法访问。
4.信息加密策略
信息加密的目的是保护网内的数据、文件、口令和控制信息,保护网上传输的数据。网络加密常用的方法有链路加密、端点加密和节点加密三种。链路加密的目的是保护网络节点之间的链路信息安全;端-端加密的目的是对源端用户到目的端用户的数据提供保护;节点加密的目的是对源节点到目的节点之间的传输链路提供保护。用户可根据网络情况酌情选择上述加密方式。
信息加密过程是由形形 色色的加密算法来具体实施,它以很小的代价提供很大的安全保护。在多数情况下,信息加密是保证信息机密性的唯一方法。据不完全统计,到目前为止,已经公开发表的各种加密算法多达数百种。如果按照收发双方密钥是否相同来分类,可以将这些加密算法分为常规密码算法和公钥密码算法。
在常规密码中,收信方和发信方使用相同的密钥,即加密密钥和解密密钥是相同或等价的。比较著名的常规密码算法有:美国的DES及其各种变形,比如Triple DES、GDES、New DES和DES的前身Lucifer; 欧洲的IDEA;日本的FEAL-N、LOKI-91、Skipjack、RC4、RC5以及以代换密码和转轮密码为代表的古典密码等。在众多的常规密码中影响最大的是DES密码。
常规密码的优点是有很强的保密强度,且经受住时间的检验和攻击,但其密钥必须通过安全的途径传送。因此,其密钥管理成为系统安全的重要因素。
在公钥密码中,收信方和发信方使用的密钥互不相同,而且几乎不可能从加密密钥推导出解密密钥。比较著名的公钥密码算法有:RSA、背包密码、McEliece密码、Diffe-Hellman、Rabin、Ong-Fiat-Shamir、零知识证明的算法、椭园曲线、EIGamal算法等等。最有影响的公钥密码算法是RSA,它能抵抗到目前为止已知的所有密码攻击。
公钥密码的优点是可以适应网络的开放性要求,且密钥管理问题也较为简单,尤其可方便的实现数字签名和验证。但其算法复杂。加密数据的速率较低。尽管如此,随着现代电子技术和密码技术的发展,公钥密码算法将是一种很有前途的网络安全加密体制。
当然在实际应用中人们通常将常规密码和公钥密码结合在一起使用,比如:利用DES或者IDEA来加密信息,而采用RSA来传递会话密钥。如果按照每次加密所处理的比特来分类,可以将加密算法分为序列密码和分组密码。前者每次只加密一个比特而后者则先将信息序列分组,每次处理一个组。 密码技术是网络安全最有效的技术之一。一个加密网络,不但可以防止非授权用户的搭线窃听和入网,而且也是对付恶意软件的有效方法之一。
5. 网络安全管理策略
在网络安全中,除了采用上述技术措施之外,加强网络的安全管理,制定有关规章制度,对于确保网络的安全、可靠地运行,将起到十分有效的作用。
网络的安全管理策略包括:确定安全管理等级和安全管理范围;制订有关网络操作使用规程和人员出入机房管理制度;制定网络系统的维护制度和应急措施等。
6. 结束语
随着计算机技术和通信技术的发展,计算机网络将日益成为工业、农业和国防等方面的重要信息交换手段,渗透到社会生活的各个领域。因此,认清网络的脆弱性和潜在威胁,采取强有力的安全策略,对于保障网络的安全性将变得十分重要。
❹ 个人防火墙的数据类型
用户态(user-mode)和内核态(kernel-mode)。
1)用户态(user-mode)。
在用户态下进行网络数据包的拦截有三种方法:WinsockLayeredServiceProvider(LSP)、Windows2000包过滤接口、替换系统自带的WINSOCK动态连接库。在用户态下
进行数据包拦截最致命的缺点就是只能在Winsock层次上进行,而对于网络协议栈中底层协议的数据包无法进行处理。因此,这些方法并不适合个人防火墙。
2)内核态(kernel-mode)。
a)TDI过滤驱动程序(TDIFilterDriver)。当应用程序要发送或接收网络数据包的时候,都是通过与协议驱动所提供的接口来进行的。协议驱动提供了一套系统预定义的标准接口来和应用程序之间进行交互。因此,只需要开发一个过滤驱动来截获这些交互的接口,就可以实现网络数据包的拦截。在Windows2000/NT下,ip,tcp,udp是在一个驱动程序里实现的,叫做tcp.sys,这个驱动程序创建了5个设备:DeviceRawIp,DeviceUdp,DeviceTcp,DeviceIp,DeviceMULTICAST。应用程序所有的网络数据操作都是通过这些设备进行的。因此,我们只需要开发一个过滤驱动来截获这些交互的接口,就可以实现网络数据包的拦截。另外,TDI层的网络数据拦截还可以得到操作网络数据包的进程详细信息,这也是个人防火墙的一个重要功能。但是,TDI传输驱动程序有一个缺陷,TDIFilterdriver属于Upperdriver,位于TcpIP.sys之上,这就意味着由TcpIP.sys接收并处理的数据包不会传送到上层,从而无法过滤某些接收的数据包,例如ICMP包。ICMP的应答包直接由TcpIP.sys生成并回应,而上面的过滤驱动程序全然不知。另外,该方法需要在系统核心层编写驱动程序,需要编写人员对Windows操作核心层的工作机制非常熟悉,同时,驱动程序对代码质量要求非常高,稍有不慎就会使系统崩溃,
b)Win2kFilter-HookDriver。这是从Windows2000开始系统所提供的一种驱动程序,该驱动程序主要是利用Ipfiltdrv.sys所提供的功能来拦截网络数据包。Filter-HookDriver的结构非常简单,易于实现。但是正因为其结构过于简单,并且依赖于Ipfiltdrv.sys,Microsoft并不推荐使用Filter-HookDriver。
c)NDISHookDriver。该方法在Windows2000/xp下是非公开的,因此这种方法对平台的依赖性比较大,需要在程序中判断不同的操作系统版本而使用不同的方法。
d)NDIS中间层驱动程序(NDISIntermediateDriver)。NDIS()碰差是Microsoft和3Com公司开发的网络驱动程序接口规范的简称,它支持如下三种类型的网络驱动程序:微端口驱动程序、中间层驱动程序(IntermediateDriver)和协议驱动程序。其中中间层驱动介于协议层驱动和小端口驱动之间,其功能非常强大,可以提供多种服务,能够截获所有的网络数据包(以太帧),过滤微端口驱动程序,实现特定的协议或其他诸如数据包加密、认证等功能。综上所述,在NDIS中间层进行网络数据包截获的方法结构规范,功能强大,该技术极其适合个人防火墙所采用。
中间层驱动程序(NDIS)的内部结构
NDIS支持饥吵御3种驱动:微端口驱动,中间层驱动和协议驱动烂岩。
1) 微端口驱动。就是网卡驱动,它负责管理网卡,包括通
过网卡发送和接受数据,它也为上层驱动提供接口。
2) 中间层驱动。它通常位于微端口驱动和传输协议驱动之间,是基于链路层和网络层之间的驱动,由于中间层驱动在驱动层次中的中间层位置,它必须与其上层的协议和下层的微端口驱动通信,并且导出两种协议的函数。虽然中间层驱动导出MINIPORTXX函数,但它并不真正的管理物理网卡,而是导出一个或者多个虚拟适配器,上层协议可以绑定到上面。对于协议驱动来说,中间层导出的虚拟适配器看起来像一个物理网卡,当它向这个虚拟适配器发送封包或者请求时,中间层驱动将这些封包和请求传播到下层微端口驱动;当下层微端口驱动向上指示接收封包或者状态时,中间层驱动向上到绑定虚拟适配器上的协议驱动。中间层驱动的主要作用就是过滤封包,其优点是能够截获所有的网络数据包。
3) 协议驱动,即网络协议。它位于NDIS体系的最高层,经常用作实现传输协议堆栈的传输驱动中的最底层驱动。传输协议驱动申请封包,从发送应用程序将数据复制到封包中,通过调用NDIS函数将这些封包发送到下层驱动。协议驱动也是提供了一个协议接口来接收来自下层驱动的封包。传输协议驱动将收到的封包传递给相应的客户应用程序。在下层,协议驱动与中间层微端口驱动交互。协议驱动调用NDISXX函数发送封包,读取和设置下层驱动维护的信息,使用操作系统服务。协议驱动也要导出一系列的入口点,NDIS调用它来指示封包的接受,指示下层驱动的状态,或者是和其他协议驱动的通信。
中间层内部的工作流程
1) 中间层对数据包的管理
中间层驱动程序从高层驱动程序接收数据包描述符,并在网络上发送,该包描述符与一个或多个链式数据缓冲区相关联。中间层驱动程序能够对数据进行重新打包,并使用新的数据包描述符进行数据传输,也可以直接将数据包传递给低层驱动程序,如果驱动程序下边界面向无连接,可调用NdisSend或NdisSendPackets函数完成该功能,如果驱动程序下边界是面向连接的,可调用NdisCoSendPackets函数完成此项功能。中间层驱动程序也可以进行一些操作改变链式缓冲区的内容,或者调整内入数据包相对于其他发送任务的发送次序或发送定时。但是,即使中间层驱动程序只是向下层传递上层引入的数据报,例如,仅仅只是对数据包进行计数,也必须分配新的数据包描述符,并且要管理部分或者全部新的包结构。
每一个中间层驱动程序都必须分配自己的包描述符来代替高层的数据包描述符。如果中间层驱动程序要把数据包从一种格式转化为另一种格式,也必须分配缓冲区描述符来映射用于复制转配数据的缓冲区,该缓冲区由中间层驱动程序进行分配。如果有与复制的包描述符相关的OOB数据,那么可以将这些数据复制到与包描述符(中间层驱动程序分配的)相关的新OOB数据块,其过程是,首先,用NDIS_OOB_DATA_FROM_PACKET宏获取OOB数据区的指针,然后,调用disMoveMemory将其内容移入与新包描述符相关的OOB数据区。该驱动程序也能够用NDIS_GET_PACKET_XXX或NDIS_SET_PACKET_XXX宏从与老的包描述符相关的OOB数据区中,读取相关的内容,并写入与新包描述符相关的OOB数据区。
包描述符通过调用以下NDIS函数进行分配
a)调用NdisAllocatePacketPool或者NdisAllocatePacketPoolEx,为固定尺寸包描述符(由呼叫器指定数量)分配并初始化一组非可分页池。
b)调用NdisAllocatePacket函数,从NdisAllocatePacketPool(Ex)已经分配的池中分配包描述符。根据中间层驱动程序目的的不同,驱动程序能够对引入包描述符连接的缓冲区进行重新打包。例如,中间层驱动程序可以在接下来的情况下分配包缓冲池、对引入包数据重新打包.如果中间层驱动程序从高层协议驱动程序接收到的数据缓冲区,比低层介质能够发送的单个缓冲区更大,那么中间层驱动程序必须将引入的数据缓冲分割成更小的、满足低层发送要求的数据缓冲。中间层驱动程序在将发送任务转交低层驱动程序之前,可以通过压缩或加密数据方式来改变内入数据包的长度。调用以下NDIS函数分配上面所要求的缓冲区:
NdisAllocateBufferPool获取用于分配缓冲区描述符的句柄;
NdisAllocateMemory或NdisAllocateMemoryWithTag分配缓冲区;
c)调用NdisAllocateBuffer分配和设置缓冲区描述符,映射由NdisAllocateMemory(WithTag)分配的缓冲区,并链接到NdisAllocatePacket分配的包描述符上。驱动程序可以通过调用NdisChainBufferAtBack或NdisChainBufferAtFront函数,将缓冲区描述符和包描述符进行链接。调用NdisAllocateMemory(WithTag)返回的虚拟地址和缓冲区长度,将被传递给NdisAllocateBuffer函数来初始化其所映射的缓冲区描述符。符合典型要求的包描述符能够在驱动程序初始化时根据要求进行分配,也可以通过ProtocolBindAdapter函数调用来实现。如果必要或者出于性能方面的考虑,中间层驱动程序开发者可以在初始化阶段,分配一定数量的包描述符和由缓冲区描述符映射的缓冲区,这样,就为ProtocolReceive复制内入数据(将向高层驱动程序指示)预先分配了资源,也为MiniportSend或MiniportSendPackets向相邻低层驱动程序传递引入的发送数据包,准备了可用的描述符和缓冲区。如果在中间层驱动程序复制接收/发送数据到一个或多个缓冲区时,最末的一个缓冲的实际数据长度比缓冲区的长度小,那么,中间层驱动程序将调用NdisAdjustBufferLength把该缓冲区描述符调节到数据的实际长度。当该包返回到中间层驱动程序时,应再次调用该函数将其长度调节到完整缓冲区的实际尺寸。
2)下边界面向无连接的中间层驱动程序的工作流程
通过ProtocolReceivePacket函数,从低层NIC驱动程序以完整数据包形式接收内入数据,该数据包由NDIS_PACKET类型的包描述符指定,也能够通过将内入数据指示给ProtocolReceive函数,并将数据复制到中间层驱动程序提供的数据包中。下边界面向连接的中间层驱动程序总是用ProtocolCoReceivePacket函数,从低层NIC驱动程序接收数据作为一个完整的数据包。
在如下情况下,中间层驱动程序能够保持对接收数据包的所有权:当下边界面向无连接的中间层驱动程序向ProtocolReceivePacket函数指示完整数据包时,当下边界面向连接的中间层驱动程序向ProtocolCoReceivePacket函数指示数据包时,其中DIS_PACKET_OOB_DATA的Status成员设置为除NDIS_STATUS_RESOURCES以外的任何值。在这些情况下,中间层驱动程序能够保持对该包描述符和其所描述的资源的所有权,直到所接收数据处理完毕,并调用NdisReturnPackets函数将这些资源返还给低层驱动程序为止。如果ProtocolReceivePacket向高层驱动程序传递其所接收的资源,那么至少应该用中间层驱动程序已经分配的包描述符替代引入包描述符。根据中间层驱动程序目的的不同,当其从低层驱动程序接收完整数据包时,将有几种不同的包管理策略。例如,以下是几种可能的包管理策略:复制缓冲区内容到中间层驱动程序分配的缓冲区中,该缓冲区被映射并链接到一个新的包描述符,向低层驱动程序返回该输入包描述符,然后可以向高层驱动程序指示新的数据包;创建新的包描述符,将缓冲区(与被指示包描述符相关联)链接到新的包描述符,然后将新的包描述符指示给高层驱动程序。当高层驱动程序返回包描述符时,中间层驱动程序必须拆除缓冲区与包描述符间的链接,并将这些缓冲区链接到最初从低层驱动程序接收到的包描述符,最后向低层驱动程序返还最初的包描述符及其所描述的资源。即使下边界面向无连接的中间层驱动程序支持ProtocolReceivePacket函数,它也提供ProtocolReceive函数。当低层驱动程序不释放包描述符所指示资源的所有权时,NDIS将调用ProtocolReceive函数,当这类情况出现时,中间层驱动程序必须复制所接收的数据到它自己的缓冲区中。对于下边界面向连接的中间层驱动程序,当低层驱动程序不释放包描述符所指示资源的所有权时,则将数据包的NDIS_PACKET_OOB_DATA的Status成员设为NDIS_STATUS_RESOURCES,然后驱动程序的ProtocolCoReceivePacket函数必须将接收到数据复制到自己的缓冲区中
5) 中间层驱动过滤数据包的原理
NDIS中间层驱动程序在NDIS中起着转发上层驱动程序送来的数据包,并将其向下层驱动程序发送的接口功能。当中间层驱动程序从下层驱动程序接收到数据包时,它要么调用NdisMXxxIndicateReceive函数,要么调用NdisMindicateReceivePacket函数向上层指示该数据包中间层驱动程序通过调用NDIS打开和建立一个对低层NIC驱动程序或者NDIS中间层驱动程序的绑定。中间层驱动程序提供MiniportSetInformation和MiniportQueryInformation函数来处理高层驱动程序的设置和查询请求,某些情况下,可能还要将这些请求向低层NDIS驱动程序进行传递,如果其下边界是面向无连接的可通过调用NidsRequest实现这一功能,如果其下边界是面向连接的则通过调用NidsCoRequest实现该功能。中间层驱动程序通过调用NDIS提供的函数向网络低层NDIS驱动程序发送数据包。例如,下边界面向无连接的中间层驱动程序必须调用NdisSend或NdisSendPackets来发送数据包或者包数组,而在下边界面向连接的情况下就必须调用NdisCoSendPackets来发送包数组数据包。如果中间层驱动程序是基于非NDISNIC驱动程序的,那么在调用中间层驱动程序的MiniportSend或Miniport(Co)SendPackets函数之后,发送接口对NDIS将是不透明的。NDIS提供了一组隐藏低层操作系统细节的NdisXxx函数和宏。例如,中间层驱动程序可以调用NdisMInitializeTimer来创建同步时钟,可以调用NdisInitializeListHead创建链表。中间层驱动程序使用符合NDIS标准的函数,来提高其在支持Win32接口的微软操作系统上的可移植性。
在防火墙的设计中,最核心的部分应该是数据包的过滤。
其他的功能都是建立在数据包过滤的基础之上,如:入侵检测功能和邮件检测功能都是建立在数据包过滤的基础之上。数据包过滤中主要是IP包头的分析,例如:在以太网中,得到的数据报大致是如下结构,以太帧头14个字节,放在PUCHAR结构数组的第0个元素到第13个元素中,其中前六个字节是目的MAC地址,然后六个字节源MAC地址,然后两个字节是协议类型,通常的协议类型有0x080x00->IP,0x080x06->ARP,0x080x35->RARP,所以,可以通过数组的第12个元素和第13个元素来判断协议类型。过滤规则就是在这个基础之上建立。如果要过滤特定协议,只要在相应的字节读取数据,判断是否符合要过滤的规则就可以了,当然实际的过滤规则要复杂的多的多,比如对指定的端口指定的IP的过滤。
❺ 什么是防火墙一个防火墙至少提供哪两个基本的服务
1.防火墙的定义
所谓防火墙指的是一个由软件和硬件设备组合而成、在内部网和外部网之间、专用网与公共网之间的界面上构造的保护屏障.是一种获取安全性方法的形象说法,它是一种计算机硬件和软件的结合,使Internet与Intranet之间建立起一个安全网关(Security Gateway),从而保护内部网免受非法用户的侵入,防火墙主要由服务访问规则、验证工具、包过滤和应用网关4个部分组成,
防火墙就是一个位于计算机和它所连接的网络之间的软件或硬件(其中硬件防火墙用的较少,例如国防部以及大型机房等地才用,因为它价格昂贵)。该计算机流入流出的所有网络通信均要经过此防火墙。
防火墙 英语为firewall 《英汉证券投资词典》的解释为:金融机构内部将银行业务与证卜亩券业务严格区分开来的法律屏障,旨在防止可能出现的内幕消息共享等不公平交易出现。使用防火墙比喻不要引火烧身
(一)内部网络和外部网络之间的所有网络数据流都必须经过防火墙
这是防火墙所处网络位置特性,同时也是一个前提。因为只有当防火墙是内、外部网络之间通信的唯一通道,才可以全面、有效地保护企业网部网络不受侵害。
根据美国国家安全局制定的《信息保障技术框架》,防火墙适用于用户网络系统的边界,属于用户网络边界的安全保护设备。所谓网络边界即是采用不同安全策略的两个网络连接处,比如用户网络和互联网之间连接、和其它业务往来单位的网络连接、用户内部网络不同部门之间的连接等。防火墙的目的就是在网络连接之间建立一个安全控制点,通过允许、拒绝或重新定向经过防火墙的数据流,实现对进、出内部网络的服务和访问的审计和控制。
典型的防火墙体系网络结构如下图所示。从图中可以看出,防火墙的一端连接企事业型唯森单位内部的局域网,而另一端则连接着互联网。所有的内、外部网络之间的通信都要经过防火墙。
(二)只有符合安全策略的数据流才能通过防火墙
防火墙最基本的功能是确保网络流量的合法性,并在此前提下将网络的流量快速的从一条链路转发到另外的链路上去。从最早的防火墙模型开始谈起,原始的防火墙是一台“双穴主机”,即具备两个网络接口,同时拥有两个网络层地址。防火墙将网络上的流量通过相应的网络接口接收上来,按照OSI协议栈的七层结构顺序上传,在适当的协议层进行访问规则和安全审查,然后将符合通过条件的报文从相应的网络接口送出,而对于那些不符合通过条件的报文则予以阻断。因此,从这个角度上来说,防火墙是一个类似于桥接或路由器的、多端口的(网络接口>=2)转发设备,它跨接于多个分离的物理网段之间,并在报文转发过程之中完成对报文的审查工作。如下图:
(三)防火墙自身应具有非常强的抗攻击免疫力
这是防火墙之所以能担当企业内部网络安全防护重任的先决条件。防火墙处于网络边缘,它就像一个边界卫士一样,每时每刻都要面对黑客的入侵,这样就要求防火墙自身要具有非常强的抗击入侵山老本领。它之所以具有这么强的本领防火墙操作系统本身是关键,只有自身具有完整信任关系的操作系统才可以谈论系统的安全性。其次就是防火墙自身具有非常低的服务功能,除了专门的防火墙嵌入系统外,再没有其它应用程序在防火墙上运行。当然这些安全性也只能说是相对的。
2.防火墙最基本的功能就是控制在计算机网络中,不同信任程度区域间传送的数据流。例如互联网是不可信任的区域,而内部网络是高度信任的区域。以避免安全策略中禁止的一些通信,与建筑中的防火墙功能相似。它有控制信息基本的任务在不同信任的区域。 典型信任的区域包括互联网(一个没有信任的区域) 和一个内部网络(一个高信任的区域) 。 最终目标是提供受控连通性在不同水平的信任区域通过安全政策的运行和连通性模型之间根据最少特权原则。