《基于LINUX操作系统的防火墙技术及实现.pdf》由会员分享,可在线阅读,更多相关《基于LINUX操作系统的防火墙技术及实现.pdf(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第2 4 卷第3 期2 0 0 8 年3 月吉林工程技术师范学院学报J o u r n a lo fJ i l i nT e a c h e r sI n s t i t u t eo fE n g i n e e r i n ga n dT e c h n o l o g yV o L2 4N o 3M a r 2 0 0 8基于L I N U X 操作系统的防火墙技术及实现宋阳1,张志勇2(1 吉林工程技术师范学院信息工程学院,吉林长春1 3 0 0 5 2;2 长春师范学院信息技术学院,吉林长春1 3 0 0 3 2)摘要 介绍了L I N U X 下常用的防火墙规则配置软件I p c
2、h i 璐;从实现原理、配置方法以及功能特点的角度描述了L I N U X 防火墙的三种功能;并给出了个L I N U X 防火墙实例作为参考。【关键词 L I N U X 防火墙;i p e h a i m 代理;口伪装【中围分类号 T P 3 1 9 文献标识码】A 文章编号】1 0 0 9 9 0 4 2(2 0 0 8)0 3 一o o 1 一0 3T h eA c h i e v e m e n to fF i r eW a l l sS k i l lW h i c hB a s e so nL I N U XO p e r a t i n gS y s t e mS O N GY
3、 a n 9 1,Z H A N GZ h i y o n 9 2(1 S c h o o lo fI n f o r m a t i o na n dE n g i n e e r i n g,J i l i nT e a c h e r sI n s t i t u t eo fE n g i n e e r i n ga n dT e c h n o l o g y,C h a n g c h u nJ i l i n1 3 0 0 5 2,C h i n a;2 I n f o r m a t i o nT e c h n o l o g yD e p a r t m e n to f
4、C h a n g c h u nT e a c h e r sC o l Z e g e,C h a n g c h u n 五Z 讥1 3 0 0 3 2,C h i n a)A b s t r a c t:T h i sp a p e ri n t r o d u c e sa ns o f t w a r e-I p c h a i n so ff i r ew a l lw h i c hi su s e du n d e rL I N U Xs u r r o u n d i n g s I td e s c r i b e st h r e ef u n c t i o na b
5、 o u tL I N U Xf i r ew a l lw h i c hb a s eo na c t u a lp r i n c i p l e、d i s p o s i v em e t h o da n dp e c u l i a r i t y O nt h eo t h e rh a n d s,i nt h i sa r t i c l eL i n u xf i r ew a l le x a m p l ei ss i r e na sr e f e r e n c e K e yw o r d s:L I N U Xf i r ew a l l;i p c h a
6、i n sa g e n t;I Pm a s q u e r a d e防火墙作为网络安全措施中的个重要组成部分,一直受到人们的普遍关注。U N U X 是这几年来一款异军突起的操作系统,它以其公开的源代码、强大稳定的网络功能和大量的免费资源受到业界的普遍赞扬。L t N U X 防火墙其实是操作系统本身所自带的个功能模块,通过安装特定的防火墙内核,L I N U X 操作系统就会对接收到的数据包按昭定的策略进行处理;而用户所要做的,就是使用特定的配置软件(如i p c h a i l l s)去定制适合自己的“数据包处理策略”。1L I N U X 防火墙配置软件一I p c h a i
7、n s耻h a i l l s 是I X N U X2 1 及其以上版本中所带的一个防火墙规则管理程序。用户可以使用它来建立、编辑、删除系统的防火墙规则;但通常,用户需要自己去创建一个防火墙规则脚本并使系统在启动时会自动运行这t -l 却本。一个L I N U X 防火墙系统的安全机制是通过h l p u t、O u t p u t、F o r w a r d 这三个“防火链”来实现的。用户正是使用i p c h a i n s 在这三个“链”上分别创建一套“防火规则”来完成对到来数据包层层限制的目的。其中,每个链都包括一组由用户创建的过滤规则,数据包依次到达每个链,并比较其中的每条规则,直到
8、找出匹配规则并执行相应策略(如通过、拒绝等),否则执行默认策略。实际上,数据包在到达I n p u t 链之前还要进行测试和正常性检查,在到路由表之前还要被判断是否被伪装。2L I N U X 防火墙的几种常见功能由于每一个用户的要求和所处的环境都不一收稿日期:2 0 0 7-0 1 0 5作者简介:宋阳(1 9 7 3 一),女,吉林人,吉林工程技术师范学院信息工程学院讲师,硕士,主要从事计算机专业基础课教学研究。万方数据7 2 吉林工程技术师范学院学报2 0 0 8 年3 月样,L I N U X 防火墙会根据用户的设置去实现各种不同的功能;但一般说来,以下三种功能是大多数用户最常用到的:
9、2 1包过滤对数据包进行过滤可以说是任何防火墙所具备的最基本的功能,而L I N U X 防火墙本身是从某个角度也可以说是一种“包过滤防火墙”。在L I N U X 防火墙中,操作系统内核对到来的每一个数据包进行检查,从它们的包头中提取出所需要的信息,如源I P地址、目的口地址、源端口号、目的端口号等,再与已建立的防火规则逐条进行比较,并执行所匹配规则的策略或执行默认策略。通过在防火墙外部接口处对进来的数据包进行过滤,可以有效地阻止绝大多数有意或无意地网络攻击,同时,对发出的数据包进行限制,可以明确地指定内部网中哪些主机可以访问互联网,哪些主机只能享用哪些服务或登陆哪些站点,从而实现对内部主机
10、的管理。可以说,在对一些小型内部局域网进行安全保护和网络管理时,包过滤确实是一种简单而有效的手段。2 2 代理L I N U X 防火墙的代理功能是通过安装相应的代理软件来实现的,它使那些不具备公共口的内部主机也能访问互联网,并且很好地屏蔽了内部网,从而有效保障了内部主机的安全。假如s t e v e n 为内部网中一台I P 是1 9 2 1 6 8 0 2的主机,其上安装有I E 5 0 浏览器,并配置为使用防火墙主机1 9 2 1 6 8 0 1:8 0 8 0 作为代理;f i r e w a l l 就是我们讨论的L I N U X 防火墙,有两个网络接口,分别是内部接口e t h
11、l=1 9 2 1 6 8 0 1、外部接口e t h 0=2 0 2 11 7 1 2 0 1;在f l r e w a l l 主机上安装有W e b 代理软件“s q u i d”,并配置其代理端口为8 0 8 0;帅晰2 6 3 n e t 为2 6 3 网站的w e b 服务器,口为2 1 1 1 0 0 3 1 1 3 1 w e b 服务端口8 0。如果要从s t e v e n 主机访问2 6 3 的主页,其具体的通信步骤如下所示:1 砸通过s t e v e n 的非专用端口1 1 1 0(在1 0 2 46 5 5 3 5 之间随机产生)与防火墙的代理端口8 0 8 0建立
12、连接,请求“h t t p:w w w 2 6 3 n e t”页面。2“s q u i d”代理接收到请求后,先查找域名“1 兀 n v 2 6 3 n e t”,得到地址2 1 1 1 0 0 3 1 1 3 1,然后通过防火墙端口1 0 5 0 与该地址的8 0 端口建立一个连接,请求页面。3“”哪2 6 3 n e t”服务器接到请求后将页面传给“s q I l i d 代理。,4 防火墙代理得到页面后,把数据复制到1 中所建立的连接上,匝得到数据并将“w w w 2 6 3 n e t”页面显示出来。通过以上描述。用户可以清楚地了解到内部主机、L I N U X 代理防火墙以及外部服
13、务器之间是如何进行数据传输的,那么,在L I N U X 防火墙内部,那些“防火链”又是如何工作的呢?s t e v e n 主机发来的数据包经由内部接口e t h l 进来后,首先接受I N P U T 链的“检查”:系统内核从包头中提取出信息,与I N P U T链中所有适用于e t h l 接口的过滤规则逐个比较,直到匹配通过;之后,该数据包被转发给本地的代理进程。同样,代理进程发送给远程W e b 服务器的数据包在从防火墙外部接口发送出去之前,也要经过O U T P U T 链的“检查”,即与O U T P U T 链中所有适用于e t h 0 接口的规则一一比较;返回的过程正好与上述
14、相反。2 3 口伪装口伪装是L I N U X 操作系统自带的又一个重要功能。通过在系统内核增添相应的伪装模块,内核可以自动地对经过的数据包进行“伪装”,即修改包头中的源目的I P 信息,以使外部主机误认为该包是由防火墙主机发出来的。这样做的目的是可以有效地解决使用内部保留口的主机不能访问互联网的问题,同时屏蔽了内部局域网。针对上述范例,s t e v e i l 主机的I E 进程直接与远程的W e b 服务器建立一个连接。当数据包到达防火墙的内部接口后,照样要接受I N P U T 链的检查;之后,数据包将被送到F O R W A R D 链,接受系统内核的“伪装处理”,即将包头中的源I
15、P 地址改为防火墙外部接口e t h 0 的地址,并在系统中做下记录,以便一会儿对其回应包的目的I P 进行“恢复”。这样,当该数据包顺利从外部接口出来时,其包头中源I P 已被改为2 0 2 1 1 7 1 2 0 1。远程服务器会认为这是从防火墙的合法地址发来的,从而对其做出响应。当远程服务器返回的回应包到达防火墙时,先经过I N P U T 链,然后会根据系统关于口伪装的记录对数据包的目的口进行恢复,即将2 0 2 1 1 7 1 2 0 1 改为1 9 2 1 6 8 0 2,最后再经过O U r r P U T 链返回到s t e v e n 主机。为了实现这个过程,我们必须在防火墙
16、规则脚本中添加以下规则:i p e h a i n s Ai n p u t ie t h l Pt e p s1 9 2 1 6 8 0 2l l l 0 一d2 1 1 1 0 0 3 1 1 3 18 0 一jA C C E P Ti p e h a i n s AO U 中u t ie t h 0 一pt o p 一82 0 2 1 1 7 1 2 0 11 0 5 0 一d2 1 1 1 0 0 3 1 1 3 18 0 一jA C-C E P ri p c h a i n s Ai n p u t ie t h 0 一Pt e p!一Y s 万方数据第2 4 卷第3 期宋阳等:基于
17、L I N U X 操作系统的防火墙技术及实现7 3 2 1 1 1 0 0 3 1 1 3 18 0 一d2 0 2 1 1 7 1 2 0 11 0 5 0 一jA C C E P Ti p c h a i m Ao u t p u t ie t h l Pt o p!一Y s2 1 1 1 0 0 3 1 1 3 18 0 一d1 9 2 1 6 8 0 21 1 1 0 一jA C C E P Ti p c h a i m Af o r w a r d ie t h 0 一s1 9 2 1 6 8 0 21 1 1 0 一d2 1 1 1 0 0 3 1 1 3 18 0 一jM A
18、s Q与代理功能比较而言,I P 伪装不需要安装相应的代理软件,数据包的伪装对用户来说都是“透明”的,并且整个过程都是在口层实现,因此实现速度较快;其不足是不能对经过的数据包作详细的记录。以上我们介绍了L I N U X 防火墙在实际的设置中常用到的三种功能。但一般说来,用户在创建自己的防火墙规则脚本时,可以根据自己的需要将这三种功能组合起来一起来实现。3L I N U X 防火墙实例有两个局域网,L A N l 地址:2 0 2 1 1 7 1 2 0 6 5 2 5 5 2 5 5 2 5 5 2 4 8 为公共网络I P,L A N 2 地址为1 9 2 1 6 8 0 0 2 5 5
19、2 5 5 2 5 5 0,为内部保留地址。L I N U X防火墙有两个内部接口:2 0 2 1 1 7 1 2 0 7 0 接L A N l;1 9 2 1 6 8 0 1 接L A N 2。现对防火墙进行配置,使L A N 2 的主机通过口伪装访问互联网,但只允许使用外部w e b 代理服务器2 0 2 1 1 7 1 1 2 3 4 的1 2 5 2 端口。L A N l 中的主机被限制使用几种常用的互联网服务(D N S、S M T P、P O P 3、H T r P 和r r P)。下面就是创建的主要的防火墙规则脚本:#e t c r c d r e f i r e w a l l
20、#!b i n s h嚣e t l l o 一E x t e m a l _ i n t e r f a c e I;e t h l L A N l 一i I l t e I f 如e嚣e 出2-I A N 2 _ i n t e r f a c ee c h o”S t a r t i n gf i r e w a l l i n g”#F l u s hm a ye x i s t i n gr u l e sf r o ma l lc h a i n si p c h a i n s F#S e tt h ed e f a u l tp o l i c yt od e n yi p c
21、h a i n s-Pi n p u tD E N Yi p c h a i m Po u t p u t 娜C Ti p c h a i m Pf o r w a r dR E J E C T#E n a b l et r a f f i co nt h el o o p b a c ki n t e r f a c e#t h et r a f f i co nt l ee t h 2o n l ye n a b l l i n gu s i n gt h eW E BP R O X Yi p c h a i m Ai n p u t ie t h 2 一Pt o p s1 9 2 1 6
22、 8 0 0 2 41 0 2 4:6 5 5 3 5 一d2 0 2 1 1 7 1 1 2 3 41 2 5 2,-jA C C E P Ti p c h a J n s Ao u t p u t ie t h 2 一Pt e p!一Y s2 0 2 1 1 7 1 1 2 3 41 2 5 2 一d1 9 2 1 6 8 0 0 2 41 0 2 4:6 5 5 3 5 一jA C C E P T#F o r w a r d i n gr u l e si p c h a i n s Af o r w a r d6 4 2 9 一iA C C E P Ti p c h a i n s A
23、f o r w a r d2 4 一jM A S Qi p c h m n s Af o r w a r d6 4 2 9 一iA C C E P Tie t h 0 82 0 2 1 1 7 1 2 0 一ie t h 0 81 9 2 1 6 8 0 0 一ie t h l d2 0 2 1 1 7 1 2 0#E n a b l eo u t g o i n gt h ep a c k e t sf r o mL A No nt h eE x-t e m a l _ I n t e r f a c ei p c h a i n s Ao u t p u t-ie t h 0-jA C C
24、 E P T#E n a b l ei n c o m i n gs o m eI C M Pm e s s a g e so ne t h 0#1 D e s t _ U n r e a c h a b l e,S e r v i c e-U n a v a i l a b l ei p c h a i n s Ai n p u t ie t h O Pi c m p 一8a n y 03一d2 0 2 1 1 7 1 2 0 6 4 2 9 一jA C C E P T#2 T i m e _-E x c e e d e di p c h a i n s Ai n p u t ie t h
25、O Pi c m p 一8a n y O1 1 一d2 0 2 1 1 7 1 2 0“2 9 一jA C C E P T#3 A l l o wo u t g o i n gp i n g st oa n y w h e r ei p c h m n s Ai n p u t ie t h 0 一Pi c m p sa n y 0 0一d2 0 2 1 1 7 1 2 0 6 4 2 9 一jA C C E P T#E n a b l eP r o x yo f 2 0 2 1 1 7 1 1 2 3 4:1 2 5 2i p c h a i m Ai n p u t ie t h O Pt
26、 o p!一y 一82 0 2 1 1 7 1 1 2 3 41 2 5 2 一jA C C E 胛e c h o”d o n e”e x i t 04 结论本文着重从防火墙内部工作过程的角度分别对I 卫N 1 防火墙的包过滤、代理以及I P 伪装功能进行了剖析,同时涉及到了一些网络配置、用i p e h a i n s 具体实现各方面的内容。参考文献:1 R o b e r tL Z i e g l e r L i n u x 防火墙 M 人民邮电出版社,2 0 0 0,1 0 2 W R i c h a r dS t e v e n s I E P I P i 糯E M I 机舭出版社,砌
27、A-3 R u s t yR u s s e l l”L i n u xI P C H A I N S H O W T O”。n e t f i l t e r 8 8 1 1 1-b a o r g,2 0 0 0 责任编辑张雷】万方数据基于LINUX操作系统的防火墙技术及实现基于LINUX操作系统的防火墙技术及实现作者:宋阳,张志勇,SONG Yang,ZHANG Zhi-yong作者单位:宋阳,SONG Yang(吉林工程技术师范学院,信息工程学院,吉林,长春,130052),张志勇,ZHANG Zhi-yong(长春师范学院,信息技术学院,吉林,长春,130032)刊名:吉林工程技术师范学院学报英文刊名:JOURNAL OF JILIN TEACHERS INSTITUTE OF ENGINEERING AND TECHNOLOGY年,卷(期):2008,24(3)参考文献(3条)参考文献(3条)1.Rusty Russell Linux IPCHAINS-HOWTO 20002.W.Richard Stevens TCP/IP详解 20003.Robert L.Ziegler Linux 防火墙 2000 本文链接:http:/
限制150内