注:至少具备 linux os 的中级水平知识,以及配置 linux 内核的经验,将有助于对本文的理解。
linux 安全性与 netfilter/iptables 【相关文章:初学时候的记忆(1)5/24/04 1:】
对于本文,我们将使用 iptables 用户空间工具版本 1.2.6a 与内核版本 2.4.9。 【扩展阅读:演练:在Excel中拦截事件】
linux 因其健壮性、可靠性、灵活性以及好象无限范围的可定制性而在 it 业界变得非常受欢迎。linux 具有许多内置的能力,使开发人员可以根据自己的需要定制其工具、行为与外观,而无需昂贵的第三方工具。如果 linux 系统连接到因特网或 lan、服务器或连接 lan 与因特网的代理服务器,所要用到的一种内置能力就是针对网络上 linux 系统的防火墙配置。可以在 netfilter/iptables ip 信息包过滤系统(它集成在 2.4.x 版本的 linux 内核中)的帮助下运用这种能力。 【扩展信息:Top 10 reasons to us】在如 ipfwadm 与 ipchains 这样的 linux 信息包过滤解决方案中,netfilter/iptables ip 信息包过滤系统是最新的解决方案,而且也是第一个集成到 linux 内核的解决方案。对于 linux 系统管理员、网络管理员以及家庭用户(他们想要根据自己特定的需求来配置防火墙、在防火墙解决方案上节省费用与对 ip 信息包过滤具有完全控制权)来说,netfilter/iptables 系统十分理想。
理解防火墙配置与信息包过滤
对于连接到网络上的 linux 系统来说,防火墙是必不可少的防御机制,它只允许合法的网络流量进出系统,而禁止其它任何网络流量。为了确定网络流量是否合法,防火墙依靠它所包含的由网络或系统管理员预定义的一组规则。这些规则告诉防火墙某个流量是否合法以及对于来自某个源、至某个目的地或具有某种协议类型的网络流量要做些什么。术语“配置防火墙”是指添加、修改与除去这些规则。稍后,我将详细讨论这些规则。网络流量由 ip 信息包(或,简称信息包)— 以流的形式从源系统传输到目的地系统的一些小块数据 — 组成。这些信息包有头,即在每个包前面所附带的一些数据位,它们包含有关信息包的源、目的地与协议类型的信息。防火墙根据一组规则检查这些头,以确定接受哪个信息包以及拒绝哪个信息包。我们将该过程称为信息包过滤。
为什么要配置自己的防火墙?
出于各种因素与原因,需要根据特定需求来配置防火墙。或许,最重要的原因是安全性。管理员可能想让他们的防火墙能够阻止未经授权的源访问其 linux 系统,例如通过 telnet。他们可能还想限制进出其系统的网络流量,以便只有来自可信源的流量才可以进入其系统,以及只有授权的流量才可以出去。家庭用户可能通过允许所有的出站信息包都可以通过,将防火墙配置成较低的安全性级别。
另一个背后的原因是,通过阻塞来自类似广告站点之类的源的多余流量,可以节省带宽。
因而,可以定制防火墙配置来满足任何特定需求与任何安全性级别需求。这就是 netfilter/iptables 系统的用武之处。
netfilter/iptables 系统是如何工作的?
netfilter/iptables ip 信息包过滤系统是一种功能强大的工具,可用于添加、编辑与除去规则,这些规则是在做信息包过滤决定时,防火墙所遵循与组成的规则。这些规则存储在专用的信息包过滤表中,而这些表集成在 linux 内核中。在信息包过滤表中,规则被分组放在我们所谓的链(chain)中。我马上会详细讨论这些规则以及如何建立这些规则并将它们分组在链中。虽然 netfilter/iptables ip 信息包过滤系统被称为单个实体,但它实际上由两个组件 netfilter 与 iptables 组成。
netfilter 组件也称为内核空间(kernelspace),是内核的一部分,由一些信息包过滤表组成,这些表包含内核用来控制信息包过滤处理的规则集。
... 下一页