|
FreeBSD handbook中文版 10 安全(20) 包。绝大多数现代的IP 路由软件都有数据包过滤代码。要启用这些过滤器,你必须定义一 些过滤代码的规则,以便它能决定数据包是否被允许转发或阻止。 过滤代码会检查所设定的匹配一个数据包头部内容的规则来决定这个数据包是否被通 过。一旦一个匹配找到了,这个规则动作就启用了。这个规则可能会减慢数据包以便传输数 据,或是发送一个ICMP 信息给这个数据包的发送者。只有第一个匹配会计数,以便按顺序 来查找到这些规则。因此,这些规则的列表可以被看作是规则链。 第31 页FreeBSD 使用手册 数据包匹配标准的变化依赖于使用的软件,但典型的你可以指定依赖于数据包的源IP 地址,目的IP 地址,源端口号,目的端口号,或是数据包类型(UDP, TCP, ICMP 等)的规则, 10.7.1.2 代理型服务器 代理型服务器是把普通系统守护程序(telnetd, ftpd 等)用作特殊服务器的机器。这些 服务器被叫做proxy servers。这个可以在你的防火墙主机上运行一个代理telnet 服务器, 人们可以从外部telnet 进入你的防火墙, 通过一些验证机制,然后获得访问内部网络的权 利。 代理型服务器通常要比普通的服务器更安全,可以提供更广泛的验证机制,包括 one-shot 口令系统,所以即使有人设法寻找了你使用的密码,他们也不能使用它获得访问你 的系统的权利,因为密码会立即失效。由于他们不能给用户访问主机的权利,所以它使得想 要在的系统上安装后门变得困难得多。 代理型服务器有很多种限制访问的方法,所以只有某个主机获得了访问服务器的权利, 他们才可以被设置,以至你可以限制哪个用户可以跟哪个机器交谈。另外,要使用哪个完全 取决于你选择的代理软件哪个更强大。 10.7.2 IPFW 允许你做些什么? IPFW,由FreeBSD 提供的软件,是一个位于内核中的数据包过滤和结算系统,有一个用 户水平的控制工具,ipfw。他们允许你定义和查询内核正在使用的规则。 IPFW 有两个相关的部分。防火墙那节允许你执行数据包过滤。也有一个IP 结算章节允 许你追踪你的路由器的情况。这将允许你看到你的路由器从某个机器得到了多少的传输量, 或有多少的WWW 数据被转发。 你可以使用在没有路由的机器上在输入与输出的连接之间,使用IPFW 来执行数据包 过滤。这是IPFW 一个比较特殊的用法,同样的命令和技术也可以被用到。 10.7.3 在FreeBSD 上启用IPFW 由于IPFW 的主要部分被捆绑在内核中,你必须要在你的内核配置文件中添加一个或多 个选项,这取决于你要使用哪个工具,然后重新编译内核。 与IPFW 相关的有三种内核配置选项: 第32 页FreeBSD 使用手册 options IPFIREWALL 将数据包过滤编译进内核。 options IPFIREWALL_VERBOSE 通过syslogd 启用代码来允许记录数据包的日志。没有这个选项,即使你指定了,数据 包也不在过滤规则中被记录进日志。 options IPFIREWALL_VERBOSE_LIMIT=10 通过syslogd 限制数据包日志的记录。你可以使用这个选项记录防火墙的活动,但不要 过多地使用syslogd,否则会给拒绝式服务攻击提供机会。当一个数据链记录到达指定的受 限制的数据包时,日志会在那个特殊的记录被关闭.要继续进行日志,你必须使用ipfw 工具 刷新相关的记数器: # ipfw zero 4500 这儿的4500 是你希望继续日志的数据链记录。 先前的FreeBSD 版本已经包含了IPFIREWALL_ACCT 选项。现在,现在把它作为防火墙代
|