ipfilter - 防火墙


未知
Linux
C/C++

软件简介

IPFILTER 的作者是 Darren Reed。 IPFILTER 是独立于操作系统的: 它是一个开放源代码的应用, 并且已经被移植到了
FreeBSD、 NetBSD、 OpenBSD、 SunOS、 HP/UX, 以及 Solaris 操作系统上。 IPFILTER
的支持和维护都相当活跃, 并且有规律地发布更新版本。

IPFILTER 提供了内核模式的防火墙和 NAT 机制, 这些机制可以通过用户模式运行的接口程序进行监视和控制。 防火墙规则可以使用 ipf(8)
工具来动态地设置和删除。 NAT 规则可以通过 ipnat(1) 工具来维护。 ipfstat(8) 工具则可以用来显示 IPFILTER
内核部分的统计数据。 最后, 使用 ipmon(8) 程序可以把 IPFILTER 的动作记录到系统日志文件中。

IPF 最初是使用一组 “以最后匹配的规则为准” 的策略来实现的, 这种方式只能支持无状态的规则。 随着时代的进步, IPF 被逐渐增强, 并加入了
“quick” 选项, 以及支持状态的 “keep state” 选项, 这使得规则处理逻辑变得更富有现代气息。 IPF
的官方文档介绍了传统的规则编写方法和文件处理逻辑。 新增的功能只是作为一些附加的选项出现, 如果能完全理解这些功能, 则对于建立更安全的防火墙就很有好处。

这一节中主要是针对 “quick” 选项, 以及支持状态的 “keep state” 选项的介绍。 这是包容式防火墙规则集最基本的编写要素。

包容式防火墙只允许与规则匹配的包通过。 这样, 您就既能够控制来自防火墙后面的机器请求 Internet 公网上的那些服务, 同时也可以控制来自
Internet 的请求能够访问内部网上的哪些服务。 所有其它的访问请求都会被阻止, 并记录下来。 包容式防火墙一般而言要远比排斥式的要安全,
而且也只需要定义允许哪些访问通过。