• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 新华三人才研学中心
  • 关于我们

03-安全配置指导

目录

15-ASPF配置

本章节下载 15-ASPF配置  (250.43 KB)

15-ASPF配置


1 ASPF配置

1.1  ASPF简介

为了解决包过滤防火墙存在的问题,提出了状态防火墙——ASPF(Advanced Stateful Packet Filter,高级状态包过滤)的概念。

1.1.1  ASPF的主要功能

ASPF能够实现的主要功能有:

·     应用层协议检测:检查应用层协议信息,如报文的协议类型和端口号等信息,并且监控每一个连接的应用层协议状态。对于所有连接,每一个连接状态信息都将被ASPF维护,并用于动态地决定数据包是否被允许通过防火墙进入内部网络,以阻止恶意的入侵。

·     传输层协议检测:检测传输层协议信息,包括TCP协议、UDP协议、UDP-Lite协议、SCTP协议、Raw IP协议、ICMP协议、ICMPv6协议和DCCP协议。例如TCP/UDP检测,能够根据源、目的地址及端口号决定TCP或UDP报文是否可以通过防火墙进入内部网络。

·     ICMP差错报文检测:正常ICMP差错报文中均携带有本报文对应连接的相关信息,根据这些信息可以匹配到相应的连接。如果匹配失败,则根据当前配置决定是否丢弃该ICMP报文。

·     TCP连接首包检测:对TCP连接的首报文进行检测,查看是否为SYN报文,如果不是SYN报文则根据当前配置决定是否丢弃该报文。缺省情况下,不丢弃非SYN首包,适用于不需要严格TCP协议状态检查的组网场景。例如当防火墙设备首次加入网络时,网络中原有TCP连接的非首包在经过新加入的设备时如果被丢弃,会中断已有的连接,造成不好的用户体验,因此建议暂且不丢弃非SYN首包,等待网络拓扑稳定后,再开启非SYN首包丢弃功能。

1.1.2  ASPF应用

在网络边界,ASPF和包过滤防火墙协同工作,包过滤防火墙负责按照ACL规则进行报文过滤(阻断或放行),ASPF负责对已放行报文进行信息记录,使已放行的报文的回应报文可以正常通过配置了包过滤防火墙的接口。因此,ASPF能够为企业内部网络提供更全面的、更符合实际需求的安全策略。

1.1.3  ASPF基本概念

1. 单通道协议和多通道协议

ASPF将应用层协议划分为:

·     单通道协议:完成一次应用的全过程中,只有一个连接参与数据交互,如SMTP、HTTP。

·     多通道协议:完成一次应用的全过程中,需要多个连接配合,即控制信息的交互和数据的传送需要通过不同的连接完成的,如FTP。

2. 内部接口和外部接口

如果设备连接了内部网络和外部网络,并且要通过部署ASPF来保护内部网络中的主机和服务器,则设备上与内部网络连接的接口就称为内部接口,与外部网络相连的接口就称为外部接口。

若需要保护内部网络,则可以将ASPF应用于设备外部接口的出方向或者应用于设备内部接口的入方向。

3. 安全域间实例

安全域间实例用于指定ASPF需要检测的业务流的源安全域和目的安全域,它们分别描述了经过网络设备的业务流的首个数据包要进入的安全域和要离开的安全域。关于安全域的详细介绍,请参见“安全配置指导”中的“安全域”。

1.1.4  ASPF检测原理

1. 应用层协议检测基本原理

图1-1 应用层协议检测基本原理示意图

 

图1-1所示,为了保护内部网络,可以在边界设备上配置访问控制列表,以允许内部网络的主机访问外部网络,同时拒绝外部网络的主机访问内部网络。但是访问控制列表会将用户发起连接后返回的报文过滤掉,导致连接无法正常建立。利用ASPF的应用层协议检测可以解决此问题。

当在设备上配置了应用层协议检测后,ASPF可以检测每一个应用层的连接,具体检测原理如下:

·     对于单通道协议,ASPF在检测到第一个向外发送的报文时创建一个会话表项。该会话表项中记录了对应的正向报文信息和反向报文信息,用于维护会话状态并检测会话状态的转换是否正确。匹配某条会话表项的所有报文都将免于接受静态包过滤策略的检查。

·     对于多通道协议,ASPF除了创建会话表项之外,还会根据协议的协商情况,创建一个或多个关联表项,用于关联属于同一个应用业务的不同会话。关联表项在多通道协议协商的过程中创建,在多通道协议协商完成后删除。关联表项主要用于匹配会话首报文,使已通过协商的会话报文可免于接受静态包过滤策略的检查。

单通道应用层协议(如HTTP)的检测过程比较简单,当发起连接时建立会话表项,连接删除时随之删除会话表项即可。下面以FTP检测为例说明多通道应用层协议检测的过程。

图1-2 FTP检测过程示意图

 

图1-2所示,FTP连接的建立过程如下:假设FTP client以1333端口向FTP server的21端口发起FTP控制通道的连接,通过协商决定在FTP server的20端口与FTP Client的1600端口之间建立数据通道,并由FTP server发起数据连接,数据传输超时或结束后数据通道删除。

FTP检测在FTP连接建立到拆除过程中的处理如下:

(1)     检查FTP client向FTP server发送的IP报文,确认为基于TCP的FTP报文。检查端口号,确认该连接为FTP client与FTP server之间的控制连接,建立会话表项。

(2)     检查FTP控制连接报文,根据会话表项进行TCP状态检测。解析FTP指令,如果包含数据通道建立指令,则创建关联表项描述对应数据连接的特征。

(3)     对于返回的FTP控制连接报文,根据会话表项进行TCP状态检测,检测结果决定是否允许报文通过。

(4)     FTP数据连接报文通过设备时,将会触发建立数据连接的会话表项,并删除所匹配的关联表项。

(5)     对于返回的FTP数据连接报文,则通过匹配数据连接的会话表项进行TCP状态检测,检查结果决定是否允许报文通过。

(6)     数据连接结束时,数据连接的会话表项将被删除。FTP连接删除时,控制连接的会话表项也会被删除。

2. 传输层协议检测基本原理

传输层协议检测通过建立会话表项记录报文的传输层信息,如源地址、目的地址及端口号等,达到动态放行报文的目的。

传输层协议检测要求返回到ASPF外部接口的报文要与之前从ASPF外部接口发出去的报文完全匹配,即源地址、目的地址及端口号完全对应,否则返回的报文将被丢弃。因此对于FTP这样的多通道应用层协议,在不配置应用层检测而直接配置TCP检测的情况下会导致数据连接无法建立。

1.2  ASPF配置限制和指导

若配置了detect命令,则对报文的应用层协议进行ASPF检查;若没有配置detect命令,则对报文的传输层协议和应用层协议FTP进行ASPF检查。

如果设备上其他业务模块开启ALG功能时,即便未配置多通道应用层协议的ASPF检测,多通道协议的数据连接也可以建立成功。例如:开启DPI相关业务功能时会打开ALG功能,此时DPI处理的多通道协议(如SIP等)报文进行ASPF处理时,即便未配置SIP协议的ASPF检测,SIP协议的数据连接也可以建立成功;开启NAT ALG功能时,即便未配置多通道协议的ASPF检测,多通道协议的数据连接也可以建立成功。但是在设备上未配置DPI(Deep Packet Inspection,深度报文检测)相关业务功能只配置了ASPF功能的情况下,必须配置detect命令,否则会导致数据连接无法建立。detect命令支持的应用层协议中除HTTP、SMTP和TFTP之外的所有应用层协议均为多通道应用层协议。

ASPF策略默认已经开启对传输层协议的检测,无需进行配置,也不能修改。

可以根据需要在ASPF策略中配置应用层协议检测。目前,设备对于部分应用层协议(DNS、FTP、H323、HTTP、SCCP、SIP、SMTP),还支持进行协议状态合法性检查功能,对不符合协议状态的报文进行丢弃。对于其它应用层协议,仅进行连接状态信息的维护,不做协议状态合法性检查。

1.3  ASPF配置任务简介

ASPF配置任务如下:

(1)     配置ASPF策略

(2)     在安全域间实例上应用ASPF策略

(3)     (可选)开启域间策略丢包时发送ICMP差错报文功能

1.4  配置ASPF策略

(1)     进入系统视图。

system-view

(2)     创建ASPF策略,并进入ASPF策略视图。

aspf policy aspf-policy-number

创建ASPF策略后,系统默认开启对传输层协议的检测,无需进行配置,也不能修改。

(3)     (可选)配置对应用层协议的ASPF检测。

detect { dns [ action { drop | logging } * ] | { ftp | h323 | http | sccp | sip | smtp } [ action drop ] | gtp | ils | mgcp | nbt | pptp | rsh | rtsp | sqlnet | tftp | xdmcp }

缺省情况下,配置了应用层协议FTP的ASPF检测。

配置action参数时,ASPF还会对应用层协议进行协议状态合法性检查,对不符合协议状态的报文执行所配置的相应动作。

(4)     (可选)开启ICMP差错报文丢弃功能。

icmp-error drop

缺省情况下,不丢弃ICMP差错报文。

(5)     (可选)开启非SYN的TCP首报文丢弃功能。

tcp syn-check

缺省情况下,不丢弃非SYN的TCP首报文。

1.5  在安全域间实例上应用ASPF策略

1. 功能简介

只有将定义好的ASPF策略应用到安全域间实例上,才能对通过安全域间实例的流量进行检测。如果安全域间实例上应用了ASPF策略,所有通过该域间实例的报文都需要与会话表项进行匹配,查找不到与之匹配的会话表项并且符合包过滤放行条件时会触发创建会话表。

在域间实例上ASPF必须与包过滤防火墙协同工作:通过在域间实例上应用包过滤策略,可以允许源安全域的用户主动访问目的安全域所连接网络;通过在域间实例上应用ASPF策略,由ASPF策略对源安全域用户访问目的安全域的报文以及对应的反向报文进行检测和放行。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入安全域间实例视图。

zone-pair security source source-zone-name destination destination-zone-name

关于安全域间实例的具体配置,请参见“安全命令参考”中的“安全域”。

(3)     在安全域间实例上应用ASPF策略。

aspf apply policy aspf-policy-number

缺省情况下,安全域间实例上应用了一个缺省的ASPF策略,该策略支持对所有传输层协议和FTP协议报文进行ASPF检测,但是ICMP差错报文检查功能和非SYN的TCP首报文丢弃功能处于关闭状态。

1.6  开启域间策略丢包时发送ICMP差错报文功能

1. 功能简介

缺省情况下,设备在安全域间实例下配置安全域间策略,丢弃不符合策略的报文,但不发送ICMP差错报文,这样可以减少网络上的无用报文,节约带宽。

使用traceroute功能时用到ICMP差错报文,需要开启发送ICMP差错报文的功能。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启域间策略丢包时发送ICMP差错报文功能。

aspf icmp-error reply

缺省情况下,在域间策略丢包时,设备不发送ICMP差错报文。

1.7  ASPF显示和维护

在完成上述配置后,在任意视图下执行display命令可以显示配置后ASPF的运行情况,通过查看显示信息验证配置的效果。

在用户视图下执行reset命令可以清除ASPF的统计信息。

表1-1 ASPF显示和维护

操作

命令

查看ASPF策略配置信息及应用ASPF策略的信息

display aspf all

查看ASPF策略的配置信息

display aspf policy { aspf-policy-number | default }

查看ASPF的会话表信息

display aspf session [ ipv4 | ipv6 ] [ chassis chassis-number slot slot-number ] [ verbose ]

删除ASPF的会话表

reset aspf session [ ipv4 | ipv6 ] [ chassis chassis-number slot slot-number ]

 

1.8  ASPF典型配置举例

1.8.1  检测FTP应用的ASPF配置举例

1. 组网需求

Device为连接内部网络与外部网络的边界设备,内部网络中的本地用户需要访问外部网络提供的应用(例如FTP)服务。要求配置ASPF策略,检测通过Device的流量。如果该报文是内部网络用户发起的应用(例如FTP)连接的返回报文,则允许其通过Device进入内部网络,其它外部主动访问内部网络的报文被禁止。

2. 组网图

图1-3 检测FTP应用的ASPF配置组网图

3. 配置步骤

(1)     配置接口IP地址

# 根据组网图中规划的信息,配置各接口的IP地址,具体配置步骤如下。

<Device> system-view

[Device] interface gigabitethernet 1/2/5/1

[Device-GigabitEthernet1/2/5/1] ip address 10.1.1.1 255.255.255.0

[Device-GigabitEthernet1/2/5/1] quit

请参考以上步骤配置其他接口的IP地址,具体配置步骤略。

(2)     配置静态路由

本举例仅以静态路由方式配置路由信息。实际组网中,请根据具体情况选择相应的路由配置方式。

# 请根据组网图中规划的信息,配置静态路由,本举例假设到Server的下一跳IP地址为10.1.1.2,实际使用中请以具体组网情况为准,具体配置步骤如下。

[Device] ip route-static 2.2.2.0 24 10.1.1.2

(3)     配置接口加入安全域。

# 请根据组网图中规划的信息,将接口加入对应的安全域,具体配置步骤如下。

[Device] security-zone name trust

[Device-security-zone-Trust] import interface gigabitethernet 1/2/5/2

[Device-security-zone-Trust] quit

[Device] security-zone name untrust

[Device-security-zone-Untrust] import interface gigabitethernet 1/2/5/1

[Device-security-zone-Untrust] quit

(4)     配置ACL

# 配置ACL 3500,定义规则:允许内网主机访问Internet。

[Device] acl advanced 3500

[Device-acl-ipv4-adv-3500] rule permit ip source 192.168.1.0 0.0.0.255

[Device-acl-ipv4-adv-3500] quit

(5)     配置ASPF策略

# 创建ASPF策略1,配置检测应用层协议FTP,具体配置步骤如下。

[Device] aspf policy 1

[Device-aspf-policy-1] detect ftp

[Device-aspf-policy-1] quit

(6)     应用ASPF策略

# 在安全域间实例上应用包过滤策略和ASPF策略,放行内网主机访问Internet的报文及其回应报文,具体配置步骤如下。

[Device] zone-pair security source trust destination untrust

[Device-zone-pair-security-Trust-Untrust] packet-filter 3500

[Device-zone-pair-security-Trust-Untrust] aspf apply policy 1

[Device-zone-pair-security-Trust-Untrust] quit

4. 验证配置

# 以上配置完成后,从Host向Server发起的FTP连接可正常建立,而从外部网络发起连接的报文则无法进入内部网络。在Device上可以查看到已经建立的ASPF会话。

<Device> display aspf session ipv4

Slot 0:

Initiator:

  Source      IP/port: 192.168.1.2/1877

  Destination IP/port: 2.2.2.11/21

  VPN instance/VLAN ID/Inline ID: -/-/-

  Protocol: TCP(6)

  Inbound interface: GigabitEthernet1/2/5/1

    Source security zone: Trust

Total sessions found: 1

 

不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!

新华三官网
联系我们