18-防火墙配置
本章节下载: 18-防火墙配置 (356.51 KB)
· 本文所指的路由器代表了一般意义下的路由器,以及运行了路由协议的无线控制器产品,为了提高可读性,在手册中的描述中将不另行说明。
· 本文涉及的包过滤防火墙和ASPF功能需要用户需要购买License,并完成注册之后才能使用,License可以通过购买特性软件授权书获得,授权书上提供了注册WIAA(Wireless Intelligent Application Aware,无线智能业务感知)特性需要使用的License授权码及特性功能说明。详细的操作流程,请参见《H3C无线控制产品License激活申请和注册操作指导》,添加License的相关配置请参见“基础配置指导”中的“License管理配置”。
防火墙一方面可以阻止来自因特网的、对受保护网络的未授权访问,另一方面允许内部网络用户对因特网进行Web访问或收发E-mail等。防火墙也可以作为一个访问因特网的权限控制关口,如允许组织内的特定主机可以访问因特网。现在,许多防火墙同时还具有一些其它特点,如进行身份鉴别、对信息进行安全(加密)处理等。
防火墙不单用于控制因特网连接,也可以用来在组织网络内部保护大型机和重要的资源(如数据)。对受保护数据的访问都必须经过防火墙的过滤,即使网络内部用户要访问受保护的数据,也要经过防火墙。
· 包过滤防火墙,即基于ACL(Access Control List,访问控制列表)的包过滤
· 状态防火墙,即ASPF(Application Specific Packet Filter,基于应用层状态的包过滤)
关于地址转换的详细介绍,请参见“安全配置指导”中的“NAT”,本章主要介绍包过滤防火墙和状态防火墙。
包过滤实现了对IP数据包的过滤。对设备需要转发的数据包,先获取其包头信息(包括IP层所承载的上层协议的协议号、数据包的源地址、目的地址、源端口和目的端口等),然后与设定的ACL规则进行比较,根据比较的结果对数据包进行相应的处理。
· 对于多通道的应用层协议(如FTP、H.323等),部分安全策略配置无法预知。
· 无法识别来自网络中伪造的ICMP差错报文,从而无法避免ICMP的恶意攻击。
· 对于TCP连接均要求其首报文为SYN报文,非SYN报文的TCP首包将被丢弃。在这种处理方式下,当设备首次加入网络时,网络中原有TCP连接的非首包在经过新加入的防火墙设备时均被丢弃,这会中断已有的连接。
因此,提出了状态防火墙——ASPF的概念。ASPF能够实现的检测有:
· 应用层协议检测,包括FTP、GTP、HTTP、SMTP、RTSP、SCCP、SIP、H.323(Q.931、H.245、RTP/RTCP)检测;
· 传输层协议检测,包括TCP和UDP检测,即通用TCP/UDP检测。
ASPF的主要功能如下:
· 能够检查应用层协议信息,如报文的协议类型和端口号等信息,并且监控基于连接的应用层协议状态。对于所有连接,每一个连接状态信息都将被ASPF维护,并用于动态地决定数据包是否被允许通过防火墙进入内部网络,以阻止恶意的入侵。
· 能够检测传输层协议信息(即通用TCP/UDP检测),能够根据源、目的地址及端口号决定TCP或UDP报文是否可以通过防火墙进入内部网络。
ASPF的其它功能有:
· ASPF能够根据连接的状态对报文进行过滤。
· 支持PAM(Port to Application Map,应用协议端口映射),允许用户自定义应用层协议使用非通用端口。
· 支持ICMP差错报文检测。正常ICMP差错报文中均携带有本报文对应连接的相关信息,根据这些信息可以匹配到相应的连接。如果匹配失败,则根据当前配置决定是否丢弃该ICMP报文。
· 支持TCP连接首包检测。对TCP连接的首报文进行检测,查看是否为SYN报文,如果不是SYN报文则根据当前配置决定是否丢弃该报文。
在网络边界,ASPF和包过滤防火墙协同工作,能够为企业内部网络提供更全面的、更符合实际需求的安全策略。
应用层协议使用通用的端口号进行通信,PAM允许用户对不同的应用定义一组新的端口号,并提供了一些机制来维护和使用用户定义的端口配置信息。
PAM支持两类映射机制:
· 通用端口映射:是将用户自定义端口号与应用层协议建立映射关系。例如:将8080端口映射为HTTP协议,这样所有目的端口是8080的TCP报文将被认为是HTTP报文。
· 主机端口映射:是对去往或来自某些特定主机的报文建立自定义端口号和应用协议的映射。例如:将目的地址为10.110.0.0/16网段的、使用8080端口的TCP报文映射为HTTP报文。主机的范围可由基本ACL指定。
· 单通道协议:从会话建立到删除的全过程中,只有一个通道参与数据交互,如SMTP、HTTP。
· 多通道协议:包含一个控制通道和若干其它控制或数据通道,即控制信息的交互和数据的传送是在不同的通道上完成的,如FTP、RTSP。
如果设备连接了内部网和互联网,并且设备要通过部署ASPF来保护内部网的服务器,则设备上与内部网连接的接口就是内部接口,与互联网相连的接口就是外部接口。
当ASPF应用于设备外部接口的出方向时,可以在防火墙上为内部网用户访问互联网的返回报文打开一个临时通道。
如图1-1所示,为了保护内部网络,一般情况下需要在路由器上配置访问控制列表,以允许内部网的主机访问外部网络,同时拒绝外部网络的主机访问内部网络。但访问控制列表会将用户发起连接后返回的报文过滤掉,导致连接无法正常建立。
ASPF的应用层协议检测功能由会话管理及ALG功能协作实现。ASPF将检测到的应用层会话的首报文与配置的策略进行匹配,匹配的结果交由会话管理用来建立会话信息数据库以及维护会话状态。之后,ASPF根据会话管理返回的会话状态信息决定后续报文的处理方式。
关于会话管理的具体介绍请参见“安全配置指导”中的“会话管理”,关于ALG功能的具体介绍请参见“安全配置指导”中的“ALG”。
这里的传输层协议检测是指通用TCP/UDP检测。通用TCP/UDP检测与应用层协议检测不同,是对报文的传输层信息进行的检测,如源、目的地址及端口号等。
通用TCP/UDP检测要求返回到ASPF外部接口的报文要与前面从ASPF外部接口发出去的报文完全匹配,即源、目的地址及端口号恰好对应,否则返回的报文将被阻塞。因此对于FTP、H.323这样的多通道应用层协议,在不配置应用层检测而直接配置TCP检测的情况下会导致数据连接无法建立。
· 配置包过滤防火墙的支持情况与设备的型号有关,请参见“配置指导导读”中的“特性差异情况”部分的介绍。
· 目前不支持在无线接口(WLAN-ESS接口)下配置IPv6包过滤防火墙。
· 目前不支持在User Profile上应用IPv6包过滤防火墙。
在User Profile上应用报文过滤功能 |
表1-2 启用IPv4防火墙功能
启用IPv4防火墙功能 |
缺省情况下,IPv4防火墙功能处于关闭状态 |
表1-3 启用IPv6防火墙功能
启用IPv6防火墙功能 |
缺省情况下,IPv6防火墙功能处于关闭状态 |
缺省过滤方式用来定义对访问控制列表以外数据包的处理方式,即在没有规则去判定用户数据包是否可以通过的时候,防火墙采取的策略是允许还是禁止该数据包通过。
表1-4 配置IPv4防火墙缺省过滤方式
配置IPv4防火墙缺省过滤方式 |
缺省情况下,IPv4防火墙缺省过滤方式为允许报文通过(permit) |
表1-5 配置IPv6防火墙缺省过滤方式
配置IPv6防火墙缺省过滤方式 |
缺省情况下,IPv6防火墙缺省过滤方式为允许报文通过(permit) |
一般采用在接口上应用访问控制列表来实现报文过滤功能。将ACL规则应用到接口时,同时会遵循时间段过滤原则,另外可以对接口收发报文分别指定ACL规则:
· 基本访问控制列表只根据三层的源地址信息制定规则,对数据包进行相应的分析处理;
· 高级访问控制列表可以使用数据包的源地址信息、目的地址信息、IP承载的协议类型、TCP或UDP的源端口、目的端口等内容定义规则。
表1-6 在接口上应用IPv4报文过滤功能
在接口上应用IPv4报文过滤功能 |
firewall packet-filter { acl-number | name acl-name } { inbound | outbound } |
缺省情况下,不对通过接口的IPv4报文进行过滤 |
在接口的一个方向上,仅可以应用一个ACL来进行报文过滤。
接口的IPv6报文过滤功能为用户提供了基于IPv6 ACL的基本防火墙功能,可通过配置该功能对接口的入方向或出方向上匹配特定IPv6 ACL规则的IPv6报文进行过滤。
表1-7 配置IPv6防火墙报文过滤
配置接口的IPv6报文过滤功能 |
firewall packet-filter ipv6 { acl6-number | name acl6-name } { inbound | outbound } |
缺省情况下,不对通过接口的IPv6报文进行过滤 |
在接口的一个方向上,一个方向上只能应用一个IPv6 ACL来进行报文过滤。
在User Profile上应用报文过滤功能用于实现基于用户的报文过滤功能。当用户认证成功后,若被授权下发了User Profile属性,且该User Profile上应用了报文过滤功能,则该用户上线后接收或者发送的报文将会受到报文过滤功能的控制,与该功能中指定的ACL相匹配的用户报文将被正常转发或阻止。
表1-8 在User Profile上应用IPv4报文过滤功能
在User Profile上应用IPv4报文过滤功能 |
firewall packet-filter { acl-number | name acl-name } { inbound | outbound } |
在User Profile视图下,一个方向上只能应用一个ACL来进行报文过滤。
在完成上述配置后,在任意视图下执行display命令可以显示配置后包过滤防火墙的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除包过滤防火墙的统计信息。
查看IPv4防火墙的过滤报文统计信息 |
|
查看IPv6防火墙的过滤报文统计信息 |
|
清除IPv4防火墙的过滤报文统计信息 |
|
清除IPv6防火墙的过滤报文统计信息 |
reset firewall ipv6 statistics { all | interface interface-type interface-number } |
· 某公司通过AC的接口Vlan-interface3访问Internet,AC与内部网通过接口Vlan-interface2连接;
· 公司内部对外提供WWW、FTP和Telnet服务:公司内部子网为129.1.1.0/24。其中,内部FTP服务器地址为129.1.1.1,内部Telnet服务器地址为129.1.1.2,内部WWW服务器地址为129.1.1.3;公司对外地址为20.1.1.1。在AC上配置了地址转换,这样公司内部主机可以访问Internet,公司外部主机可以访问公司内部的服务器;
· 通过配置防火墙,希望实现以下要求:外部网络只有特定用户可以访问内部服务器;内部网络只有特定主机可以访问外部网络。
· 假定外部特定用户的IP地址为20.3.3.3。
# 在AC上启用防火墙功能。
[AC] firewall enable
# 创建高级访问控制列表3001。
# 配置规则允许特定主机访问外部网,允许内部服务器访问外部网。
[AC-acl-adv-3001] rule permit ip source 129.1.1.1 0
[AC-acl-adv-3001] rule permit ip source 129.1.1.2 0
[AC-acl-adv-3001] rule permit ip source 129.1.1.3 0
[AC-acl-adv-3001] rule permit ip source 129.1.1.4 0
# 配置规则禁止所有IP包通过。
[AC-acl-adv-3001] rule deny ip
[AC-acl-adv-3001] quit
# 创建高级访问控制列表3002。
# 配置规则允许特定用户从外部网访问内部服务器。
[AC-acl-adv-3002] rule permit tcp source 20.3.3.3 0 destination 129.1.1.0 0.0.0.255
# 配置规则允许外部特定数据进入内部网络(只允许端口大于1024的包)。
[AC-acl-adv-3002] rule permit tcp destination 20.1.1.1 0 destination-port gt 1024
[AC-acl-adv-3002] rule deny ip
[AC-acl-adv-3002] quit
# 将ACL 3001作用于从接口Vlan-interface2进入的包。
[AC] interface vlan-interface 2
[AC-Vlan-interface2] firewall packet-filter 3001 inbound
[AC-Vlan-interface2] quit
# 将ACL 3002作用于从接口Vlan-interface3进入的包。
[AC] interface vlan-interface 3
[AC-Vlan-interface3] firewall packet-filter 3002 inbound
配置ASPF的支持情况与设备的型号有关,请参见“配置指导导读”中的“特性差异情况”部分的介绍。
表1-10 ASPF配置任务简介
配置ASPF策略 |
||
在User Profile上应用ASPF策略 |
||
启用IPv4防火墙功能 |
缺省情况下,IPv4防火墙功能处于关闭状态 |
创建ASPF策略,并进入ASPF策略视图 |
||
配置ICMP差错报文丢弃功能 |
缺省情况下,不丢弃ICMP差错报文 |
|
配置非SYN的TCP首报文丢弃功能 |
缺省情况下,不丢弃非SYN的TCP首报文 |
· 在未配置应用层检测,直接配置TCP或UDP检测的情况下,可能会产生部分报文无法返回的情况,故建议应用层检测和TCP/UDP检测配合使用。
· 对于Telnet应用,直接配置通用TCP检测即可实现ASPF功能。
对于ASPF策略,有两个概念:内部接口和外部接口。如果设备连接了内部网和互联网,并且设备要通过部署ASPF来保护内部网的服务器,则设备上与内部网连接的接口就是内部接口,与互联网相连的接口就是外部接口。当ASPF与包过滤防火墙协同工作,并应用于外部接口时,可以拒绝互联网上的用户对内部网的访问,但内部网的用户访问互联网时,返回的报文可以通过ASPF。
只有将定义好ASPF策略应用到接口上,才能对通过接口的流量进行检测。由于ASPF对于应用层协议状态的保存和维护都是基于接口的,因此在实际应用中,必须保证报文入口的一致性,即必须保证连接发起报文和返回报文基于同一接口。
将定义好ASPF策略应用到User Profile上,能够对认证成功且通过User Profile授权的用户所接收或发送的流量进行检测。通常情况下,防火墙要保护的认证用户位于内网侧。因此,如果要检测并过滤内部网络用户对外部网络资源的访问报文,则应该在User Profile视图下将ASPF应用到入方向上;如果要检测并过滤外部网络用户对内部网络用户的访问报文,则应该在User Profile视图下将ASPF应用到出方向上。
在User Profile上应用ASPF策略 |
缺省情况下,User Profile上没有应用ASPF策略 |
· 通用端口映射:是将用户自定义的端口号与应用层协议建立起映射关系。例如,在建立端口8080到HTTP协议的映射后,所有目的端口为8080的TCP报文都将被认为是HTTP报文。
· 基于基本访问控制列表的主机端口映射:是对去往某些特定主机的报文建立自定义的端口号与应用协议的映射。例如,可以把去往网段1.1.0.0的、使用8080端口的TCP报文映射为HTTP报文。主机的范围由基本ACL指定。
port-mapping application-name port port-number [ acl acl-number ] |
目前,该功能可支持的应用层协议有FTP、GTP、H323、HTTP、RTSP、SCCP、SIP、SMTP和SQLNET |
在完成上述配置后,在任意视图下执行display命令可以显示配置后ASPF的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除ASPF的统计信息。
表1-16 ASPF显示和维护
在AC上配置一个ASPF策略,实现以下功能:
· ICMP差错报文检测及TCP非SYN首报文丢弃。
图1-3 ASPF典型配置组网图
# 在AC上启用防火墙功能。
[AC] firewall enable
# 配置ACL 3111,以拒绝所有IP流量进入内部网络,ASPF会为允许通过的流量创建临时的访问控制列表。
[AC-acl-adv-3111] rule deny ip
[AC-acl-adv-3111] quit
# 创建ASPF策略1。
[AC-aspf-policy-1] icmp-error drop
[AC-aspf-policy-1] tcp syn-check
[AC-aspf-policy-1] quit
# 在接口Vlan-interface3上应用ASPF策略和ACL 3111。
[AC] interface vlan-interface 3
[AC-Vlan-interface3] firewall aspf 1 outbound
[AC-Vlan-interface3] firewall packet-filter 3111 inbound
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!