30.2. 防火墙的概念

一个规则集(Ruleset)中会有一群根据封包内的数据来判断通过或封锁的规则,主机间双向的封包交换构成一个联机阶段的对话,防火墙规则集会同时处理接收自网际网络的封包以及由系统所产生的响应封包,每一个TCP/IP服务都会预先定义其通信协定以及要倾听的端口,要送往指定服务的封包会诞生在来源位址,使用一个不需特殊权限的端口并传送给目标位址上特定服务的端口,所有上述过程中的参数均可用来当做建立规则的筛选条件,来允许或封锁服务。

要查询一个不清楚的端口号,可参考/etc/services,或者至http://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers查询端口号来找出特定端口号的用途。

从这里可以了解port numbers used by Trojans

FTP有两个模式:主动(Active)模式与被动(Passive)模式,两者的差异在于取得数据信道的方式,被动模式会较安全,由于数据信道会取自FTP联机请求者。想要取得FTP与两种模式更进一步的说明,详见http://www.slacksite.com/other/ftp.html

防火墙规则集可以为排除式(exclusive)或者内含式(inclusive),一个排除式的防火墙会允许所有的联机通过除了符合规则集的联机,内含式的防火墙则会反过来只允许符合规则集的联机并封锁其他任何的联机。

内含式的防火墙对于外发的流量有较好的控制,使其成为提供网际网络服务的系统的最佳选择,它同时可以控制可存取私有网络的网际网络联机,所有不符合该规则的联机会被封锁并记录。一般来说,内含式的防火墙会比排除式的防火墙安全,因为内含式的防火墙可以明显的减少不必要联机所造成风险。

注意:

除非另有说明,否则所有在此章节的示例规则集均为内含式防火墙规则集。

使用具状态防火墙(Stateful firewall)可以更进一步加强安全性,这种类型的防火墙可持续追踪联机,只允许与现有联机相符的封包或符合允许条件的新联机通过。

状态过滤技术(Stateful filtering)将所有的流量当做是一个由双向封包交换所组成的联机阶段,当在符合的规则上指定状态(State)时,防火墙会自动产生内部规则来处理该联机阶段中每个预期会通过的封包,这种防火墙有足够的比对能力可以辨别是否为同一个联机阶段的封包,任何不符合联机阶段样板的封包都会被自动拒绝。

当联机阶段结束时,该规则将会动态状态表(Dynamic state table)中移除。

Stateful filtering让管理者可以专注于封锁/传递新的联机阶段,若新的联机阶段通过,那么该联机阶段后续的封包将会自动允许通过,且任何假冒的封包会自动被拒绝。若新的联机阶最被封锁,将不允许其任何后续的封包。Stateful filtering提供了进阶的比对能力,能够抵御不同种类由攻击者发动的flood攻击。

NAT代表Network Address Translation即网络位址转译,NAT功能让在防火墙之后的私有LAN可以共享一个ISP分配的IP位址(甚至是动态分配的),NAT每一台在该LAN中的电脑均可联机网际网络,而不需要支付ISP多个网络帐号或IP位址的额外费用。

NAT在当封包要外送到防火墙之外的网际网络时,会自动转译每一台电脑在私有LAN的IP位址成为一个公有IP位址,它也同样会对回传的封包做反向转译。

根据RFC1918,会保留以下范围的IP位址做为私有网络使用,永远不会被传送到网际网络,因此可供NAT使用:

警告:

在使用防火墙规则时要非常小心,有一些设定会将管理者锁在服务器之外,保险起见的方式是在本机的Console做初次的防火墙设定,不要直接由远端透过ssh来设定防火墙。

本文档和其它文档可从这里下载: ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

如果对于FreeBSD有问题,请先阅读 文档,如不能解决再联系 <questions@FreeBSD.org>.

关于本文档的问题请发信联系 <doc@FreeBSD.org>.