CSDN博客

img hem

包过滤规则配置示例

发表于2001/6/7 15:08:00  1649人阅读

分类: linux

 

包过滤规则配置示例

在东方龙马防火墙用户手册中第七章包过滤技术中,我们对包过滤规则中的各个参数进行了介绍,由于包过滤规则作为防火墙控制内外访问的一项重要依据,所以定制包过滤规则成为防火墙中比较关键的一个环节,下面对包过滤规则的各种配置情况做示例说明。

定制包过滤规则根据不同的需要会有很多种不同的情况,各条规则有其相似的地方,又有其特殊的不同,所以定制规则的方法,可以从大同中求小异,是不难掌握的。

本节将定制规则的各种情况进行归类,根据规则对数据包采取的操作可分成三种不同的配置情况,分别为:接受(Accept)、拒绝(Deny)和重定向(Divert)。下面将提供这三种配置举例:

配置接受(Accept)数据包的规则示例

接受数据包(即允许数据包通过)是定制规则时对数据包的一种处理操作。因为规则中默认规则是要求防火墙拒绝数据包的请求,如果需要对数据包采取接受的操作,必须对其进行规则设定,否则将会使用默认规则即拒绝传送该数据包。

这里同样采用用户手册中提到的图2-2网络规划配置拓扑示例图进行举例,如图7-8所示。定制规则来接受数据包,在实际应用中有很多这样的情况,例如:

  1. 允许网络中的某台主机(192.168.1.2)使用FTP访问另一网段中的主机(192.168.112.8)。

  2. 1,使用其他端口进行访问,如HTTPPOP3TelnetSMTP

  3. 允许网络中的一个网段(192.168.1.0)中的任意主机Telnet到主机(192.168.2.2)上。

 7-8 网络规划配置示例图

定制规则

我们将如上示例分别进行规则的定制,定制过程如下:

  1. 示例1中,定制规则时将需求翻译为:192.168.112.8 21端口接受来自192.168.1.2的数据包请求。其访问过程如图7-8中的箭头所示,这个过程是分为大致两个步骤:由主机192.168.1.2发送的数据包穿过防火墙;穿过防火墙的数据包发送到主机192.168.112.821端口。这两个步骤则需要两条规则,下面将分别进行说明:

    1. 首先在东方龙马防火墙的配置管理主界面导航目录中双击“包过滤”图标下的“规则设置”项,弹出“包过滤规则设置”窗口,如图7-1,在窗口中点击‘添加’按钮,将弹出如图7-2所示的添加规则控制块窗口。

    图7-1 规则设置窗口

    图7-2 添加规则控制块

    • 在添加控制块窗口中填写名称,尽量可读性好,可以定义为192.168.1.2 to192.168.112.8

    • 填写对名称的描述:可以为allow 192.168.1.2 access 192.168.112.8.

    • 填写规则使用的协议,为TCP协议。

    • 这样添加窗口中的内容如图7-9所示。

7-9 添加规则控制块示例-A

      B.添加由192.168.1.2发送的数据包穿过防火墙的规则。

      在如图7-9窗口中单击其中的‘添加’按钮,则弹出如图7-3所示的窗口用来添加规则中各项详细的属性,填写其中的项:

      图7-3 添加规则中的详细属性

    • 名称,定义此条规则的名称,可以为inbound,表示数据包进入防火墙。

    • 描述,对规则更详细的名称描述,可以定义为ip packet inbound firewall

    • 源地址、源地址掩码:数据包是由192.168.1.2地址发送的,所以此处192.168.1.2的地址作为源地址,因为是标识一台主机,所以其地址掩码为255.255.255.255

    • 源端口:源端主机可以使用任何端口访问目的主机的21端口,所以这里填写任意端口,用0表示。

    • 源端口操作:选择!=(不等于),与源端口配合,表示任意不等于0的端口。

    • 目的地址与目的地址掩码:尽管此条规则表明数据包是到达防火墙的过程,但其最终的目的地址为192.168.112.8,所以目的地址应该填写192.168.112.8,地址掩码仍然用255.255.255.255用来表示是一台主机。

    • 目的端口:规则中已详细说明,此规则描述了访问目的地址192.168.112.8FTP端口,所以应该填写21

    • 目的端口操作:它与目的端口共同限制端口,因为这里使用的端口明确,FTP端口是确定的,为‘=21’,所以这里源端口操作的运算符是‘=’。

    • 接口名:如图7-8的箭头所示,此规则定义的步骤数据包是通过网络接口卡eth1的,所以这里填写eth1

    • 网卡安全标志:此项参数和接口名相匹配,指明网卡的安全标识,因为eth1处于安全网卡中的LAN区域,所以这里填写LAN

    • 路由设定:数据包是穿过防火墙,而不是只发送到防火墙,防火墙这时起到路由的作用,所以选择Route

    • 方向:数据包传送到防火墙,其方向是进入防火墙,所以为Inbound

    • 隧道标识:可以不填。
    • 记录日志:选择记录日志,这里从下拉菜单中选中Yes即可。

    • 源路由:选择reject,拒绝数据包选择源路由。这是系统默认的参数,建议使用。

    • 允许片报:选择Frag_no,同样是系统默认值。

    • 操作:选择接受(Accept),即允许符合上述个条件的数据包通过。

    • 重定向端口:因为选择了Accept的操作,所以不需要重新定向端口,所以这个参数将变灰而不起作用。

    • 全部参数定义完成,如下图7-10所示。

7-10 配置包过滤规则的各项参数示例-B

单击‘确定’按钮,则一条规则添加成功。将会弹出如图7-11所示窗口,可以发现此窗口同7-9相似,只是在规则中添加了一条新的规则,其名称为inbound

7-11 规则控制块中添加一条新规则

通过此规则详细说明了数据包的传送过程和限制:允许来自192.168.1.2主机的数据包通过LAN区域的安全网卡eth1穿过防火墙访问192.168.112.8主机21端口。

    C. 添加穿过防火墙的数据包发送到192.168.112.8主机21端口的规则。添加了从192.168.1.2穿过防火墙的规则后,会回到图7-11的窗口界面,继续单击窗口中的‘添加’按钮,则弹出如图7-3的窗口添加穿过防火墙的数据包继续发送至主机192.168.112.821端口的规则。在窗口界面中填写下面的项:

    • 名称,定义此条规则的名称,可以为outbound,表示数据包从防火墙发送出来。

    • 描述,对规则更详细的名称描述,可以定义为ip packet outbound firewall

    • 源地址、源地址掩码:这里请注意,尽管数据包是穿过防火墙,从防火墙发送出来,但数据包是由192.168.1.2地址最初发送的,所以此处192.168.1.2的地址仍作为源地址,所以其地址掩码仍为255.255.255.255

    • 源端口:仍然为任意端口,用0表示。

    • 源端口操作:仍然选择!=(不等于),与源端口配合,表示任意不等于0的端口。

    • 目的地址与目的地址掩码:最终的目的地址为192.168.112.8,所以应该目的地址应该填写192.168.112.8,地址掩码仍然用255.255.255.255用来表示是一台主机。

    • 目的端口:端口不变,应该填写21

    • 目的端口操作:同样为‘=21’,所以这里目的端口操作的运算符是‘=’。

    • 接口名:如图7-8的箭头所示,此条规则定义的步骤是数据包穿过防火墙后,由防火墙将数据包发送到目的地,其经过的网络接口卡为eth0,所以这里填写eth0

    • 网卡安全标志:同样此项参数和接口名相匹配,指明网卡的安全标识,因为eth0属于非安全网卡,所以这里填写Unsec

    • 路由设定:数据包是由防火墙发出,通过防火墙主机传送数据包,并且要传送到其他主机,其目的地为远端,所以选择Route

    • 方向:数据包从防火墙传送到外部网络,其方向是由防火墙流出,所以为Outbound

    • 隧道标识:仍然可以不填,留做VPN使用。

    • 记录日志:选择记录日志,这里从下拉菜单中选中Yes即可。

    • 源路由:选择reject,拒绝数据包选择源路由。这是系统默认的参数,建议使用。

    • 允许片报:选择Frag_no,同样是系统默认值。

    • 操作:选择接受(Accept),即允许符合上述个条件的数据包通过。

    • 重定向端口:因为选择了Accept的操作,所以不需要重新定向端口,所以这个参数将变灰而不起作用。

    • 全部参数定义完成,如下图7-12所示。

7-12 配置包过滤规则的各项参数示例-C

单击‘确定’按钮,则一条规则添加成功。将会弹出如图7-13所示窗口,可以发现此窗口比图7-11,在规则中又多了一条新规则,名称为outbound 

7-13 规则控制块中新添加两条规则

小结:单击图7-13窗口中的‘确定’按钮,即完成示例1中的规则定制(名称为192.168.1.2 to 192.168.112.8):允许网络中192.168.1.2主机访问另一网段中的192.168.112.8主机的FTP端口。因为定制规则分为两个步骤,所以规则包含有两条子规则(分别为inboundoutbound)。

2.定制示例2中的规则,示例2与示例1所不同的只有使用的端口不同,所以制定规则的步骤同定制步骤1大致相同,只需要将对应的端口分别改为各自的端口号即可。相应的端口为:

    HTTP 80

    POP3 110

    Telnet 23

    SMTP 25

3.如示例3中,如果要使一个网段Telnet到某台主机,定制规则的过程同定制步骤1大致相同,只是将源地址变为此网段的地址,地址192.168.1.0,地址掩码255.255.255.0就代表了一个网段;而目的地址为192.168.2.2,表示一台主机,地址掩码为255.255.255.255,并使用相应的Telnet端口。则添加的规则如图7-14所示。

7-14 示例3规则中的各项属性-B

与定制规则步骤1中相同,定制此规则同样需要在一条规则详细定制两条子规则控制块,则还需要添加另一条子控制块中的各项属性。其中,仍然是将源地址变为此网段的地址,地址192.168.1.0地址掩码255.255.255.0代表着这个网段;目的地址仍然为192.168.2.2,表示一台主机,地址掩码为255.255.255.255,并使用相应的Telnet端口;此子控制块用来限制从防火墙到DMZ区域的访问,经过的网卡为eth2,并且安全标识为安全网络中的DMZ区域,所以这几项与前面介绍步骤C中的各属性不同。各项属性如图7-15所示。

7-15 示例3规则中的各项属性-C

以上对配置接受数据包的操作规则作出简单介绍,所举示例比较有限,但通过示例可以看出,根据实际所需,弄清各项参数的含义,定制各种类型的规则是不难的,如果还有疑问,我们在下面将继续对规则的各种类型进行举例。

配置拒绝(Deny)数据包的规则示例

通常,防火墙规则中的默认规则就是对数据包采取拒绝的处理操作,拒绝的过程是这样的:包过滤在对数据包进行过滤时,将数据包中的信息与规则列表中的每一条规则进行比较,如果比较得到的信息与规则表中其中任意一条相符合,即防火墙会按照包过滤中定义好的内容接受、拒绝数据包的通过或者重定向到其他端口,采取这三种操作的哪一种会严格按照规则中的规则要求进行处理。那么如果查询到没有一条规则符合,防火墙将使用默认规则拒绝对数据包的处理。

正因为防火墙会使用默认规则拒绝接受数据包,有人也许会认为规则中就不需要特殊定制拒绝数据包的操作了。其实不然,对于特殊的拒绝规则,我们仍然需要定制。因为按照前面所讲的,当防火墙使用默认规则拒绝对数据包进行处理时,已经依次使用过前面定制好的规则,在这些规则中,可能就会有符合数据包中的某些信息的规则,而依据规则可以对此数据包进行处理,这些处理可能会是接受或是重定向到其他端口,这样实际上,数据包没有被拒绝而是被接受了。这可能就会给系统带来不安全隐患。

这也是我们在包过滤的特点中提到的包过滤的次序是相当关键的。所以制定拒绝对数据包处理的包过滤规则也很重要,而且对于拒绝数据包的规则是比较特殊的,应该把其放在接受、重定向这些不特殊规则的前面。

需求示例

拒绝对数据包处理的情况有很多种。例如:

外部非安全网络不允许访问内部安全网络LAN。翻译成规则即为:LAN网段(192.168.1.0)拒绝来自外部网络(0.0.0.0因为外部网络地址是不定的,多样的,用0.0.0.0可以代表任意)。

定制规则

下面将对需求示例中的例子制定相应规则。

示例中,请注意其访问的过程与图7-8的箭头正好相反。过程同样分为两步,以下详细进行说明:

  1. 首先在东方龙马防火墙的配置管理主界面导航目录中双击“包过滤”图标下的“规则设置”项,弹出“包过滤规则设置”窗口,如图7-1所示,在窗口中点击‘添加’按钮,将弹出如图7-2所示的添加规则控制块窗口。

    • 在添加控制块窗口中填写名称,尽量可读性好,可以定义为Deny WAN

    • 填写对名称的描述:可以为Deny wan to access 192.168.1.0.

    • 填写规则使用的协议,为TCP协议。

    • 这样添加窗口中的内容如图7-16所示。

7-16 添加规则控制块示例-A

B.添加由外部网络来的数据包穿过防火墙的规则。

在如图7-16窗口中单击其中的‘添加’按钮,则弹出如图7-3所示的窗口用来添加规则中各项详细的属性,填写其中的项:

    • 名称,定义此条规则的名称,可以为inbound

    • 描述,对规则更详细的名称描述,可以定义为ip packet inbound firewall

    • 源地址、源地址掩码:数据包是由外部网络发送的,所以此处用0.0.0.0作为源地址,其地址掩码也为0.0.0.0

    • 源端口:因为源地址为任意,这里源端口也为任意端口,用0表示。

    • 源端口操作:选择!=(不等于),与源端口配合,表示任意不等于0的端口。

    • 目的地址与目的地址掩码:此规则最终的目的地址为网段192.168.1.0,所以应该目的地址应该填写192.168.1.0,地址掩码用255.255.255.0用来表示是一个网段。

    • 目的端口:因为外部网络访问LAN,可以访问其任意端口,所以目的端口为任意端口,用0表示。

    • 目的端口操作:选择!=(不等于),与目的端口配合,表示任意不等于0的端口。

    • 接口名:此子规则定义的步骤数据包是通过非安全网络接口卡eth0访问防火墙的,所以这里填写eth0

    • 网卡安全标志:eth0是非安全网卡,所以其安全标识为Unsec

    • 路由设定:数据包穿过防火墙,而不是只发送到防火墙,防火墙这时起到路由的作用,所以选择Route

    • 方向:数据包传送到防火墙,其方向是进入防火墙,所以为Inbound

    • 隧道标识:可以不填。

    • 记录日志:选择记录日志,这里从下拉菜单中选中Yes即可。

    • 源路由:选择reject,拒绝数据包选择源路由。这是系统默认的参数,建议使用。

    • 允许片报:选择Frag_no,同样是系统默认值。

    • 操作:选择拒绝(Deny),即拒绝符合上述个条件的数据包通过。

    • 重定向端口:因为选择了Deny的操作,所以不需要重定向端口,所以这个参数将变灰而不起作用。

    • 全部参数定义完成,如下图7-17所示。

7-17 配置包过滤规则的各项参数示例-B

    • 单击‘确定’按钮,则一条规则添加成功。将会弹出如图7-18所示窗口,在规则中添加了一条新的规则,其名称为inbound

7-18 规则控制块中添加一条新规则

此规则详细说明了数据包的传送过程和限制:拒绝任意地址0.0.0.0的数据包通过非安全网卡eth0穿过防火墙访问192.168.1.0网段。

添加完上述规则,定制拒绝来自外部网络访问的规则就已经完成,因为防火墙会根据这条规则将所有来自外网的地址而目的地址为内部网络LAN的数据包拦截,而根本不会再让数据包继续通过其他网卡,如eth1。所以下面的步骤C可以不需要再继续添加,但也无妨,可以保证包过滤更加安全。

C. 在如图7-18的窗口界面,单击窗口中的‘添加’按钮继续添加子控制块,则弹出如图7-3的窗口。在窗口界面中填写下面的项:

    • 名称,定义此条规则的名称,可以为outbound

    • 描述,对规则更详细的名称描述,可以定义为ip packet outbound firewall

    • 源地址、源地址掩码:数据包是由外部网络发送的,所以此处用0.0.0.0作为源地址,其地址掩码也为0.0.0.0

    • 源端口:因为源地址为任意,这里源端口也为任意端口,用0表示。

    • 源端口操作:选择!=(不等于),与源端口配合,表示任意不等于0的端口。

    • 目的地址与目的地址掩码:此规则最终的目的地址为网段192.168.1.0,所以应该目的地址应该填写192.168.1.0,地址掩码用255.255.255.0用来表示是一个网段。

    • 目的端口:因为外部网络访问LAN,可以访问其任意端口,所以目的端口为任意端口,用0表示。

    • 目的端口操作:选择!=(不等于),与目的端口配合,表示任意不等于0的端口。

    • 接口名:此子规则定义的步骤数据包是通过安全网络接口卡eth1的,所以这里填写eth1

    • 网卡安全标志:eth1是安全网卡的LAN区域,所以其安全标识为LAN

    • 路由设定:数据包由防火墙发出,通过防火墙主机传送数据包,并且要传送到其他主机,其目的地为远端,所以选择Route

    • 方向:数据包从防火墙传送到LAN,其方向是由防火墙流出,所以为Outbound

    • 隧道标识:仍然可以不填,留做VPN使用。

    • 记录日志:选择记录日志,这里从下拉菜单中选中Yes即可。

    • 源路由:选择reject,拒绝数据包选择源路由。这是系统默认的参数,建议使用。

    • 允许片报:选择Frag_no,同样是系统默认值。

    • 操作:选择拒绝(Deny),即拒绝符合上述个条件的数据包通过。

    • 重定向端口:选择了Deny的操作,不需要重新定向端口,所以这个参数将变灰而不起作用。

    • 全部参数定义完成,如下图7-19所示。

7-19 配置包过滤规则的各项参数示例-C

    • 单击‘确定’按钮,则一条规则添加成功。将会弹出如图7-20所示窗口,名称为outbound

7-20 规则控制块中新添加两条规则

小结:单击图7-20窗口中的‘确定’按钮,即完成示例1中的规则定制(名称为Deny):拒绝外部网络任何主机访问网段192.168.1.0。因为定制规则分为两个步骤,所以规则包含有两条子规则(分别为inboundoutbound)。

上面对配置拒绝数据包的操作规则作出简单介绍。

配置重定向(Divert)数据包的规则示例

使用对数据包进行重定向,主要应用在代理中。东方龙马防火墙的设计规划中,特意在安全网络中设定DMZ(非军事化区)区域来隔离特定的服务器,可以在DMZ区域中放置各种服务器,如WWW服务器、FTP服务器、SMTP等各种服务器。这些服务器分别提供HTTPTelnetFTPSMTPPOP3代理服务,在使用这些服务时,只需指明重定向端口,数据包将根据此重定向端口继续进行传输和处理。

使用对数据包重定向,也同样需要对所有使用这些代理服务的主机定制规则。定制这样的规则即表明凡使用这些代理服务的主机或是网段防火墙将会重定向到相应的服务端口,由代理服务器进行访问。那么就需要依次定义HTTPTelnetFTPSMTPPOP3这些服务的规则。

定制规则

下面以定制HTTP服务为例,其使用的重定向端口同样为HTTP,定制规则过程如下:

A.首先在东方龙马防火墙的配置管理主界面导航目录中双击“包过滤”图标下的“规则设置”项,弹出“包过滤规则设置”窗口,如图7-1所示,在窗口中点击‘添加’按钮,将弹出如图7-2所示的添加规则控制块窗口。

    • 在添加控制块窗口中填写名称,尽量可读性好,可以定义为HTTP

    • 填写对名称的描述:可以为Allow all http traffic

    • 填写规则使用的协议,为TCP协议。

    • 这样添加窗口中的内容如图7-21所示。

7-21 添加规则控制块示例-A

B. 在如图7-21窗口中单击其中的‘添加’按钮,则弹出如图7-3所示的窗口用来添加规则中各项详细的属性,填写其中的项:

    • 名称,定义此条规则的名称,可以为inbound

    • 描述,对规则更详细的名称描述,可以定义为Allow inbound traffic

    • 源地址、源地址掩码:在网络拓扑结构中,内部网络(LAN)有使用HTTP代理服务的需要,因此内部网络的网段地址作为源地址,分别为192.168.1.0255.255.255.0

    • 源端口:这里源端口可为任意端口,用0表示。

    • 源端口操作:选择!=(不等于),与源端口配合,表示任意不等于0的端口。

    • 目的地址与目的地址掩码:此条规则是用作内部网络访问外部网络,即上网使用的,所以其外部网络的地址是不确定的,因此为0.0.0.0,地址掩码也为0.0.0.0

    • 目的端口:使用HTTP服务,只访问其特定端口,所以这里填写80

    • 目的端口操作:选择=(等于),与目的端口配合,表示等于80的端口。

    • 接口名:此子规则定义的步骤是通过安全网络接口卡eth1访问防火墙的,所以这里填写eth1

    • 网卡安全标志:eth1是安全网卡,所以其安全标识为LAN

    • 路由设定:数据包穿过防火墙,选择Route

    • 方向:数据包传送到防火墙,方向是进入防火墙,所以为Inbound

    • 隧道标识:可以不填。

    • 记录日志:选择记录日志,这里从下拉菜单中选中Yes即可。

    • 源路由:选择reject,拒绝数据包选择源路由。这是系统默认的参数,建议使用。

    • 允许片报:选择Frag_no,同样是系统默认值。

    • 操作:选择重定向(Divert),即将符合上述条件的数据包进行重定向。

    • 重定向端口:重定向端口应该与HTTP服务端口一直,所以这里选择HTTP

    • 全部参数定义完成,如下图7-22所示。

7-22 配置包过滤规则的各项参数示例-B

    • 单击‘确定’按钮,则一条规则添加成功。将会弹出如图7-23所示窗口,在规则中添加了一条新的规则,其名称为inbound

7-23 规则控制块中添加一条新规则

C.在如图7-23的窗口界面,单击窗口中的‘添加’按钮继续添加子控制块,则弹出如图7-3的窗口。在窗口界面中填写下面的项:

    • 名称,可以为outbound

    • 描述,可以定义为allow outbound traffic

    • 源地址、源地址掩码:同样分别为192.168.1.0255.255.255.0

    • 源端口:可为任意端口,用0表示。

    • 源端口操作:选择!=(不等于),与源端口配合,表示任意不等于0的端口。

    • 目的地址与目的地址掩码:外部网络的地址是不确定的,因此为0.0.0.0,地址掩码也为0.0.0.0

    • 目的端口:使用HTTP服务,只访问其特定端口,所以这里填写80

    • 目的端口操作:选择=(等于),与目的端口配合,表示等于80的端口。

    • 接口名:此子规则定义的步骤数据包是通过防火墙访问外部网络,经过的网络接口卡为eth0,所以这里填写eth0

    • 网卡安全标志:eth0是非安全网卡,所以其安全标识为Unsec

    • 路由设定:数据包由防火墙发出,通过防火墙主机传送数据包,并且要传送到其他主机,其目的地为远端,选择Route

    • 方向:数据包从防火墙传送到LAN,其方向是由防火墙流出,所以为Outbound

    • 隧道标识:仍然可以不填,留做VPN使用。

    • 记录日志:选择记录日志,这里从下拉菜单中选中Yes即可。

    • 源路由:选择reject,拒绝数据包选择源路由。这是系统默认的参数,建议使用。

    • 允许片报:选择Frag_no,同样是系统默认值。

    • 操作:选择重定向(Divert),即将符合上述条件的数据包进行重定向。

    • 重定向端口:重定向端口应该与HTTP服务端口一直,所以这里选择HTTP

    • 全部参数定义完成,如下图7-24所示。

7-24 配置包过滤规则的各项参数示例-C

    • 单击‘确定’按钮,则一条规则添加成功。将会弹出如图7-25所示窗口,名称为outbound

7-25 规则控制块中新添加两条规则

这样定义使用HTTP服务的规则添加完毕,与此相同,定制使用其他服务如FTPSMTPTelnet等服务的规则,只需将相应的端口与重定向的端口进行修改即可。待所有服务规则添加完成,内部网络LAN中的各个主机即可使用代理服务,通过规则的设定,防火墙会对这些代理服务进行严格的进出‘限制’。

配置示例总结

以上对配置包过滤规则进行了举例说明,所举示例未能详尽,但从各项参数进行分析,帮助用户理解各参数概念上的含义。总之,根据实际的要求,弄清各项参数的含义,分析出定义参数的内容,定制各种类型的规则是很简单方便的。

0 0

相关博文

我的热门文章

img
取 消
img