在防火墙构建器中使用网络,地址范围对象和地址组对象

在Firewall Builder中使用网络,地址范围对象和地址对象组

作者:vadim@fwbuilder.org
http://www.fwbuilder.org

本文继续关于Fireall Builder的一系列文章,一个支持许多开源防火墙平台以及Cisco IOS访问列表和Cisco ASA(PIX)的图形化防火墙配置和管理工具。 防火墙生成器早期在此站点上引入, 使用 防火墙生成器入门,在防火墙生成器使用内置版本控制,在防火墙生成器使用内置策略安装程序在防火墙生成器使用防火墙对象 。 本文演示如何使用防火墙构建器中的对象的 网络地址范围

有关Firewall Builder,预构建的二进制包和源代码,文档和Firewall Builder Cookbook的更多信息 ,请访问项目网站www.fwbuilder.org 。 观看项目博客 ,了解使用Firewall Builder的所有方面的公告和文章。

网络,地址范围对象和地址组对象

IPv4网络对象

网络对象描述IP网络或子网。 使用主菜单“网络对象/新建网络”项来创建此类型的对象。 网络对象的对话框提供以下输入字段:

  • 名称 - 网络对象名称
  • 地址 - 这是网络的IPv4地址。
  • 网络掩码 - 网络掩码与地址组合,可以清除子网。 您可以在这里输入掩码的字符串八位字节表示或其位长度,但是程序总是将其转换为八位字节表示。 网络对象中的网络掩码始终以“自然”的方式输入,例如“255.255.255.0”,即使该对象将用于构建需要反向“位掩码”表示的Cisco IOS访问列表(例如“ 0.0.0.255“为上面的网络掩码)。 Firewall Builder策略编译器自动处理转换。
  • 评论 - 这是一个用于评论的自由格式的文本字段。

我们尝试使用上面截图所示的Network对象,为不同目标平台编译的防火墙策略规则。

这是我们得到的iptables:

$IPTABLES -A FORWARD -p tcp -m tcp -s 172.16.22.0/24 --dport 80 -m state --state NEW -j ACCEPT

这是PF产生的输出:

pass in quick inet proto tcp from 172.16.22.0/24 to any port 80 keep state
pass out quick inet proto tcp from 172.16.22.0/24 to any port 80 keep state

以下是将规则编译为Cisco IOS访问列表(这是生成的访问列表之一)时的输出情况:

ip access-list extended outside_out
permit tcp 172.16.22.0 0.0.0.255 any eq 80
exit

当将规则编译到Cisco ASA(PIX)配置中时,我们将获得这些信息。 注意编译器如何使用网络掩码255.255.255.0作为PIX,而对于IOS则将其转换为0.0.0.255。 另外, 内部的接口与网络区域172.16.0.0/12配合 ,它与规则的源元素中使用的网络对象进行匹配,因为该编译器将规则只放到附加到接口内部的访问列表中。

access-list inside_acl_in permit tcp 172.16.22.0 255.255.255.0 any eq 80 
access-group inside_acl_in in interface inside

IPv6网络对象

网络对象描述IPv6网络或子网。 此对象非常类似于IPv4网络对象,除了您只能输入一个位长度的网络掩码。 使用主菜单“网络对象/新建网络IPv6”项来创建此类型的对象。

如果我们在策略规则中使用IPv6网络对象,如屏幕截图所示,我们可以看到如下:

这是为iptables生成的命令:

$IP6TABLES -A FORWARD -p tcp -m tcp -s 2001:470:1f0e:162::/64 --dport 80 -m state --state NEW -j ACCEPT

这是我们得到的PF:

pass in quick inet6 proto tcp from 2001:470:1f0e:162::/64 to any port 80 keep state
pass out quick inet6 proto tcp from 2001:470:1f0e:162::/64 to any port 80 keep state

以下是Cisco IOS访问列表的输出(仅显示一个ACL):

ipv6 access-list ipv6_outside_out
permit tcp 2001:470:1f0e:162::/64 any eq 80
exit

interface eth0
ipv6 traffic-filter ipv6_outside_out out
exit

目前,在fwbuilder中没有支持Cisco ASA(PIX)的IPv6。

地址范围对象

地址范围对象描述了IPv4地址的连续范围。 (IPv6不支持任意地址范围。)要创建新的地址范围对象,请使用主菜单“新建对象/新建地址范围” 。 其对话框提供以下输入字段:

  • 名称 - 地址范围对象的名称
  • 范围开始 - 范围开始的地址
  • 范围结束 - 范围结束的地址
  • 评论 - 用于评论的自由格式的文本字段

地址范围是包含的,也就是说,起始和结束地址都包含在范围内。

当规则中使用地址范围对象时,防火墙生成器将其替换为等于指定范围的地址列表。 该程序尝试使用不同长度的子网的组合来生成最经济的范围表示。 考虑地址范围对象,如上图截图所示。 此地址范围对象表示192.168.1.100192.168.1.160 (包括)之间的IP地址。 生成61个iptables命令来表示此范围将是浪费的。 相反,编译器使用不同长度的几个子网的组合,最终结果如下:

$IPTABLES -A FORWARD -s 192.168.1.100/30 -m state --state NEW -j ACCEPT 
$IPTABLES -A FORWARD -s 192.168.1.104/29 -m state --state NEW -j ACCEPT
$IPTABLES -A FORWARD -s 192.168.1.112/28 -m state --state NEW -j ACCEPT
$IPTABLES -A FORWARD -s 192.168.1.128/27 -m state --state NEW -j ACCEPT
$IPTABLES -A FORWARD -s 192.168.1.160 -m state --state NEW -j ACCEPT

以下是PF的生成配置如何(这基本上是相同的,除了为简洁起见使用表):

table <tbl.r0.s> { 192.168.1.100/30 , 192.168.1.104/29 , 192.168.1.112/28 , 192.168.1.128/27 , 192.168.1.160 } 

pass in quick inet from <tbl.r0.s> to any keep state

只是为了完整性,让我们看看为Cisco IOS访问列表生成的相同规则的配置。 这真的是生成路由器访问列表配置的一个片段,因为激活的ACL被附加到接口,并且由于该示例中的规则与任何接口没有关联,所以它被附加到所有的接口。 这里我们只显示一个生成的ACL:

ip access-list extended inside_in
!
! Rule 0 (global)
!
!
permit ip 192.168.1.100 0.0.0.3 any
permit ip 192.168.1.104 0.0.0.7 any
permit ip 192.168.1.112 0.0.0.15 any
permit ip 192.168.1.128 0.0.0.31 any
permit ip host 192.168.1.160 any
exit

一组可寻址对象

对象组包含主机,网络,地址范围,防火墙和其他可寻址对象组的引用。 使用主菜单“New Obejct / New Obejct Group”来创建这种类型的新对象。 可以使用以下方法将对象添加到组中:

  • 使用拖放 - 可将对象从树中拖入组对话框。 树上单击鼠标就会切换到对象,但是鼠标光标指向对象,然后按按钮不会切换,而是允许开始拖放操作。
  • 使用弹出菜单 - 您可以使用树和组对话框之间的复制/粘贴操作。 右键单击树中的对象会弹出一个菜单。 在此菜单中选择复制或剪切,然后切换到组对话框,然后在图标字段中单击鼠标右键。 这也会弹出一个弹出菜单,您可以在其中选择粘贴。 这将插入组中对象的引用。
  • 使用编辑主菜单 - 就像在弹出菜单的情况下,选择树中的对象,使用编辑/复制对象,然后切换到组对话框,并使用编辑/粘贴对象主菜单。
赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏