




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1引言42Internet的安全性问题43防火墙系统概述54防火墙技术55基于Linux的防火墙的配置75.1IP过滤策略与算法75.1.1过滤器75.1.2Linux操作系统内核提供了4种不同的分组过滤:75.1.3在过滤器里使用的算法可描述如下:85.2管理包过滤防火墙125.3代理服务(传输代理)125.4记帐功能(IP传输量统计)145.5一个配置实例146结束语167设计总结168谢 辞179参考文献17基于Linux的防火墙技术【摘 要】:随着internet应用的普及,其安全性问题也日益突出。详细的讨论了如何利用Linux操作系统构建防火墙和代理服务器,以实现内部网络的存取访问控
2、制和流量统计功能。【关键词】:防火墙;Linux操作系统;代理服务器 Internet Firewall Based on LinuxAbstract: With the development of computer network , the security of various applications on Internet became a sever problem. The paperdiscusses the technical details in constructing the firework.Key words: Using Linux operation syst
3、em and implementing access control and flow statistic to and form internal network. 1 引言网络安全,更具体的说网络防火墙是当今最热门的话题。任何一个私有的网络在连接Internet上时,均需要一个适当的防火墙去保护。然而大多数商用防火墙都很昂贵,一个可供选择的方法是用一个免费,附带源代码的且很优秀的网络操作系统。而Linux作为一个自由软件操作系统,有着很多其他操作系统无可比拟的优点。它具有良好的开放性,Linux及其应用软件的源代码是完全公开的,并可以通过internet免费获取,在加上其是在interne
4、t上开发的,所以对网络的支持比其他操作系统也更出色,解决内部网络和外部网络之间设置防火墙。因此,研究防火墙技术,无论从理论上还是实际应用中都具有重要的意义。2 Internet的安全性问题安全性问题是网络上一个非常重要的问题网络上一般存在两种安全性问题:一种是各种真正的攻击,无论来自外界还是内部的Hacker企图侵入并破坏系统;另一种来自软件、硬件和程序过程本身的脆弱性与过去的PC机/LAN的客户/服务器环境相比,Internet在安全性方面可以说取得了重大进展因为Intranet模式是将应用程序和数据放在一个集中式网络服务器上,而不是台式PC机中这样防护一个设有多重保护堡垒的中心服务器要比保
5、护成千上万个分散的服务器和客户机要容易得多但随着Internet网络规模和信息量的不断扩大,企业和社团网络的急剧增加,Intranet网络上企业和社团的数据遭到偷窃甚至破坏的可能性也随之增加因为Internet服务给企业提供挖掘和共享Internet资源的条件,而获取巨大收益,同时,也为窃取企业秘密数据的非法用户敞开大门因而,Intranet安全成为关键问题防火墙(Firewall)技术就是针对Intranet网的特点而建立的防范措施。一般情况下,网络的不安全性主要由以下原因造成:(1)操作系统本身的问题:如Windows 98、NT和Linux系统本身的一些缺陷(BUG)。(2)各
6、种应用服务存在安全问题:Telnet、ftp、NFS、RPC、rlogin、DNS、Web、Active X等都有安全问题。例如Telnet、ftp协议在用户认证时,passward以明文方式传送。Web服务器很难设置安全,CGI script也不安全。(3)TCP/IP协议本身设计时主要考虑数据传输的可靠性和完整性,对于安全因素几乎没有考虑。(4)攻击可能来自Internet上的任何一个地方。它可以是匿名攻击,因此追查起来非常困难。(5)对于一组相互信任的主机,其安全程度由最弱的一台主机决定。一个薄弱环节被攻破,则会殃及其它主机。总之,当机构的内部数据网暴露在Intern
7、et黑客面前时,基于host的安全很容易被攻破,正是在承认主机不安全,且对每台主机分别进行保护几乎是不可能的前提下出现了防火墙。3 防火墙系统概述防火墙是这样一个或一组网络安全设备,它位于内部网络和外部网络之间的某一个适当的扼制点上(choke point),来限制外部非法用户访问内部网络资源和内部非法向外传递信息。也就是说,防火墙是指一种保护措施,它可按照用户事先规定的方案控制信息的流入和流出,监督和控制使用者的操作使用户可以安全使用网络,并避免受到Hacker的袭击一般防火墙系统主要决定:1、哪些内部服务可以被外部访问;2、外部哪些主机或用户可以访问内部这些被允许访问的服务;3、
8、哪些外部服务可以被内部主机或用户访问。防火墙检查内部和外部网络之间传递的信息,它只允许授权的数据通过。它在内外部网络之间构筑一个屏障。防火墙系统本身安全防御能力很高,能够抵抗各种进攻和渗透。防火墙不仅仅是路由器、堡垒主机等网络安全设备的组合,它还是安全策略的一个部分。安全策略建立了全方位的防御体系。安全策略包括机构规定的网络访问、服务访问、本地和异地用户认证、拨入和拨出、数据加密、病毒防御,以及每个用户的安全责任。只有防火墙,而没有完整的安全策略,则防火墙形同虚设。4 防火墙技术防火墙技术主要包括包过滤和代理两大类;(1) 包过滤技术(IP filtering or
9、0;packet filtering)一般用在网络层(IP层),主要根据防火墙系统收到的每个数据包的源地址,目的地址,TCP /UDP源端口号,TCP /UDP目的端口号及数据包头中的各种标志位来进行判断,根据系统的安全策略来决定是否让数据包通过。种防火墙又称为过滤式路由器。路由器作用在IP层,只在企业网络与Internet采用直接IP连接的情况下才采用,而且因为它只检测数据包的IP地址,一旦破坏者突破此防线便可为所欲为。所以在安全性要求较高的场合,通常还需要配合其它技术来加强安全性。包过滤路由器一般有两种过滤方式:与服务相关的过滤和与服务无关的过滤。与服务相关的过滤与服务相关的过滤
10、是指根据特定的服务允许或拒绝流动的数据。因为大多数服务器都是在特定的TCP/UDP端口上监听。与服务无关的过滤有几种类型的攻击与服务无关,无法使用基本的包头信息来识别,只有通过审查路由表和特定的IP选项,检查特定段的内容,才能发现。下面有几个例子:1) 源地址欺骗攻击(Source IP Address Spoofing Attacks)。入侵者从外部传来一个假装是来自内部主机的数据包,希望能渗透到使用了源地址安全功能的系统中。对付这种攻击的方法是让路由器丢弃任何来自外部端口的使用了内部IP地址的数据包。2) 源路由攻击(Source Rout
11、ing Attacks),利用源站点指定数据包在网络中所走的路线,将数据包循着一条不安全的路径到达目的地。对付这种攻击的方法是让路由器丢弃任何有源路由选项的数据包。3) 极小数据段攻击(Tiny Fragment Attacks)。该攻击利用了IP分段的特性,创建极小的分段并强行将头信息分成多个数据包段。希望包过滤路由器只检查第一个分段而让其余分段通过,从而绕过用户定义的过滤规则。对付这种攻击,只要让路由器丢弃协议类型为TCP、IP Fragment Offset等于1的数据包就可以了。 (2) 应用代理技术(Application&
12、#160;proxy )应用层链接是在两个终止于代理服务器链接来实现的,这样成功的实现了防火墙内外计算机系统的隔离,它根据用户的请求代替用户与目的地进行连接。由于应用代理网关在应用层进行代理,所以它可以对应用协议进行控制,而且还可以在应用级进行记录。它比网络级防火墙的安全措施更加严格,因为它能提供更详细的审计报告、跟踪用户和应用进程以及IP包的参数。在应用网关上运行应用代理程序(Application proxy),一方面代替原服务器程序与客户程序建立连接,另一方面代替客户程序,与原服务器建立连接,使合法用户可以通过应用网关安全地使用Internet,而对非法用户不予理睬。
13、常用的代理程序有WWW protxy,E-mail proxy等。与包过滤技术相比,应用网关技术更加灵活;由于作用在用户层,因此能执行更细致的检查工作。但软件开销大,管理和维护比较复杂。其他常用的安全机制还有身份验证(Authentication)、访问控制(Access Control)、日志(Log)、报警(Alert)等。5 基于Linux的防火墙的配置5.1 IP过滤策略与算法5.1.1 过滤器 Linux的过滤器(Filter)读取从用户文件或其他地方的输入,检查和处理数据,然后输出结果。从这个意义上说,它们过滤了经过它们的数据。Linux有不同类型的过
14、滤器,一些过滤器用行编辑命令输出一个被编辑的文件。另外一些过滤器是按模式寻找文件并以这种模式输出部分数据。还有一些执行字处理操作,检测一个文件中的格式,输出一个格式化的文件。 过滤器的输入可以是一个文件,也可以是用户从键盘键入的数据,还可以是另一个过滤器的输出。过滤器可以相互连接,因此,一个过滤器的输出可能是另一个过滤器的输入。在有些情况下,用户可以编写自己的过滤器程序。5.1.2 Linux操作系统内核提供了4种不同的分组过滤:(1) 入网分组过滤 所有进入内部网的分组必须接受该过滤器的过滤;(2) 转发分组过滤在通过入网分组过滤后,所有需转发的分组必须接受该过滤器的过滤;(3) 出网分组过
15、滤所有离开内部网的分组必须接受该过滤器的过滤,那些被转发的分组必须首先经过转发过滤器的过滤;(4) 记帐分组过滤所有分组(入网,出网,转发)过滤器;这几种过滤方式中的任一种均由一个过滤规则表和一个缺省策略组成,过滤规则定义了一些分组特性,如ip地址,协议等。此外,每一个过滤规则均结合了一个策略,定义了当一个分组与此规则匹配时过滤器的行为方式。缺省策略则定义了当一个分组没有匹配规则时过滤器的行为方式。5.1.3 在过滤器里使用的算法可描述如下:(1) 当每一个分组到达时,将按过滤规则的顺序依次用每条规则对分组进行检查;(2) 每一个匹配的规则决定了进一步的行为:1) 这一规则的策略将被应用的该分
16、组上;2) 每一个规则包含分组和字节的统计,分组通过后,相应统计量增加;3) 一些关于该分组的信息将被选择地写入Linux的日志文件中;4) 规则可能包含定义怎样改变IP报头的TOS域,处理优先权的参数;(3) 若一个分组没有任何规则可匹配,将使用过滤器的缺省策略。1) 当前Linux普遍使用的策略有三种: 接受 即让该分组通过该过滤器; 不接受 抛弃该分组并返回一个包含“目的不能到达”信 息ICMP包给分组发送者; 否认抛弃该分组,但并不反还ICMP包。否是Ip包? 是UDPTCP否是否是是否否是否是否否允许包通过类是否允许目的端口进并且目的端口号大于1024?IP包的目的网络地址是否在表中
17、定义?IP包的目的网络地址是否在表中定义?ACKIESS SYN ?是TCP/UDP包?丢真包类是否允许目的端口进?类是否允许目的端口进?查找主机类使用0类查找主机类使用0类 是Ip包源地址是否在拒绝列?表?否图一:入网分组过滤算法2) Linux过滤规则包括以下项目: IP源地址和目的地址,且均带有掩码; 协议,可以是TCP,UDP,ICMP或其它; 源和目的服务的端口号与TCP,UDP包结合使用。在一个规则中可以定义一个或一组端口号,或同时定义最多不超过10个不同的端口号; 信息类型,用于ICMP包; 比特位与TCP标志ACK与SYN匹配,用于拒绝某个确定方向上建立新的TCP连接; 网络设
18、备的名字或IP地址,规则中包含一个设备的规格,将只匹配通过特定设备的分组; 一个改变IP报头的TOS域规格,用于当包匹配这个规则时; 一个声明是否将包信息写入Linux核心日志的标志下面给出对出入网进行过滤算法框图,它表示了过滤防火墙如何检查入网和出网请求并对此做出响应。如图一,图二所示: 否是IP包?是否是TCP包?是否ACKLESS SYN?是IP包源地址是否在网络表中定义?是否查询主机类使用0类是类是否允许目的端口出?否IP包中地址是否允许在表中?是允许表是否允许目的端口出?否是否丢弃包包允许通过图二:出网分组过滤算法5.2 管理包过滤防火墙Linux中的ipfwadm提供了以命令参数方
19、式管理分组过滤规则的功能,如:Ipfwadm-I-a deny-P all-S /24-D /0此命令表示拒绝所有来自的分组。它在入网分组过滤规则列表(-I)尾部附加了(-a)一个新的规则。出网和转发的分组过滤规则的管理可分别通过参数-O和-F来实现。新的规则除了可附加(-a)到规则列表的尾部,也可插入(-I)到规则的头部。使用参数-d则可删除某一特定的规则。规则的策略定义在附加命令中,其命令关键词有:accpet/deny/reject。参数-p all表明该规则适用所有协议(如TCP,UDP,ICMP)。源地址(-S)和目的地址(
20、-D)均包含掩码;后缀/24和/0分别等同于/255.255.0和/。管理分组过滤规则时的一些提示:1) 分组过滤规则的顺序很重要:仅第一个匹配的规则被记录下来,所以ipfwadm命令应以正确的顺序给出。2) 将多个规则结合使用(通过指定多个端口号和服务名称),尽可能多地一起定义,因为为每一个ip分组检验过滤规则均需要消耗CPU时间。3) 确认在启动系统时的合适时间定义过滤器,最好在网络设备配置前,用ifconfig命令来实现。4) 虽然ipfwadm命令允许在定义过滤规则时使用主机或网络名称,但这在好多情况下不起作用,因为在网络运转前是不能识别名字的。5) 当需要改变一个已运行
21、系统的过滤规则时,需按正确的顺序使用必要的命令,以保证设置时,网络仍在防火墙的控制之下。顺序如下: 设置过滤器的缺省策略为否定; 去掉该过滤器的所有规则(用-f选项); 设置新的过滤规则; 设置缺省策略为希望值。5.3 代理服务(传输代理) Linux核心提供了一个用于防火墙方案的附加功能:伪IP包。这意味着通过一个Linux防火墙转发,一部分或全部IP分组将变成好象从防火墙主机发出的分组,源地址和源端口号分别被防火墙主机的IP地址和端口号所代替,隐藏了真正的主机和端口号。 伪变化在分组通过转发分组的过滤后进行,去伪则发生在收到一个外部分组时,且去伪包不经过转发分组过滤器,如图三所示。去伪 转
22、发 统计出网入网伪化统计图三 Linux分组过滤伪化可通过为转发分组过滤器定义一个特殊的过滤规则来实现。下一个命令建立一个使所有出网的telnet进程均被伪化(假设内部网的地址为);Ipfwadm-F-a masquerade-P tcp-S /24 1024:65535-D telnet伪化实际上是接受策略的一个变体:包被接受(允许转发),但在发出之前被伪化。因为伪化机制依赖于端口号,它只能对TCP或UOP包工作。所以,应慎重如下的命令:Ipfwadm-F-a masquerade -S /24-D 0.0
23、.0.0/0这个命令将建立一个使所有出网的TCP 或UDP传输包均被伪化,但它也允许所有其他类型的包(如ICMP信息)无改变地直接转发(因为它们同样匹配这一规则)。用如下的命令或许会更好地处理这类问题:Ipfwadm-F-P denyIpfwadm-F-a masquerade-P tcp-S /24-D /0Ipfwadm-F-a masquerade-P udp-S /24-D /0特别当内部网中使用了非标准的IP地址时(如定义在RFC1597中的地址或非法使用的IP地址),没有任何包会被直接转发。5.4 记帐功能
24、(IP传输量统计)在Linux中,IP通信传输量可用记帐规则来统计。统计发生在两个地方,当一个包被收到时和当一个包被出发时,如图三。对任意一个包,记帐分组过滤器规则列表中的所有规则均被检测且任一个匹配规则的包和字节都将被统计。统计所有从外部使用WWW服务器主机的IP地址为。命令中的-b参数选项意味着“双向”,使得发自(端口80)的包也被统计。命令中的-w参数选项后接一个接口名作为附加量,只统计那些通过定义接口的通信参量,而不统计通过其它接口连接到内部网的流量。下面给出一些使记费更有效的建议:1) 每隔一段时间重设计数器,例如每星期或每天。这是因为
25、计数器使用的是32位无符号整数,记数的范围在4GB范围内。2) 组合使用-1(list)和-z(重置为0)参数选项将在显示计数器的当前值后立即将计数器置0,从而不会有包被忽略。3) 使用-alex参数组时,最常见的输出常跟-s和-n(数值输出)一起使用。4) 如果想统计出除了一些特殊协议(如http和ftp)之外的所有通信量,可以定义规则统计所有通信量和那些特殊协议的通信量,然后将两数值相减即可得出。5.5 一个配置实例下面给出一个在内部网与外部网之间作为网关的Linux系统(S.U.S.E公司的Linux5.1)上设置包通过过滤防火墙的完整实例。在此例中,网关系统()通过接口192.168.
26、66.1连接到internet,通过接口连接到内部网()。此系统同时作为WWW和FTP服务器,能收发mail,对内部网作为邮件中继主机,并作为域的主域名服务器。内部网中的主机能直接使用internet上telnet,WWW,FTP,gopher及WAIS等服务器(这些并不足构建防火墙的推荐策略)。同时,允许不受任何限制的ICMP 传输(例如使用ping程序)。但traceroute will不能工作,因为它对一些非特权端口号使用UDP包。#常量定义:LOCALHOST=IFEXTERN=IFINTERN=192.168.5
27、5.1 LOCALNET=/24 ANYWHERE=/0 UNPRIVPORTS=1024:65535 #基本规则Ipfwadm-I-p denyIpfwadm-O-p denyIpfwadm-F-p deny#控制假包Ipfwadm-I-a deny-V SIFEXTERN-S $LOCALNET-D ANYWHEREIpfwadm-I-a deny-V SIFEXTERN-S $IFEXTERN -D ANYWHERE#在内部网中任意传输(不受任何限制)Ipfwadm-I-a accept-V SIFEXTERN-S $ ANYWHERE -D ANY
28、WHEREIpfwadm-O-a accept -V SIFEXTERN-S $ ANYWHERE -D ANYWHERE#允许ICMP传输(不推荐使用)Ipfwadm-I-a accept-P icmp -S $ ANYWHERE -D ANYWHEREIpfwadm-O-a accept - P icmp -S $ ANYWHERE -D ANYWHEREIpfwadm-F-a accept - P icmp -S $ ANYWHERE -D ANYWHERE#外部网对内部网的使用#e-mail,ftp,WWW和DNS服务器Ipfwadm-I-a accept-P tcp -S $ ANY
29、WHERE D $ LOCALHOST smtp ftp www domainIpfwadm-I-a accept-P udp -S $ ANYWHERE D $ LOCALHOST Ipfwadm-I-a accept-k-p tcp -S $ ANYWHERE -D $ LOCALHOST ftp-dataIpfwadm-I-a accept- P tcp -S $ LOCALHOST smtp ftp-data www.damain-D $ANYWHEREIpfwadm-I-a accept- P udp -S $ LOCALHOSTdomain -D $ANYWHERE#私有内部网使用
30、internet#出网包Ipfwadm-O-a accept-P tcp -S $ LOCALHOST$ UNPRIVPORTS D $ ANYWHERE smtp ftp www domaintelnet gopher z3950 domainIpfwadm-O-a accept-P tcp -S $ IFEXTERN $ UNPRIVPORTS D $ ANYWHERE smtp ftp www domaintelnet gopher z3950 domainIpfwadm-O-a accept-P udp -S $ LOCALNET $ UNPRIVPORTS D $ ANYWHERE
31、z3950 Ipfwadm-O-a accept-P udp -S $ LOCALHOST $ UNPRIVPORTS D $ ANYWHERE z3950Ipfwadm-F-a accept-P tcp -S $ LOCALNET $ UNPRIVPORTS D $ ANYWHERE ftp ftp www domaintelnet gopher z3950 domainIpfwadm-F-a accept-P udp -S $ LOCALNET $ UNPRIVPORTS D $ ANYWHERE z3950#进网包Ipfwadm-I-a accept-k-P tcp -S $ ANYWH
32、ERE ftp www telnet gopher z3950 domainD $ LOCALNET $ UNPRIVPORTS Ipfwadm-I-a accept-k-P tcp -S $ ANYWHERE ftp www telnet gopher z3950 domainD $ IFEXTERN $ UNPRIVPORTSIpfwadm-I-a accept-P tcp-S $ ANYWHERE ftp-dataD $ LOCALNET $ UNPRIVPORTSIpfwadm-I-a accept-P tcp-S $ ANYWHERE ftp-dataD $ IFEXTERN $ U
33、NPRIVPORTSIpfwadm-I-a accept-P udp-S $ ANYWHERE z3950D $ LOCALNET $ UNPRIVPORTSIpfwadm-I-a accept-P udp-S $ ANYWHERE z3950 domainD$LOCALHOST$UNPRIVPORTSIpfwadm-F-a accept-k-P tcp-S $ ANYWHERE ftp www telnet gopher z3950D $ LOCALNET $ UNPRIVPORTSIpfwadm-F-a accept-k-P tcp-S $ ANYWHERE ftp-dataD $ LOCALNET $ UNP
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年湖北国土资源职业学院单招职业技能测试题库及参考答案
- 商业综合体改造抵押协议
- 2025年度养猪场动物疫病监测与预警协议
- 2025年度个人信息保护与信息安全保密协议书
- 二零二五年度食品饮料企业财务代理记帐服务合同
- 2025年广西自然资源职业技术学院单招职业技能测试题库及答案一套
- 商业广场改造贷款协议
- 2025年度公司终止职工劳动合同解除与就业援助合同
- 2025年北京绿色生态居住区拆迁补偿与生态修复合同
- 2025年度商铺转租定金及租赁期终止处理合同
- mks spectra介绍残余气体分析仪
- 腹腔镜下阑尾切除术护理课件
- 《抖音生活服务服务商合作手册》
- 语文教学设计(教案目标)
- 中山大学抬头信纸中山大学横式便笺纸推荐信模板a
- 无形资产评估完整版课件
- 一体化学工服务平台、人事管理系统、科研管理系统建设方案
- 市场营销学课后习题与答案
- 常暗之厢(7规则-简体修正)
- 制冷系统方案的设计pptx课件
- 修心七要原文
评论
0/150
提交评论