当前位置:Linux教程 - Linux - Linux 2.4有状态防火墙设计(四)

Linux 2.4有状态防火墙设计(四)

第七章 构建更安全的服务器防火墙

服务器改进


通常可以使防火墙变得“更好”一点。当然,是不是“更好”要根据各人的特殊需要而定。现有脚本可能会完全符合您的要求,但也可能需要进行附加调整。本章节旨在充当各种想法的食谱,演示增强现有有状态防火墙的各种方法。

记录技术


目前,我们还没有讨论如何记录。有一种特殊目标 LOG 可以用于记录事物。在使用 LOG 时,有一个特殊选项 ""--log-prefix"" 可以让您指定在包转储到系统日志时出现的一些文本。以下是一个日志规则示例:


iptables -A INPUT -j LOG --log-prefix ""bad input:""

不应将它作为第一个规则添加到 INPUT 链中,因为这将会为您接收的每个包都记录一个记录项。事实上,应该将日志规则放到 INPUT 链的底层,以便记录陌生的包和其它异常。


以下是关于 LOG 目标的重要注意事项。通常,当一条规则匹配时,会接受、拒绝或删除某个包,不会再处理其它规则。但是,当日志规则匹配时,则会记录这个包。但是却不会接受、拒绝或删除它。事实上,包会继续移动到下一个规则,如果日志规则是链中的最后一个规则,那么将应用缺省链策略。

LOG 目标还可以与 ""limit"" 模块组合(在 iptables 帮助页面中描述),以使重复记录项最小化。以下是一个示例:


iptables -A INPUT -m state --state INVALID -m limit --limit 5/minute -j LOG --log-prefix ""INVALID STATE:""


创建自己的链


iptables 可以让您创建自己的用户定义链,可以将这个链指定成规则中的目标。如果想要了解如何完成此项任务,请花一些时间阅读 Rusty 的著作 http://netfilter.samba.org/unreliable-guides/packet-filtering-HOWTO/index.html。


实施网络使用策略

对于那些想要对公司或高校 LAN 实施网络使用策略的人来说,火墙提供了许多强大的功能。通过将添加添加到 FORWARD 链或设置 FORWARD 的策略,可以控制您的机器将转发什么包。通过将规则添加到 OUTPUT 链,还可以对由 Linux 机器自身的用户在本地生成的包采取什么操作。iptables 还有难以置信的能力,它可以根据所有者(uid 或 gid)来过滤本地创建的包。如需有关此项功能的详细信息,请在 iptables 帮助页面中搜索 ""owner""。

其它安全性角落


在示例防火墙中,我们已经假设所有内部 LAN 通信流都是值得信任的,只有进入因特网通信流必须受到严格监控。您的特定网络可能属于这种情况,也可以不属于此类情况。当然没有什么事能阻止您配置防火墙,以防止进入 LAN 通信流。需要考虑您想要保护的网络的其它“角落”。还应适当配置两个 LAN 安全性“专区”,每个“专区”都有其自己的安全性策略。



第八章 参考资料


tcpdump


在本章节中,我将介绍许多参考资料,您会发现这些参考资料有助于创建自己的有状态防火墙。让我们从一个重要工具开始……

tcpdump 是研究低级包交换和验证防火墙是否正常工作的必备工具。如果您还没有,想方法弄到它。如果已经有了,则应该使用它。

netfilter.kernelnotes.org

http://netfilter.samba.org 是 netfilter 小组的主页。这个页面上有许多优秀的参考资料,包括 iptables 源码,以及 Rusty 的著作 ""unreliable guides""。这些参考资料包括适用于开发人员的基本网络概念 HOWTO、netfilter (iptables) HOWTO、NAT HOWTO 和 netfilter 破坏 HOWTO。 此外还有 netfilter FAQ 和其它内容。


iptables 帮助页面


网上有许多好的再线 netfilter 参考资料;不过,不要忽略了基础知识。iptables 帮助页面非常详尽,它是帮助页面的典范。它的确是一本有趣的读物。


高级 Linux 路由和通信流控制 HOWTO


现在有一本书叫做 Advanced Linux Routing and Traffic Control HOWTO。其中有一段写得非常好,它演示了如何使用 iptables 来标记包,然后使用 Linux 路由功能来根据这些标记路由包。注:此 HOWTO 包含了对 Linux 通信流控制(服务质量)功能(通过新的 ""tc"" 命令访问)的参考。虽然这个新功能很棒,当有关它的记载却很少,试图解决 Linux 通信流的所有问题在目前看来还是个非常困难的任务。


邮件列表


现在有一个 netfilter (iptables) 邮件列表,还有一个 netfilter 开发人员邮件列表。还可以利用再线 URL 访问邮件列表档案。


构建因特网防火墙,第 2 版


在 2000 年 6 月,OReilly 发行了一本好书 -- Building Internet Firewalls, Second Edition。它是一本很棒的参考书,尤其是当您要配置防火墙、以接受(或直接拒绝)您不熟悉的无名协议时,值得一看。

好,这就是我们的参考资料列表,教程结束了。我希望这个教程对您有所帮助,希望您提出宝贵意见。

反馈意见

我们期望您对本教程提出宝贵意见。此外,欢迎通过 [email protected] 联系作者 Daniel Robbins。