IP Filter Based Firewalls HOWTO(1)

发表于:2007-06-23来源:作者:点击数: 标签:
IP Filter Based Firewalls HOWTO xiaojl zhiyouxjl@sina.com Brendan Conoboy Erik Fichtner $FreeBSD: src/share/examples/ipfilter/ipf-howto.txt,v 1.1.2.1 2002/04/27 20:04:18 darrenr Exp $ 摘要:本文档向初学者介绍IP Filter防火墙软件,同时介绍一

   
  IP Filter Based Firewalls HOWTO
   xiaojl <zhiyouxjl@sina.com>

Brendan Conoboy
Erik Fichtner
$FreeBSD: src/share/examples/ipfilter/ipf-howto.txt,v 1.1.2.1 2002/04/27 20:04:18 darrenr Exp $

摘要:本文档向初学者介绍IP Filter防火墙软件,同时介绍一些设计防火墙的基本方法。

1.1声明

作者对因该文档所造成的破坏概不负责,该文档只是介绍基于ipfilter的防火墙。如果你觉得你采取的行动不太合适的话,你应该停止阅读该文档,请有资格的安全专家为你安装防火墙。

1.2 版权

除非其它情况,该文档版权属于每一个作者。部分或全部文档可以以各种介质复制和重新发布,只要你在所有的拷贝中保存版权声明。任何商业性质的发布应该通知文档的作者。
所有的翻译文档及其它衍生文档应该保留版权声明。

1.3 哪里可以获得重要文档

ipf官方网站:http://coombs.anu.edu.au/~avalon/ip-filter.html
文档的最新版本可以在这找到:http://www.obfuscation.org/ipf/

2. 基本防火墙

这部分将使您对ipfilter的语法及防火墙原理有个总体的了解。这里讨论的防火墙特点都可以在任何好的防火墙软件中找到。这部分将使您更容易的阅读和理解后面的高级部分。必须提一下的是,这一部分不足以让你建立一个好的防火墙,如果您想建立一个有效率的安全系统您应该阅读高级部分。

2.1 文件的结构,顺序及优先级

ipf 有一个配置文件(或者说是一些一次运行的命令)。这个文件沿袭unix风格:每行一条规则,“#”表示注释,多余的空格将被忽略,我们鼓励保持规则文件的可读性。

2.2 基本的规则处理

每条规则从上到下顺序执行。这意味着如果你的配置文件是这样的:

block in all
pass in all

计算机将视它视为

block in all
pass in all

就是说,当有一个包进来,第一条规则起作用:

block in all

接下来ipf将包传给下一条规则,第二条规则将起作用:

pass in all

这个时候你也许会问ipf将执行第二条规则吗?如果你熟悉ipfwadm或者ipfw,你也许就不会问这个问题了。也许您将会对包的走向感到困惑,很多包过滤软件只要包符合一条规则,它将不会往下匹配,但是ipf不属于这种类型。
不像其它包过滤器,ipf会为每个包做一个标记,不管这个包通过与否。ipf将遍历整个规则集,除非你打断它的遍历,然后ipf根据最后一条规则决定是通过还是抛弃这个包。当一个包进入一个接口(如rl0,tun0),ipf就开始工作,他先检查这个包然后再检查第一条规则:

block in all

ipf说:“我现在应该阻止这个包”。它又看看第二条规则:

pass in all

“我现在应该通过这个包”。它又看看第三条规则,没有第三条规则,所以这个包根据最后一条规则,向前传递这个包。
现在应该指出的是,即使你的规则是这样的:

block in all
block in all
block in all
block in all
pass in all

这个包依然通过。规则没有累加作用的。最后一条匹配规则总是优先的。

原文转自:http://www.ltesting.net