好的,所以这个项目被称为哨兵*防火墙* CD。那么防火墙在哪里呢?需要注意的是,这个系统的功能远不止标准的启动软盘或 CD 防火墙。事实上,它是一个相当完整的 CD 上的 Linux 系统,与任何 Linux 系统一样,“防火墙”是使用脚本和各种用户空间实用程序(如 ipchains 或 iptables)设置的。
IPChains 或 IPTables 防火墙脚本通常采用 shell 脚本的形式,这些脚本由用户自定义并在启动时运行。如果您已经有防火墙的规则集,只需编辑 "sentry.conf" 文件中的 "rc.firewall" 指令,将其指向您的软盘上或远程 HTTP(S)/FTP/SCP/SFTP 服务器上的防火墙脚本,如上所述。防火墙将在启动时运行。
FWBuilder(http://www.FWBuilder.org/) 是一个防火墙配置和管理系统。此应用程序的优点是它提供了一个图形用户界面,用于在使用各种实用程序的各种平台上开发和修改防火墙规则集。使用 FWBuilder 创建的防火墙规则集与哨兵防火墙 CD 以及几乎任何 Linux 防火墙完全兼容。
与大多数 Linux 防火墙一样,哨兵防火墙 CD 上没有 X11 二进制文件或库,因此您需要在单独的工作站上使用 fwbuilder 开发防火墙规则集,然后将规则集上传到网络上的各种防火墙/路由器/节点。以下是在哨兵 CD 上运行新 fwbuilder 规则集所需的基本步骤
请注意,每次更新防火墙脚本时,不必重新启动哨兵防火墙 CD。您可以简单地将新脚本上传到哨兵防火墙并运行它。但请确保将脚本的最终草稿复制到配置软盘,以便在启动时运行。
从 1.5.0-rc3 版本开始,Webmin(http://www.webmin.com/) 在 CD 上可用。在 webmin 提供的许多其他默认模块中 - 并非所有模块都经过全面测试 - Webmin 包括两个用于生成和管理防火墙设置的模块。这些模块位于 webmin 界面的“网络”部分。在此部分中,您将看到“Linux 防火墙”和“Shorewall 防火墙”模块,您可以任选其一使用。
Webmin 的添加还增加了四个新的配置指令 -
start_webmin = <enable | disable> ## enable|disable webmin. Default == disable. webmin_config = <path/to/config> ## Main webmin config(/etc/webmin/config). miniserv.conf = <path/to/miniserv.conf> ## Config file for webmin http(s) daemon. miniserv.pem = <path/to/miniserv.pem> ## SSL cert for webmin http(s) daemon. ## An SSL cert will be created by rc.webmin if ## one is not specified. miniserv.users = <path/to/miniserv.users> ## Password file used for webmin. ## Default user:pass is sentry:SENTRY. ## NOTE: If this file is not replaced webmin ## will NOT start!
注意: 这些 Web 界面工具所做的修改当然不是永久性的。任何更改的文件都需要放置在软盘上或远程服务器上,并在您的 sentry.conf 文件中声明,如前面的章节所述。
许多这些 Web 界面工具不仅仅生成防火墙脚本,而是设置防火墙并使用 'iptables-save' 和 'iptables-restore' 实用程序来转储和加载防火墙。由 'iptables-save' 创建的文件必须使用 'iptables-restore' 加载,它不能像 shell 脚本一样运行。默认情况下,此文件放置在 "/etc/rc.d/rc.firewall.save" 中。一旦您将防火墙配置到您喜欢的状态,您将需要将 rc.firewall.save 文件放置在软盘或远程服务器上,并使用 sentry.conf 文件中的 "rc.firewall.save" 指令声明其位置。对于 sentrycd 和 sentyrcd-devel 分支,rc.firewall 和 rc.firewall.save 文件通常在启动时从 rc.inet2 自动运行。
从 1.5.0-rc3 版本开始,Shorewall(http://www.shorewall.net/) 防火墙脚本在哨兵防火墙 CD 上可用。Webmin 还附带一个模块来配置和设置 Shorewall,尽管 Shorewall 也可以手动配置。Shorewall 使用位于 /etc/shorewall 中的多个配置文件。sentry.conf 文件识别 "shorewall.conf" 配置指令,但如果 /etc/shorewall 中的任何其他配置文件需要替换,您将需要使用 "|=" 配置指令手动执行此操作。
示例防火墙脚本可以在 CD 上的 /SENTRY/scripts/firewall 目录中找到。这些只是我在 Internet 上找到的一些防火墙脚本,并放在这里供您方便使用。如果您在 google 或 freshmeat.net 上搜索,您可能会很容易找到其他几个。
我还将 "Easy Firewall Generator" (http://easyfwgen.morizot.net/) 和 "IPTables Script Generator" (http://iptables.linux.dk/) 添加到 CD 中。这些是 PHP 脚本,可以帮助您为哨兵防火墙 CD 系统创建规则集。为了查看这些脚本,您需要在正在运行的哨兵防火墙 CD 系统上启动 Apache Web 服务器,然后将浏览器指向哨兵防火墙的 IP 地址。脚本应该在 "firewall" 目录中可用。
请注意,这些基于 Web 的脚本通常会为您生成脚本,但您仍然需要获取生成的脚本并将其放置在软盘上或远程服务器上,并编辑 sentry.conf 文件中的 "rc.firewall" 指令以指向您的新脚本。
Netfilter HOWTO
Netfilter FAQ
Netfilter 教程
如果还有其他您认为我应该添加到此部分的资源,请发送电子邮件至 Obsid@Sentry.net。