IP Filter Based Firewalls HOWTO --学习IPfil…

2009-05-13 03:06:04来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折


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的防火墙。如果你觉得你采取的行动不太合适的话,你应该停止阅读该文档,请有资格的安全专家为惆沧胺阑鹎健?/P>
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
这个包依然通过。规则没有累加作用的。最后一条匹配规则总是优先的。
2.3 控制规则的执行
如果你有使用其它包过滤器的经验,你也许会发现这种设计令人困惑,会觉得这样匹配速度会有些问题。想象一下如果你有100条规则,而最有用的是前 10条,每个包都通过这100条规则是一种很可怕的开销。幸运的是,你可以加一个关键字到任意一条规则里面,只要匹配这条规则,这条规则将马上起作用,而不用跑到最后一条规则。这个关键字是quick。这是一个修改过的规则集,加入了quick:
block in quick all
pass in all
这种情况下,ipf检查第一条规则:
block in quick all
报匹配这条规则并且遍历结束.这个包就被抛弃,没有任何提示、记录。那么下一条规则呢?

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:欢迎大家到BSD程序开发版讨论BSD内核研究方面的问题!

下一篇:FreeBSD6.0+apache20+php5.1.2+MySQL-4.1.8+phpMyAdmi