FreeBSD handbook中文版 10 安全(23) 这个命令会阻止所有从主机evil.crackers.org 到主机nice.people.org 的telnet 端 口的数据包: # ipfw add deny tcp from evil.crackers.org to nice.people.org 23 下一个例子会阻止和日志任何从crackers.org 网络(c 类地址)记录到机器 nice.people.org 的TCP 传输(任何端口)。 # ipfw add deny log tcp from evil.crackers.org/24 to nice.people.org 如果你不要任何人发送X 会话给你的内部网络(C 类子网),下面的命令将会作必要的 过滤: # ipfw add deny tcp from any to my.org/28 6000 setup 看看计算记录: # ipfw -a list 或用一个简短的形式: # ipfw -a l 你也可以看看上次相配的数据链记录: # ipfw -at l 第38 页FreeBSD 使用手册 10.7.6 建构一个数据包过滤防火墙 注意:下面的建议仅仅是建议。每个防火墙的要求是不同的,我们不能告诉你如何建构 一个符合你特殊要求的防火墙。 当一开始设置你的防火墙时,除非你有一个可测试的设置,可以在一个可控的环境中配 置你的防火墙,否则强烈建议你使用命令的日志版本,和在内核中启用日志。这将允许你快 速地确定问题所在,以便不需要太久就可以修复。即使初始安装已经完成,还是建议你使用 日志来“阻止”有可能的攻击,或根据你的要求修改防火墙的规则。 注意:如果你使用接受命令的日志版本,它可以产生巨大的日志数据,所以巨大的 FTP/http 传输将使系统的性能大大下降。在数据包通过之前它会要求内核做更多的工作。 syslogd 将开始使用更多的处理时钟,以至有许多额外的日志被记录到磁盘上,不久就会填 满/var/log 分区。 你可以从/etc/rc.conf.local 或/etc/rc.conf 启用你的防火墙。相关的联机手册会解 释如何列出当前的防火墙配置。如果你不使用当前的配置,ipfw 列表将输出当前的规则设 置到一个文件rc.conf。如果你不使用/etc/rc.conf.local 或/etc/rc.conf 来启用防火墙, 在任何接口被配置之前,确认你的防火墙被启用是很重要的。 下一个问题是你的防火墙实际上做了些什么!这主要依赖于你允许什么从外部访问你的 网络,和允许多少访问外部网络。一些通常的规则是: . 阻止所有TCP 端口小于1024 的访问。这是安全服务最敏感的地方,象finger, SMTP (mail) 和telnet。 . 阻止所有进入的UDP 传输。通过UDP 传输的有很多有用的服务,有什么有用的传输 服务,就会有什么安全问题。(如Suns RPC 和NFS 协议)。这也是它的缺点,既然UDP 是一个无连接协议,阻止进入的UDP 传输也会阻止对输出UDP 传输的回应。这可能会对 使用外部archie 服务的人们带来麻烦。如果你要允许访问archie,你将必须允许来自端 口191 和1525 的数据包能够通过防火墙进入内部UDP 端口。ntp 是另一个你可以允许 访问通过的服务,它使用端口123。