在Firewall Builder中使用主机对象
作者:vadim@fwbuilder.org http://www.fwbuilder.org |
本文继续关于Fireall Builder的一系列文章,一个支持许多开源防火墙平台以及Cisco IOS访问列表和Cisco ASA(PIX)的图形化防火墙配置和管理工具。 防火墙生成器早期在此站点上引入, 使用 防火墙生成器入门,在防火墙生成器中使用内置版本控制,在防火墙生成器中使用内置策略安装程序 , 在防火墙生成器中使用防火墙对象 。 本文演示如何在Firewall Builder中使用Host对象。
有关Firewall Builder,预构建的二进制包和源代码,文档和Firewall Builder Cookbook的更多信息 ,请访问项目网站www.fwbuilder.org 。 观看项目博客 ,了解使用Firewall Builder的所有方面的公告和文章。
主机对象
Firewall Builder中的主机对象旨在表示网络中的真实主机:工作站,服务器和任何其他具有地址的网络节点。 就像真正的主机一样,主机对象有接口,表示与网络的不同物理连接。 大多数互联网主机将只有一个(可见)接口,具有单个IP地址。 在这种情况下,实际的界面及其名称并不重要。 对于大多数外部主机,Firewall Builder将为主机接口分配一个任意名称“interface1”。 通过使用主机 - >接口 - >地址的树状层次结构,可能会在重要事件的情况下指定主机的确切地址和/或接口。 接口和地址由对象组成,它们被组织在树中。 接口对象位于主机下的树中,地址对象位于其接口下。 接口对象可以有一个或多个地址。 下面的截图显示了具有多个地址的接口的主机的示例。 主机“测试服务器”有三个虚拟IP地址都属于同一接口“eth0” 。
请注意,在Firewall Builder中,主机对象是一个抽象。 它不必符合个人主机。 这个主机对象实际上可以表示一个Web场,它接受三个IP地址上的连接,每个IP地址在不同的计算机上。
注意:主机对象不能与其关联的任何访问,NAT或路由策略; 只有防火墙对象可以拥有策略。
创建主机对象
为了加快流程并简化操作,创建新主机对象由向导辅助,该向导收集主机及其接口所需的所有数据,然后创建对象。 上面的截图代表了向导的第一页。
输入主机名。 一般来说,这个名字不一定与真正的主机名相同。 但是,如果要使用SNMP填充主机的接口,或者要使用DNS查找接口IP地址,则该名称必须匹配。
您可以通过选中向导第一页上的相应复选框,从模板创建新主机,也可以手动进行。 让我们看看手动过程。 为此,单击“下一步”按钮切换到可以输入界面及其地址的页面。
如果新的主机对象具有单个接口(这可能是最常见的情况),那么您只需要填写输入字段的地址,也可以填写MAC地址,然后单击下一步。 如果对象的名称与真实的主机名相同,则可以使用DNS查找按钮从DNS获取地址。
在这里,您可以将接口添加到新的主机对象。 在相应的字段中输入接口名称,地址和网络掩码,然后单击“添加”将其添加到列表中。 (如果界面是动态的或未编号的,请单击相应的复选框,而不是输入地址信息。) “更新”按钮更新列表中选择的接口的信息, “删除”按钮将删除当前选定的界面。
此方法仅适用于IPv4地址。 如果需要添加IPv6地址,请保存没有IPv6地址的主机对象,然后将IPv6地址添加到接口。
注意:您可以随时使用主窗口和对象树视图提供的控件添加,修改和删除新主机对象的接口。
编辑主机对象
主机对话框允许您编辑以下参数:
- 名称 - 主机对象名称。
- MAC匹配 - 如果激活此选项,策略编译器将使用该主机的所有接口的MAC地址。 不是所有?rewall平台支持MAC地址过滤,所以这个选项可能对生成的重定向脚本没有影响。 这被视为非关键情况,策略编译器只会在处理使用此类主机的防火墙策略时生成警告。
- 评论 - 这是一个自由格式的文本,可以用来添加评论。
在规则中使用主机对象
当主机对象在规则中使用时,它作为一组其所有地址,也就是属于其所有接口的地址。 唯一的例外是环回接口; 编译器在使用其地址替换Host对象时跳过其地址。
考虑下面的Host对象。 它具有接口eth0 ,两个IP地址和一个MAC地址,接口he-ipv6具有IPv6地址和MAC地址,接口lo (环回)具有自己的IP地址和接口sit0 (tunnel),没有地址。
让这个主机对象放在一个规则中,如下所示:
规则集被配置为“仅IPv4”,所以即使接口he-ipv6具有IPv6地址,fwbuilder也将忽略它,同时为此规则生成iptables命令。 接口eth0有两个IPv4地址,两者都将被使用。 这里是为此规则生成的iptables命令:
$IPTABLES -A FORWARD -p tcp -m tcp --dport 22 -m state --state NEW -j Cid6066X5981.1
$IPTABLES -A Cid6066X5981.1 -d 10.3.14.44 -j ACCEPT
$IPTABLES -A Cid6066X5981.1 -d 10.3.14.55 -j ACCEPT
$IPTABLES -A Cid6066X5981.1 -d -j ACCEPT
如果我们将规则集对象配置为“IPv4 + IPv6”,我们来看看我们获得的相同规则:
由于规则现在配置为为两个地址族进行编译,所以fwbuilder处理它两次,每次只使用与地址族匹配的主机地址。 这是我们得到的(这些是生成的脚本的相关片段):
# ================ IPv4
$IPTABLES -A FORWARD -p tcp -m tcp --dport 22 -m state --state NEW -j Cid6066X5981.1
$IPTABLES -A Cid6066X5981.1 -d 10.3.14.44 -j ACCEPT
$IPTABLES -A Cid6066X5981.1 -d 10.3.14.55 -j ACCEPT
$IPTABLES -A Cid6066X5981.1 -d -j ACCEPT
# ================ IPv6
$IP6TABLES -A FORWARD -p tcp -m tcp --dport 22 -m state --state NEW -j Cid6066X5981.1
$IP6TABLES -A Cid6066X5981.1 -d fe80::a3:e2c -j ACCEPT