分享
 
 
 

IPCHAINS的工作流程

王朝other·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

本文不是专门讨论IPCHAINS的工作原理,也不是讨论IPCHAINS有关的参数和命令的用法。我只不过是想

说明一下IPCHAINS到底是怎样工作的,重在流程。并结合一个IP包在到达防火墙后是经过怎样的步骤最

后从防火墙出来。

(想要了解IPCHAINS的参数和命令的用法请看http://www.ibase.com/book/showQueryL.asp?libID=284)

大家知道,REDHAT 6.2内自带ipchains防火墙。系统有三个标准的防火墙链和用户自定义的防火墙链。

还有它的规则和目标。首先要弄清这些概念:

其实画个图就清楚了,如下

`input' `Test'

---------------------------- ----------------------------

| Rule1: -p ICMP -j REJECT | | Rule1: -s 192.168.1.1 |

|--------------------------| |--------------------------|

| Rule2: -p TCP -j Test | | Rule2: -d 192.168.1.1 |

|--------------------------| ----------------------------

| Rule3: -p UDP -j DENY |

----------------------------

上图就表示两条链:系统的标准链INPUT链和用户自定义链Test。

RuleX就是规则

-j 后面的就是目标或又是一个防火链。

当然,系统还有forward链,output链,你还可以定义自己的链(ipchains -N newname)

上图说明input链中第一条规则是定义进来的协议为icmp的IP包就跳到REJECT目标,由于REJECT是系统自

定义

的,表示拒绝,所以符合-p icmp的包就被丢弃。

input第二条规则说明协议为tcp的包跳到test,由于test是用户自定义的链,所以进来的包被送到test

链中去

决定它的命运。

现在弄清楚了基本的概念后我们再来看一看一个从192.168.1.1进来的tcp包要到1.2.3.4去,它是怎样走

的?

(还是上面的图):

当包进来后,它先被送到input链与第一条规则匹配。第一条规则不符合(不是icmp包),则此包进入第

二条规则。第二条规则符合(是tcp包),则按照-j(jump)后面定义的目标跳到相应的地方。因目标又

是一条链(用户自定义的),所以包被送到test链继续匹配test链中的规则。test链中第一条规则符合

(因原地址是192.168.1.1),但没有指定其要去的地方,所以继续匹配第二条规则。第二条规则不符合

(目的不是192.168.1.1,而是1.2.3.4)所以包又被送到input链继续匹配下面的规则(因test链没有指明

此包的命运,而input链又没有执行完),input链中的第三条规则也不匹配,则决定此包最终命运的是

ipchains -P input 后面所定义的目标。如有ipchains -P input DENY 则此包被拒绝。如是ipchains

-P input ACCEPT则此包被接受

。等等。因为一个包从进入一条链到出来中间若没有任何规则指明它的命运的话,此包要走完整个链,

象上面的列子一样,若test链中有Rule3: -p tcp -j DENY则此包被丢弃。但如没有,则最终是由

ipchains -P input决定此包的命运。

上面的文字说明用下图来表示:

v __________________________

`input' | / `Test' v

------------------------|--/ -----------------------|----

| Rule1 | /| | Rule1 | |

|-----------------------|/-| |----------------------|---|

| Rule2 / | | Rule2 | |

|--------------------------| -----------------------v----

| Rule3 /--+___________________________/

------------------------|---

v

上面只是讨论了一个包在一条链中所经历的过程,下面我们来看看在整个ipchains过程中一个包是怎样

进入防火墙,又是怎样出来的。

注意:一个包进入防火墙先一定是进入input链,如有可能最终从output链出去。而且当链中第一条规则

没指明包的去向,它就被送到第二条规则去匹配,第二条规则没指明,则继续送到第三条规则,如有可

能(都没指明包的去向),最终走完此链(ipchains -P)。

看下图:

----------------------------------------------------------------

| ACCEPT/ lo interface |

v REDIRECT _______ |

--> C --> S --> ______ --> D --> ~~~~~~~~ -->|forward|----> _______ -->

h a |input | e {Routing } |Chain | |output |ACCEPT

e n |Chain | m {Decision} |_______| --->|Chain |

c i |______| a ~~~~~~~~ | | ->|_______|

k t | s | | | | |

s y | q | v | | |

u | v e v DENY/ | | v

m | DENY/ r Local Process REJECT | | DENY/

| v REJECT a | | | REJECT

| DENY d --------------------- |

v e -----------------------------

DENY

1:checksum:当一个包进来时,内核首先检查它是不是被篡改。主要是检查效验码。(checksum)如果效

验码不对,则此包被拒绝。

2:sanity:写在每条防火链的前面,特别是input链。主要是检验那些不规范的包。如果包被sanity拒绝

则在syslog文件中有记载。

3:input:包进入input链,按照上面所说的一条链中的包的流程来走。是被拒绝,否定还是被接受,重

定向等。

4:Demasqerade:包被接受。如果此包是由原来的包经过伪装后的包则直接跳到output链。为什么说是经

过原来的包伪装的包呢?因为后面我们将看到一个包到了output出口后有可能又会重新被送到input链再

进行匹配的。

5:Routing Decision:如果包不是以前伪装过的包则通过路由机制判断包的目的地址是本机器的还是需

要转发给其他远程机器的。

6:Local Process:如果包的目的地是本机器。则直接送到output链。

7:Lo interface:如果包是从local process传来的,则它从output链中出来后interface被改为"lo",然

后再从新被送到input链,以接口是"lo"的身份再一次通过各个防火链。(这里可看到Demasqerade)

8:forward:如果是需要转发的包则进入forward链。forward链对那些需要转发的包进行详细的检查,通

过了再进行转发。

9:output:此链核对出去的包的详细信息,符合则让它通过。

至此,我相信不要举列大家对一个包通过ipchains防火墙的整个过程也就一清二楚了。

顺便说一下:

1:只容许TCP SYN连接

如果你想连接外面的web server但又不想web server连接你,又不能切断web server对你提供的正常的

服务的话,你可以阻止那些从web server上请求对你进行连接的包拒绝。

ipchains -p tcp -s 192.168.1.1 -y(可自己定义,但-y不能少)

2:禁止IP Spoof

把/proc/sys/net/ipv4/conf/*/rp_filter 致为"1"

中国Linux论坛

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有