设置网络防火墙

防火墙创建简介

防火墙的目的是保护计算机或网络免受恶意访问。在理想世界中,每台机器上的每个守护进程或服务都配置完美,不受安全漏洞影响,并且所有用户都完全按照预期使用设备。然而,这种情况很少(如果有的话)发生。守护进程可能配置错误,或者可能未针对已知的关键服务漏洞应用更新。此外,您可能希望选择哪些服务可被特定机器或用户访问,或者您可能希望限制哪些机器或应用程序被允许外部访问。或者,您可能根本不信任某些应用程序或用户。由于这些原因,精心设计的防火墙应成为系统安全的重要组成部分。

虽然防火墙可以极大地限制上述问题的范围,但不要认为拥有防火墙就可以使谨慎的配置变得多余,或者任何疏忽的配置错误都是无害的。防火墙并不能阻止对您在其外部提供的任何服务的利用。即使有防火墙,您仍然需要保持应用程序和守护进程的正确配置和最新状态。

“防火墙”一词的含义

“防火墙”一词可能有几种不同的含义。

个人防火墙

这是一种硬件设备或软件程序,旨在保护连接到互联网的家庭或桌面计算机。这种类型的防火墙对于不知道自己的计算机可能如何通过互联网被访问或如何禁用该访问的用户非常有用,特别是如果他们始终在线并通过宽带连接。

个人防火墙的示例配置见 Creating a Personal Firewall With iptables

伪装路由器

这是一个放置在互联网和内部网络之间的系统。为了最大限度地降低防火墙本身被入侵的风险,它通常应只有一种角色——保护内部网络。尽管并非完全没有风险,但执行路由和 IP 伪装(重写它从具有私有 IP 地址的客户端路由到互联网的数据包的 IP 头,使其看起来来自防火墙本身)的任务通常被认为是相对安全的。

伪装防火墙的示例配置见 Creating a Masquerading Router With iptables

BusyBox

这通常是一台您可能已淘汰并几乎遗忘的旧计算机,执行伪装或路由功能,但提供非防火墙服务,如 Web 缓存或邮件。这可能用于家庭网络,但不能认为与仅作为防火墙的机器一样安全,因为在一台机器上组合服务器和路由器/防火墙会增加设置的复杂性。

BusyBox 的示例配置见 Creating a BusyBox With iptables

具有隔离区(DMZ)的防火墙

这种类型的防火墙执行伪装或路由,但允许公众访问您网络的某个分支,该分支与您的常规内部网络物理隔离,并且本质上是一个具有直接互联网访问权限的独立网络。此网络上的服务器是那些必须可以从互联网和内部网络轻松访问的服务器。防火墙保护两个网络。这种类型的防火墙至少有三个网络接口。

包过滤器

这种类型的防火墙执行路由或伪装,但不维护正在进行的通信流的状态表。它速度很快,但在阻止不需要的数据包而不阻止需要的数据包方面的能力相当有限。

结论

[小心]

小心

iptables-1.8.13 提供的示例配置并非旨在作为保护系统的完整指南。防火墙是一个复杂的问题,需要仔细配置。BLFS 提供的配置仅旨在举例说明防火墙的工作原理。它们不适用于任何特定配置,并且可能无法提供针对攻击的完全保护。

BLFS 提供了一个用于管理内核 Netfilter 接口的工具 iptables-1.8.13。它自 2.4 内核早期就已存在,并且一直是标准。这很可能是现有管理员最熟悉的一组工具。其他工具最近才开发出来,有关更多详细信息,请参阅下面的进一步阅读列表。在这里,您将找到包含有关构建防火墙和进一步保护系统的全面信息的 URL 列表。

额外信息