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

H3C MSR 50-06路由器 操作手册-5P100

06-安全操作

本章节下载  (1.28 MB)

docurl=/cn/Service/Document_Software/Document_Center/Routers/Catalog/MSR/MSR_50/Configure/Operation_Manual/H3C_MSR_50-06_OM-5P100/200809/615837_30005_0.htm

06-安全操作

  录

第1章 网络安全介绍

1.1 Comware提供的网络安全特性简介

1.2 命令行分级保护

1.3 基于RADIUS的AAA

1.4 包过滤和防火墙

1.4.1 防火墙的概念

1.4.2 防火墙的分类

1.4.3 包过滤

1.5 交换路由信息时的安全认证

第2章 AAA及RADIUS/HWTACACS协议配置

2.1 简介

2.1.1 AAA概述

2.1.2 RADIUS协议概述

2.1.3 HWTACACS协议概述

2.2 AAA配置

2.2.1 创建ISP域并配置相关属性

2.2.2 创建本地用户并配置相关属性

2.3 RADIUS协议配置

2.3.1 创建RADIUS方案

2.3.2 配置RADIUS认证/授权服务器

2.3.3 配置RADIUS计费服务器及相关属性

2.3.4 设置RADIUS报文的共享密钥

2.3.5 设置RADIUS请求报文的最大传送次数

2.3.6 设置支持的RADIUS服务器的类型

2.3.7 设置RADIUS服务器的状态

2.3.8 设置发送给RADIUS服务器的用户名格式

2.3.9 设置发送给RADIUS服务器的数据流的单位

2.3.10 配置NAS发送RADIUS报文使用的源地址

2.3.11 配置RADIUS服务器的定时器

2.3.12 使能RADIUS服务器状态变为down时发送trap报文的功能

2.3.13 配置本地RADIUS认证服务器

2.4 HWTACACS协议配置

2.4.1 创建HWTACACS方案

2.4.2 配置HWTACACS认证服务器

2.4.3 配置HWTACACS授权服务器

2.4.4 配置TACACS计费服务器及相关属性

2.4.5 配置NAS发送HWTACACS报文使用的源地址

2.4.6 配置TACACS服务器的密钥

2.4.7 配置TACACS服务器的用户名格式

2.4.8 配置TACACS服务器的流量单位

2.4.9 配置TACACS服务器的定时器

2.5 AAA及RADIUS/HWTACACS协议的显示和调试

2.6 AAA及RADIUS/HWTACACS协议典型配置举例

2.6.1 Telnet/SSH用户通过RADIUS服务器认证、计费的应用

2.6.2 FTP/Telnet用户本地认证配置

2.6.3 PPP用户通过TACACS服务器认证、授权、计费的应用

2.6.4 Telnet用户通过TACACS服务器认证(一次性认证)、计费的应用

2.7 AAA及RADIUS/HWTACACS协议故障的诊断与排除

2.7.1 RADIUS协议故障诊断与排除

2.7.2 HWTACACS协议故障诊断与排除

第3章 访问控制列表配置

3.1 访问控制列表简介

3.1.1 访问控制列表概述

3.1.2 访问控制列表的分类

3.1.3 访问控制列表的匹配顺序

3.1.4 访问控制列表的创建

3.1.5 基本访问控制列表

3.1.6 高级访问控制列表

3.1.7 基于接口的访问控制列表

3.1.8 ACL对分片报文的支持

3.2 访问控制列表配置

3.2.1 配置基本访问控制列表

3.2.2 配置高级访问控制列表

3.2.3 配置基于接口的访问控制列表

3.2.4 为ACL添加描述

3.2.5 为ACL规则添加注释

3.2.6 删除访问控制列表

3.3 时间段配置

3.3.1 创建/删除一个时间段

3.4 访问控制列表的显示与调试

3.5 访问控制列表典型配置案例

第4章 地址转换(NAT)配置

4.1 地址转换(NAT)简介

4.1.1 地址转换概述

4.2 地址转换实现的功能

4.2.1 多对多地址转换及地址转换的控制

4.2.2 NAPT——网络地址端口转换

4.2.3 静态网段地址转换

4.2.4 双向地址转换

4.2.5 内部服务器

4.2.6 Easy IP

4.2.7 地址转换应用层网关

4.3 NAT的配置

4.3.1 配置地址池

4.3.2 配置地址转换

4.3.3 配置内部服务器

4.3.4 配置地址转换应用层网关

4.3.5 配置内部主机通过域名区分并访问其对应的内部服务器

4.3.6 配置地址转换有效时间

4.4 地址转换显示和调试

4.5 NAT配置举例

4.5.1 典型NAT配置举例

4.5.2 使用loopback接口地址进行地址转换典型配置举例

4.5.3 静态网段地址转换典型组网应用

4.5.4 双向地址转换配置举例

4.5.5 内部主机通过域名区分并访问对应的内部服务器组网应用

4.6 NAT排错

第5章 PKI配置

5.1 PKI简介

5.1.1 概述

5.1.2 相关术语

5.1.3 主要应用

5.1.4 配置任务列表

5.2 证书申请配置

5.2.1 证书申请概述

5.2.2 进入PKI域视图

5.2.3 配置信任的CA

5.2.4 配置申请证书的服务器

5.2.5 配置实体命名空间

5.2.6 创建公、私密钥对

5.2.7 配置查询证书申请处理状态的重发间隔和次数

5.2.8 配置证书申请模式

5.2.9 手工申请证书

5.2.10 手工获取证书

5.2.11 导入证书

5.2.12 删除证书

5.2.13 证书验证配置任务列表

5.2.14 配置CRL发布点位置

5.2.15 配置CRL更新周期

5.2.16 配置是否必须检查CRL

5.2.17 获取CRL

5.2.18 验证证书

5.3 显示和调试

5.4 典型配置举例

5.4.1 使用PKI证书方法进行IKE协商认证

5.5 证书故障诊断与排除

5.5.1 故障之一:获取CA的证书失败

5.5.2 故障之二:本地证书申请失败

5.5.3 故障之三:CRL获取失败

第6章 防火墙配置

6.1 防火墙简介

6.1.1 ACL/包过滤防火墙简介

6.1.2 ASPF简介

6.2 包过滤防火墙配置

6.2.1 使能或禁止包过滤防火墙

6.2.2 设置防火墙缺省过滤方式

6.2.3 设置包过滤防火墙过滤分片报文

6.2.4 包过滤防火墙显示与调试

6.2.5 包过滤防火墙典型配置举例

6.2.6 包过滤防火墙分片报文处理配置举例

6.3 ASPF配置

6.3.1 允许防火墙

6.3.2 配置访问控制列表

6.3.3 定义ASPF策略

6.3.4 在接口上应用ASPF策略

6.3.5 配置协议超时时间

6.3.6 端口映射配置

6.3.7 ASPF显示与调试

6.3.8 ASPF典型配置案例

6.4 MAC和IP地址绑定

6.4.1 MAC和IP地址绑定简介

6.4.2 MAC和IP地址绑定配置

6.4.3 MAC和IP地址绑定的显示与调试

6.4.4 MAC和IP地址绑定典型配置案例

6.5 安全区域配置

6.5.1 安全区域介绍

6.5.2 安全区域配置

6.5.3 安全区域的显示

第7章 攻击防范与报文统计

7.1 攻击防范与报文统计简介

7.1.1 攻击防范简介

7.1.2 网络攻击的种类

7.1.3 典型的网络攻击

7.1.4 报文统计分析功能简介

7.2 攻击防范配置

7.2.1 使能/关闭防火墙攻击防范功能

7.2.2 使能/关闭ARP Flood攻击防范功能

7.2.3 使能/关闭ARP反向查询攻击防范功能

7.2.4 使能/关闭ARP欺骗攻击防范功能

7.2.5 使能/关闭IP欺骗攻击防范功能

7.2.6 使能/关闭Land攻击防范功能

7.2.7 使能/关闭Smurf攻击防范功能

7.2.8 使能/关闭WinNuke攻击防范功能

7.2.9 使能/关闭Fraggle攻击防范功能

7.2.10 使能/关闭Frag Flood攻击防范功能

7.2.11 使能/关闭SYN Flood攻击防范功能

7.2.12 使能/关闭ICMP Flood攻击防范功能

7.2.13 使能/关闭UDP Flood攻击防范功能

7.2.14 使能/关闭ICMP重定向报文控制功能

7.2.15 使能/关闭ICMP不可达报文控制功能

7.2.16 使能/关闭地址扫描攻击防范功能

7.2.17 使能/关闭端口扫描攻击防范功能

7.2.18 使能/关闭源路由选项IP报文控制功能

7.2.19 使能/关闭路由记录选项攻击防范功能

7.2.20 使能/关闭Tracert报文控制功能

7.2.21 使能/关闭Ping of Death攻击防范功能

7.2.22 使能/关闭Teardrop攻击防范功能

7.2.23 使能/关闭TCP报文标志合法性检测功能

7.2.24 使能/关闭IP分片报文检测功能

7.2.25 使能/关闭超大ICMP报文控制功能

7.3 设置路由器连接数量和连接速率监控的告警级别

7.4 系统统计功能的配置

7.4.1 使能/关闭系统统计功能

7.4.2 使能/关闭系统连接量监控

7.4.3 使能/关闭系统报文比率异常告警检测

7.5 域统计功能的配置

7.5.1 使能/关闭域统计功能

7.5.2 使能/关闭域连接数量监控

7.5.3 使能/关闭域连接速率监控

7.6 IP统计功能的配置

7.6.1 使能/关闭IP统计功能

7.6.2 使能/关闭IP连接数量监控

7.6.3 使能/关闭IP连接速率监控

7.7 攻击防范与报文统计显示与调试

7.7.1 攻击防范显示与调试

7.7.2 报文统计显示与调试

7.8 攻击防范与报文统计典型配置举例

7.8.1 使能Land攻击防范功能

7.8.2 使能SYN Flood攻击防范功能

7.8.3 使能地址扫描攻击防范功能

7.8.4 监控基于域的连接数量

7.8.5 显示指定IP的统计信息

7.9 攻击防范故障诊断与排除

第8章 日志维护

8.1 日志简介

8.2 Syslog日志配置

8.2.1 配置Syslog日志输出格式

8.2.2 配置Syslog日志缓冲区的扫描时间

8.2.3 配置信息中心的日志重定向

8.3 日志的清除

8.4 日志典型配置举例

8.4.1 输出攻击防范日志到日志主机

 


第1章  网络安全介绍

1.1  Comware提供的网络安全特性简介

路由器必须防范来自公网上的恶意攻击。另外,有时用户无意识但有破坏性的访问也会导致设备的性能下降,甚至无法正常工作。

Comware提供的网络安全特性:

l              基于RADIUS(Remote Authentication Dial-In User Service)和HWTACACS(HUAWEI Terminal Access Controller Access Control System)的AAA(Authentication、Authorization、Accounting)服务:与RADIUS和TACACS服务器配合实施的AAA服务,可以提供对接入用户的验证、授权和计费安全服务,防止非法访问。

l              验证协议:在PPP线路上支持CHAP和PAP验证。

l              包过滤(Packet Filter):用访问控制列表实现,指定可以通过(或禁止通过)路由器的报文类型。

l              应用层报文过滤ASPF(Application Specific Packet Filter):也称为状态防火墙,是一种高级通信过滤,它检查应用层协议信息并且监控基于连接的应用层协议状态,维护每一个连接的状态信息,并动态地决定数据包是否被允许通过防火墙或者被丢弃。

l              网络层安全(IP Security,IPSec):特定的通信方之间在IP层通过加密与数据源验证,来保证数据包在Internet上传输时的私有性、完整性和真实性。

l              IKE为IPSec提供了自动协商交换密钥、建立安全联盟的服务,能够简化IPSec的使用和管理。

l              事件日志:记录系统安全方面事件,实时跟踪非法侵入。

l              地址转换:NAT网关将公共网络和企业内部网隔离开,在公共网络中隐藏企业内部设备的IP地址,阻止来自公共网络上的攻击。

l              动态路由协议的验证功能:确保所交换路由信息的可靠性。

l              视图分级保护:将用户分成4级,每级用户赋予不同的配置权限,级别低的用户不能进入更高级的视图。

本章中将详细介绍AAA及RADIUS配置、用户口令配置、防火墙和包过滤配置等;IPSec配置,IKE配置请参见本手册的“VPN”部分;PPP验证协议配置请参见本手册的“用户接入”部分;日志的配置请参见本手册的“基础配置”部分;地址转换请参见第4章  地址转换(NAT)配置;动态路由协议的验证请参见本手册的“路由协议”部分。

1.2  命令行分级保护

系统命令行采用分级保护方式,命令行划分为参观级、监控级、配置级、管理级4个级别,只有提供了正确的登录口令,才能使用相应的命令。

1.3  基于RADIUS的AAA

AAA是验证(Authentication)、授权(Authorization)、计费(Accounting)的缩写,用来实现对用户的访问进行管理的功能。AAA可以用多种协议来实现,这里AAA是基于RADIUS协议来实现的。

AAA提供如下功能:

l              用户的分级管理:用户可以对系统的配置数据进行管理维护,对设备进行监控和维护等操作,而这些操作对系统的正常运行至关重要。因此要对用户进行严格分级管理,不同级别的用户有不同的权限;低级别的用户只能进行一些查看操作,只有高级用户才能进行一些如修改数据、维护设备,以及其它比较敏感的操作。

l              PPP用户的验证:建立PPP连接时,对用户名进行验证。

l              PPP用户的地址管理和分配:建立PPP连接时,可以为PPP用户分配预先指定的IP地址。

第二章将详细介绍RADIUS协议及其配置、用户口令配置、PPP用户地址配置。PPP验证协议请参见本手册的“用户接入”部分。

1.4  包过滤和防火墙

1.4.1  防火墙的概念

防火墙一方面阻止来自Internet的对受保护网络的未授权或未验证的访问,另一方面允许内部网络的用户对Internet进行Web访问或收发E-mail等。防火墙也可以作为一个访问Internet的权限控制关口,如允许组织内的特定的人可以访问Internet。

图1-1 防火墙使内部网络和Internet隔离

防火墙不单应用于和外部Internet的连接,也可以用于保护组织内部网络的大型机和重要资源(如数据)。对受保护数据的访问都必须经过防火墙的过滤,即使该访问是来自组织内部。

当外部网络的用户访问网内资源时,要经过防火墙;而内部网络的用户访问网外资源时,也会经过防火墙。这样,防火墙就起到了一个“警卫”的作用,可以将需要禁止的数据包在这里给丢掉。

1.4.2  防火墙的分类

一般把防火墙分为两类:网络层防火墙、应用层防火墙。网络层的防火墙主要获取数据包的包头信息,如协议号、源地址、目的地址和目的端口等,或者直接获取包头的一段数据;而应用层的防火墙则对整个信息流进行分析。

常见的防火墙有以下几种:

l              应用网关(Application Gateway):检验通过此网关的所有数据包中的应用层的数据。如FTP应用网关,对于连接的Client端来说是一个FTP Server,对于Server端来说是一个FTP Client。连接中传输的所有FTP数据包都必须经过此FTP应用网关。

l              电路级网关(Circuit-Level Gateway):此电路指虚电路。在TCP或UDP发起(Open)一个连接或电路之前,验证该会话的可靠性。只有在握手被验证为合法且握手完成之后,才允许数据包的传输。一个会话建立后,此会话的信息被写入防火墙维护的有效连接表中。数据包只有在它所含的会话信息符合该有效连接表中的某一条目(Entry)时,才被允许通过。会话结束时,该会话在表中的条目被删掉。电路级网关只对连接在会话层进行验证。一旦验证通过,在该连接上可以运行任何一个应用程序。以FTP为例,电路层网关只在一个FTP会话开始时,在TCP层对此会话进行验证。如果验证通过,则所有的数据都可以通过此连接进行传输,直至会话结束。

l              包过滤(Packet Filter):对每个数据包按照用户所定义的项目进行过滤,如比较数据包的源地址、目的地址等是否符合规则。包过滤不管会话的状态,也不分析数据。如用户规定允许端口是21或者大于等于1024的数据包通过,则只要端口符合该条件,数据包便可以通过此防火墙。如果配置的规则比较符合实际应用的话,在这一层能够过滤掉很多有安全隐患的数据包。

l              地址转换(NAT):地址转换又称地址代理,它实现了私有网络访问外部网络的功能。地址转换的机制就是将私有网络内主机的IP地址和端口替换为路由器的外部网络地址和端口,以及从路由器的端口转换为私有网络主机的IP地址和端口,即<私有地址+端口>与<公有地址+端口>之间的转换。私有地址是指内部网络或主机地址,公有地址是指在Internet上全球唯一的IP地址。Internet地址分配组织规定将下列的IP地址被保留用作私有地址:

10.0.0.0~10.255.255.255

172.16.0.0~172.31.255.255

192.168.0.0~192.168.255.255

这三个范围内的地址不会在Internet上被分配,可在一个单位或公司内部使用。各企业根据在预见未来内部主机和网络的数量后,选择合适的内部网络地址,不同企业的内部网络地址可以相同。如果一个公司选择上述三个范围之外的其它网段作为内部网络地址,则有可能会造成混乱。地址转换在允许内部网络的主机访问网外资源的同时,为内部主机提供“隐私”(Privacy)保护。

1.4.3  包过滤

1. 包过滤功能

包过滤一般是指对IP数据包的过滤。对路由器需要转发的数据包,先获取包头信息,包括IP层所承载的上层协议的协议号、数据包的源地址、目的地址、源端口和目的端口等,然后和设定的规则进行比较,根据比较的结果对数据包进行转发或者丢弃。

包过滤(对IP数据包)所选取用来判断的元素如图1-2所示(图中IP所承载的上层协议为TCP/UDP)。

图1-2 包过滤元素示意图

大多数包过滤系统在数据本身上不做任何事,不做基于内容的筛选。

2. 访问控制列表

为了过滤数据包,需要配置一些规则,规定什么样的数据包可以通过,什么样的数据包不能通过。这些规则就是通过访问控制列表(Access Control List)体现的。

用户需要根据自己的安全策略来确定访问控制列表,并将其应用到整机或指定接口上,路由器就会根据访问控制列表来检查所有接口或指定接口上的所有数据包,对于符合规则的报文作正常转发或丢弃处理,从而起到防火墙的作用。

1.5  交换路由信息时的安全认证

维护正确的路由转发表是路由器正常工作的基础,而路由转发表的维护是通过相邻路由器动态交换路由信息来实现的。

1. 交换路由信息时进行安全认证的必要性

在网络上,相邻的路由器需要交换大量的路由信息,不可靠的路由器可能会发送攻击网络设备的信息。如果具有路由信息认证的功能,路由器会对收到的相邻路由器的交换路由更新报文进行认证处理,从而保证路由器只接收可靠的路由信息。

2. 认证的实现

相互交换路由信息的路由器都共享一个口令字,口令字与路由信息报文一起发送,收到路由信息的路由器对报文进行认证,检查报文中的口令字,如果与共享口令字相同,则接受报文,否则丢弃。

认证的实现有两种方式:明文认证和MD5认证。明文认证以明文形式发送口令字,安全性较低。而MD5认证是发送加密后的口令字,MD5认证方式安全性较高。

 


第2章  AAA及RADIUS/HWTACACS协议配置

2.1  简介

2.1.1  AAA概述

AAA(Authentication Authorization Accounting,认证、授权和计费)提供了一个用来对认证、授权和计费这三种安全功能进行配置的一致性框架,实际上是对网络安全的一种管理。

这里的网络安全主要是指访问控制,包括:

l              哪些用户可以访问网络服务器?

l              具有访问权的用户可以得到哪些服务?

l              如何对正在使用网络资源的用户进行计费?

针对以上问题,AAA必须提供下列服务:

1. 认证功能

AAA支持以下认证方式:

l              不认证:对用户非常信任,不对其进行合法检查,一般情况下不采用这种方式。

l              本地认证:将用户信息(包括本地用户的用户名、密码和各种属性)配置在宽带接入服务器上。本地认证的优点是速度快,可以为运营降低成本;缺点是存储信息量受设备硬件条件限制。

l              远端认证:支持通过RADIUS协议或HWTACACS协议进行远端认证,由宽带接入服务器作为Client端,与RADIUS服务器或TACACS服务器通信。对于RADIUS协议,可以采用标准RADIUS协议或H3C公司的扩展RADIUS协议,与iTELLIN/CAMS等设备配合完成认证。

2. 授权功能

AAA支持以下授权方式:

l              直接授权:对用户非常信任,直接授权通过。

l              本地授权:根据宽带接入服务器上为本地用户帐号配置的相关属性进行授权。

l              HWTACACS授权:由TACACS服务器对用户进行授权。

l              if-authenticated授权:如果用户通过了验证,并且使用的验证方法不是none,则对用户授权通过。

l              RADIUS认证成功后授权:RADIUS协议的认证和授权是绑定在一起的,不能单独使用RADIUS进行授权。

3. 计费功能

AAA支持以下计费方式:

l              不计费:不对用户计费。

l              远端计费:支持通过RADIUS服务器或TACACS服务器进行远端计费。

&  说明:

目前路由器只支持对PPP用户和Telnet用户进行计费,但是对Telnet用户不能进行实时计费。

 

AAA一般采用客户机/服务器结构:客户端运行于被管理的资源侧,服务器上集中存放用户信息。因此,AAA框架具有良好的可扩展性,并且容易实现用户信息的集中管理。AAA是一种管理框架,因此,它可以用多种协议来实现,Comware中AAA是基于RADIUS协议或HWTACACS协议来实现的。

2.1.2  RADIUS协议概述

1. 什么是RADIUS

RADIUS是Remote Authentication Dial-In User Service(远程认证拨号用户服务)的简称,它是一种分布式的、客户机/服务器结构的信息交互协议,能保护网络不受未授权访问的干扰,常被应用在既要求较高安全性,又要求维持远程用户访问的各种网络环境中(例如,它常被应用来管理使用串口和调制解调器的大量分散拨号用户)。RADIUS系统是NAS(Network Access Server)系统的重要辅助部分。

RADIUS服务包括三个组成部分:

l              协议:RFC2865、2866协议基于UDP/IP层定义了RADIUS帧格式及消息传输机制,并定义了1812作为认证端口,1813作为计费端口。

l              服务器:RADIUS服务器运行在中心计算机或工作站上,包含了相关的用户认证和网络服务访问信息。

l              客户端:位于网络访问服务器NAS(Network Access Server)侧,可以遍布整个网络。

RADIUS基于客户机/服务器模型,NAS(如路由器)作为RADIUS客户端,负责传输用户信息到指定的RADIUS服务器,然后根据从服务器返回的信息进行相应处理(如接入/挂断用户)。RADIUS服务器负责接收用户连接请求,认证用户,然后给NAS返回所有需要的信息。

RADIUS服务器通常要维护三个数据库:第一个数据库“Users”用于存储用户信息(如用户名、口令以及使用的协议、IP地址等配置),第二个数据库“Clients”用于存储RADIUS客户端的信息(如共享密钥),第三个数据库“Dictionary”存储的信息用于解释RADIUS协议中的属性和属性值的含义。如下图所示:

图2-1 RADIUS服务器的组成

另外,RADIUS服务器还能够作为其他AAA服务器的客户端进行代理认证或计费。RADIUS服务器支持多种方法来认证用户,如基于PPP的PAP、CHAP认证、基于UNIX的Login等。

2. RADIUS的基本消息交互流程

RADIUS服务器对用户的认证过程通常需要利用NAS等设备的代理认证功能,RADIUS客户端和RADIUS服务器之间通过共享密钥认证相互间交互的消息,用户密码采用密文方式在网络上传输,增强了安全性。RADIUS协议合并了认证和授权过程,即响应报文中携带了授权信息。操作流程图和步骤如下所示:

图2-2 RADIUS的基本消息交互流程

基本交互步骤如下:

(1)        用户输入用户名和口令;

(2)        RADIUS客户端根据获取的用户名和口令,向RADIUS服务器发送认证请求包(Access-Request)。

(3)        RADIUS服务器将该用户信息与Users数据库信息进行对比分析,如果认证成功,则将用户的权限信息以认证响应包(Access-Accept)发送给RADIUS客户端;如果认证失败,则返回Access-Reject响应包。

(4)        RADIUS客户端根据接收到的认证结果接入/拒绝用户。如果可以接入用户,则RADIUS客户端向RADIUS服务器发送计费开始请求包(Accounting-Request),Status-Type取值为start;

(5)        RADIUS服务器返回计费开始响应包(Accounting-Response);

(6)        RADIUS客户端向RADIUS服务器发送计费停止请求包(Accounting-Request),Status-Type取值为stop;

(7)        RADIUS服务器返回计费结束响应包(Accounting-Response)。

3. RADIUS协议的报文结构

RADIUS采用UDP传输消息,通过定时器管理机制、重传机制、备用服务器机制,确保RADIUS服务器和客户端之间交互消息正确收发。RADIUS报文结构如下:

图2-3 RADIUS报文结构

其中Identifier域用于匹配请求包和响应包,随着Attribute域改变、接收到有效响应包而不断变化,而在重传时保持不变化。Authenticator域(16字节)用于验证RADIUS服务器传输回来的请求,同时用于密码隐藏算法上,分为Request Authenticator和Response Authenticator。

l              Request Authenticator采用16字节的随机码。

l              Response Authenticator是对Code、Identifier、Request Authenticator、Length、Attribute和共享密钥使用MD5算法进行运算后的结果。

(1)        由Code域决定RADIUS报文的类型,主要包括:

表2-1 Code域主要取值的说明

Code

报文类型

报文说明

1

Access-Request认证请求包

方向Client->Server,Client将用户信息传输到Server以判断是否接入该用户。该报文中必须包含User-Name属性,可选包含NAS-IP-Address、User-Password、NAS-Port等属性。

2

Access-Accept认证接受包

方向Server->Client,如果Access-Request报文中所有Attribute值都是可以接受的(即认证通过),则传输该类型报文。

3

Access-Reject认证拒绝包

方向Server->Client,如果Access-Request报文中存在任何Attribute值无法被接受(即认证失败),则传输该类型报文。

4

Accounting-Request计费请求包

方向Client->Server,Client将用户信息传输到Server,请求Server开始计费,由该报文中的Acct-Status-Type属性区分计费开始请求和计费结束请求。该报文包含的属性和Access-Request报文大致相同。

5

Accounting-Response计费响应包

方向Server->Client,Server通知Client侧已经收到Accounting-Request报文并且已经正确记录计费信息。该报文包含端口上输入/输出字节数、输入/输出包数、会话时长等信息。

 

(2)        Attribute域携带专门的认证、授权和计费信息,提供请求和响应报文的配置细节,该域采用(Type、Length、Value)三元组的形式提供,RFC中定义的标准Attribute域大致包括:

表2-2 Attribute域主要取值的说明

Type

属性类型

Type

属性类型

1

User-Name

23

Framed-IPX-Network

2

User-Password

24

State

3

CHAP-Password

25

Class

4

NAS-IP-Address

26

Vendor-Specific

5

NAS-Port

27

Session-Timeout

6

Service-Type

28

Idle-Timeout

7

Framed-Protocol

29

Termination-Action

8

Framed-IP-Address

30

Called-Station-Id

9

Framed-IP-Netmask

31

Calling-Station-Id

10

Framed-Routing

32

NAS-Identifier

11

Filter-ID

33

Proxy-State

12

Framed-MTU

34

Login-LAT-Service

13

Framed-Compression

35

Login-LAT-Node

14

Login-IP-Host

36

Login-LAT-Group

15

Login-Service

37

Framed-AppleTalk-Link

16

Login-TCP-Port

38

Framed-AppleTalk-Network

17

(unassigned)

39

Framed-AppleTalk-Zone

18

Reply_Message

40-59

(reserved for accounting)

19

Callback-Number

60

CHAP-Challenge

20

Callback-ID

61

NAS-Port-Type

21

(unassigned)

62

Port-Limit

22

Framed-Route

63

Login-LAT-Port

 

RADIUS协议具有良好的可扩展性,协议中定义的26号属性(Vender-Specific)可以被方便地扩展以支持用户自己定义的扩展属性,报文结构如下图所示:

图2-4 包括扩展属性的RADIUS报文片断

4. RADIUS的特点

RADIUS使用UDP作为传输协议,具有良好的实时性;同时也支持重传机制和备用服务器机制,从而有较好的可靠性。RADIUS的实现比较简单,适用于大用户量时服务器端的多线程结构。正因为如此,RADIUS协议得到了广泛的应用。

2.1.3  HWTACACS协议概述

1. HWTACACS特性

HWTACACS(HUAWEI Terminal Access Controller Access Control System)安全协议是在TACACS(RFC1492)基础上进行了功能增强的一种安全协议。该协议与RADIUS协议类似,主要是通过Server-Client模式与TACACS服务器通信来实现多种用户的AAA功能,可用于PPP和VPDN接入用户及login用户的认证、授权和计费。

与RADIUS相比,HWTACACS具有更加可靠的传输和加密特性,更加适合于安全控制。HWTACACS协议与RADIUS协议的主要区别如下表:

表2-3 HWTACACS协议和RADIUS协议区别

HWTACACS协议

RADIUS协议

使用TCP,网络传输更可靠。

使用UDP。

除了标准的HWTACACS报文头,对报文主体全部进行加密。

只是对验证报文中的密码字段进行加密。

认证和授权分离,例如,可以用一个TACACS服务器进行认证,另外一个TACACS服务器进行授权。

认证和授权一起处理。

适于进行安全控制。

适于进行计费。

支持对路由器上的配置命令进行授权使用。

不支持。

 

HWTACACS的典型应用是拨号用户或终端用户需要登录到路由器上进行操作,路由器作为HWTACACS的客户端,将用户名和密码发给TACACS服务器进行验证,验证通过并得到授权之后可以登录到路由器上进行操作。如下图所示:

图2-5 HWTACACS的典型应用组网图

2. HWTACACS的基本消息交互流程

以Telnet用户为例,使用HWTACACS对用户进行认证、授权和计费。在整个过程中的基本消息交互流程如下:

(1)        用户请求登录路由器,TACACS客户端收到请求之后,向TACACS服务器发送开始认证报文;

(2)        TACACS服务器发送认证回应报文,请求用户名;TACACS客户端收到回应报文后,向用户询问用户名;

(3)        TACACS客户端收到用户名后,向TACACS服务器发送认证持续报文,其中包括了用户名;

(4)        TACACS服务器发送认证回应报文,请求登录密码;TACACS客户端收到回应报文,向用户询问登录密码;

(5)        TACACS客户端收到登录密码后,向TACACS服务器发送认证持续报文,其中包括了登录密码;

(6)        TACACS服务器发送认证回应报文,指示用户通过认证;

(7)        TACACS客户端向TACACS服务器发送用户授权报文;

(8)        TACACS服务器发送授权回应报文,指示用户通过授权;

(9)        TACACS客户端收到授权回应成功报文,向用户输出路由器的配置界面;

(10)    TACACS客户端向TACACS服务器发送计费开始报文;

(11)    TACACS服务器发送计费回应报文,指示计费开始报文已经收到;

(12)    用户退出,TACACS客户端向TACACS服务器发送计费结束报文;

(13)    TACACS服务器发送计费结束报文,指示计费结束报文已经收到。

基本消息交互流程图如下:

图2-6 Telnet用户认证、授权和计费流程图

&  说明:

在配置路由器的过程中,用户可能会发现超级终端上看到的个别命令及参数在本手册中没有描述,这主要是因为Comware V3软件兼容了LAN Switch的配置,实际上路由器是不支持这些命令的。

 

2.2  AAA配置

AAA的配置包括:

(1)        创建ISP域并配置相关属性

l              创建ISP域

l              配置用户使用的AAA方案

l              配置ISP域的状态

l              配置可接入用户数量的最大值

l              配置计费可选开关

l              定义本地地址池并为PPP用户分配IP地址

(2)        创建本地用户并配置相关属性(仅用于本地认证)

2.2.1  创建ISP域并配置相关属性

1. 创建ISP域

什么是ISP(Internet Service Provider)域?简单点说,ISP域即ISP用户群,一个ISP域即是由同属于一个ISP的用户构成的用户群。一般说来,在“userid@isp-name”形式(例如gw20010608@h3c163.net)的用户名中,“@”后的“isp-name”(如例中的“h3c163.net”)即为ISP域的域名。在路由器对用户进行接入控制时,对于用户名为“userid@isp-name”形式的ISP用户,系统将把“userid”作为用于身份认证的用户名,把“isp-name”作为域名。

引入ISP域的设置是为了支持多ISP的应用环境:在这种环境中,同一个接入设备接入的有可能是不同ISP的用户。由于各ISP用户的用户属性(例如用户名及密码构成、服务类型/权限等)有可能各不相同,因此有必要通过设置ISP域的方法把它们区别开。在ISP域视图下,可以为每个ISP域配置包括使用的AAA方案在内的一整套单独的ISP域属性。

对于H3C系列路由器来说,每个接入用户都属于一某个ISP域。系统中最多可以配置16个ISP域。如果某个用户在登录时没有上报ISP域名,则系统将把它归于缺省的ISP域。

请在系统视图下进行下列配置。

表2-4 创建/删除ISP域

操作

命令

创建ISP域或进入指定ISP域视图

domain { isp-name | default { disable | enable isp-name } }

删除指定的ISP域

undo domain isp-name

 

缺省情况下,系统中使用的域为“system”。

2. 配置域引用的AAA方案

用户可以通过两种方式配置认证、授权、计费方案:

(1)        认证、授权、计费捆绑方式

采用这种方式时,用户通过scheme命令指定具体的AAA方案。若采用RADIUS(或HWTACAS)方案,认证、授权、计费统一由RADIUS(或HWTACAS)方案中指定的RADIUS(或TACACS)服务器来完成,即认证、授权、计费不能分别指定不同的方案。

若采用本地认证方案,只能完成认证、授权,不能实现计费。

如果配置了radius-scheme radius-scheme-name localhwtacacs-scheme hwtacacs-scheme-name local,则local为RADIUS服务器或HWTACACS服务器没有正常响应后的备选认证方案。即当RADIUS服务器或HWTACACS服务器有效时,不使用本地认证;当RADIUS服务器或HWTACACS服务器无效时,使用本地认证。

如果local作为第一方案,那么只能采用本地认证,不能再同时采用RADIUS、HWTACACS或none方案。如果none作为第一方案,那么不能同时采用RADIUS或HWTACACS方案。

请在ISP域视图下进行下列配置。

表2-5 配置ISP域的相关属性

操作

命令

配置域使用的AAA方案

scheme { radius-scheme radius-scheme-name [ local ] | hwtacacs-scheme hwtacacs-scheme-name [ local ] | local | none }

恢复域使用的缺省的AAA方案

undo scheme [ radius-scheme | hwtacacs-scheme | none ]

 

系统缺省使用的AAA方案为local

  注意:

当对FTP用户进行验证时,不能使用none认证,因为Comware实现的FTP服务器不支持匿名用户登录。

 

(2)        认证、授权、计费分离方式

采用这种方式时,用户可以通过authentication、authorization、accounting这三条命令分别指定认证、授权、计费方案。如:采用RADIUS方案进行认证、授权,采用HWTACACS方案进行计费且计费可选,这样可以为用户提供更加灵活多样的组合方案。认证、授权、计费分离方式中对于AAA支撑的各种业务的具体实现如下:

l              对于终端用户

认证采用:RADIUS,HWTACACS,local,RADIUS-local,HWTACACS-local或者none。

授权采用:HWTACACS或者none。

计费采用:RADIUS,HWTACACS或者none。

用户可以参照上面的实现任意组合配置认证,授权和计费的方案。

l              对于FTP用户

对于FTP用户仅支持认证。

认证采用:RADIUS,HWTACACS,local,RADIUS-local,HWTACACS-local。

l              对于PPP及L2TP用户

认证采用:RADIUS,HWTACACS,local,RADIUS-local,HWTACACS-local或者none。

授权采用:HWTACACS或者none。

计费采用:RADIUS,HWTACACS或者none。

用户可以参照上面的实现任意组合配置认证、授权和计费的方案。

l              对于DVPN业务

当前仅支持RADIUS、local或者RADIUS-local认证、授权;支持RADIUS计费。

请在ISP域视图下进行下列配置。

表2-6 配置ISP域的相关属性

操作

命令

配置域使用的认证方案

authentication { radius-scheme radius-scheme-name [ local ] | hwtacacs-scheme hwtacacs-scheme-name  [ local ] | local | none }

恢复域缺省的认证方案

undo authentication

配置域使用的授权方案

authorization { hwtacacs-scheme hwtacacs-scheme-name | none }

恢复域缺省的授权方案

undo authorization

配置域使用的计费方案

accounting { radius-scheme radius-scheme-name  | hwtacacs-scheme hwtacacs-scheme-name | none }

删除域使用的计费方案

undo accounting

 

说明:

(1)        如果在配置了认证、授权、计费分离方案的同时还配置了认证、授权、计费捆绑方案,优先使用认证、授权、计费分离方案。

(2)        由于RADIUS方案与local方案不支持认证和授权的分离,在配置认证授权时应注意如下事项:

l              当域中配置了scheme radius-scheme命令或者scheme local命令,且没有同时配置authentication命令时,此时如果配置了authorization none,RADIUS方案和local方案返回的授权信息仍然有效;如果配置了authorization hwtacacs,表示使用HWTACACS方案进行授权。

l              如果配置了scheme radius-scheme或者scheme local命令,且同时配置了authentication hwtacacs-scheme命令,则使用HWTACACS方案进行认证,并且不进行授权。

3. 配置ISP域的状态

每个ISP域有两种状态:active或block。当某个ISP域处于active状态时,允许该域下的用户请求网络服务;当某个ISP域处于block状态时,不允许该域下的用户请求网络服务,但是不影响已经在线的用户。一个ISP域在刚被创建时是处于active状态的,即在这个时候,允许任何属于该域的用户请求网络服务。

请在ISP域视图下进行下列配置。

表2-7 配置ISP域的状态

操作

命令

设置ISP域的状态

state { active | block }

 

缺省情况下,当一个ISP域被创建以后,其状态为active

4. 配置可接入用户数量的最大值

可接入用户数的最大值用来指定该ISP域最多可容纳多少个接入用户。

请在ISP域视图下进行下列配置。

表2-8 配置可接入用户数量的最大值

操作

命令

指定可接入用户数的最大值

access-limit { disable | enable max-user-number }

恢复可接入用户数到缺省设置

undo access-limit

 

缺省情况下,当一个ISP域被创建以后,其可容纳的接入用户没有数量限制。

5. 配置计费可选开关

在对用户实施计费时,当发现没有可用的计费服务器或与计费服务器通信失败时,只要用户配置了accounting optional,即使无法实施计费,也不会挂断用户。

accounting optional命令与scheme命令中的none方案的区别在于,使用此命令时,系统仍然向计费服务器发送计费信息,但不管计费服务器是否响应,能否实施计费,系统都不会挂断用户。而使用none方案时,系统就不会向计费服务器发送计费信息,当然,也不会挂断用户。如果scheme命令中指定了采用RADIUS或HWTACACS方案,但没有配置此命令,系统就会向计费服务器发送计费信息,如果计费服务器没有响应,不能实施计费,那么系统就会挂断用户。

请在ISP域视图下进行下列配置。

表2-9 配置计费可选开关

操作

命令

打开计费可选开关

accounting optional

关闭计费可选开关

undo accounting optional

 

缺省情况下,当一个ISP域被创建以后,计费可选开关关闭。

6. 定义地址池并为PPP用户分配IP地址

采用PPP方式接入的用户,可以利用PPP地址协商功能获得IP地址。有三种方法可以为PPP用户分配IP地址:

l              不配置地址池,在接口上直接给对方配置IP地址。

l              在系统视图下定义IP地址池,然后在接口视图下指定该接口给对端分配地址时使用的IP地址池(只能指定一个)。

l              在域视图下定义PPP域用户的IP地址池(可以定义多个),依次使用这些地址池直接给用户分配IP地址。

请在ISP域视图下进行下列配置。

表2-10 定义PPP域用户的IP地址池

操作

命令

定义为PPP用户分配IP地址的地址池

ip pool pool-number low-ip-address [ high-ip-address ]

删除指定的地址池

undo ip pool pool-number

 

缺省情况下,没有配置IP地址池。

下面介绍AAA对PPP用户的地址分配原则:

(1)        对于域的用户(包括useriduseridisp-name两种用户)分配地址的优先级如下:

l              如果采用RADIUS或TACACS认证和授权,并且服务器给用户下发了地址,则采用服务器下发的地址。

l              如果服务器没有下发地址,而是下发地址池,则在域视图下相应的地址池中查找地址给用户。

l              如果上述两种方式没有分配到地址或是采用本地认证,则根据接口下的配置给用户分配地址。

l              如果接口配置了remote address ip-address命令,并且此地址没有被使用,则给用户分配此地址。

l              如果接口配置了remote address pool命令,则在域视图下相应的地址池中查找地址给用户分配。

l              如果接口没有配置remote address命令,则在域视图下遍历所有的地址池查找地址给用户分配。

(2)        对于不认证用户,采用接口下指定的地址池(即在系统视图下定义的地址池)给用户分配地址。

2.2.2  创建本地用户并配置相关属性

当AAA方案选择了本地认证方案(local)时,应在路由器上创建本地用户并配置相关属性。

&  说明:

当用户配置了radius-schemehwtacacs-scheme认证方法时,应在RADIUS或TACACS服务器端进行类似的配置,此时本地配置将不起作用。

 

1. 创建本地用户

所谓本地用户,是指在NAS(即路由器)上设置的一组用户的集合。该集合以用户名为用户的唯一标识。为使某个请求网络服务的用户可以通过本地认证,需要在NAS的本地用户数据库中添加相应的表项。

请在系统视图下进行下列配置。

表2-11 创建/删除本地用户

操作

命令

添加本地用户

local-user user-name

删除本地用户或本地用户的相关属性

undo local-user user-name [ service-type | callback-nocheck | callback-number | call-number | level ]

删除所有本地用户或指定类型的本地用户

undo local-user all [ service-type { ftp | ppp | ssh | telnet | terminal } ]

 

缺省情况下,系统中没有任何本地用户。

2. 设置本地用户的属性

本地用户的属性包括:用户密码显示方式、用户密码、用户状态以及授权用户可以使用的业务类型等。

请在系统视图下进行下列设置。

表2-12 设置本地用户密码显示方式

操作

命令

设置所有本地用户密码的显示方式

local-user password-display-mode { cipher-force | auto }

取消已设置的本地用户密码的显示方式

undo local-user password-display-mode

 

其中,auto表示按照用户配置的密码显示方式(参考下面表格中password命令)显示,cipher-force表示所有接入用户的密码显示必须采用密文方式。

请在本地用户视图下进行下列配置。

表2-13 设置/取消指定用户的相关属性

操作

命令

设置用户的密码

password { simple | cipher } password

取消用户的密码设置

undo password

设置用户的状态

state { active | block }

取消用户的状态

undo state { active | block }

设置用户可以使用的服务类型

service-type { telnet | ssh | terminal }* [ level level ]

取消用户可以使用的服务

undo service-type { telnet | ssh | terminal }*

设置用户的优先级

level level

恢复缺省的优先级

undo level

授权用户可以使用DVPN服务

service-type dvpn

取消用户可以使用DVPN服务

undo service-type dvpn

授权FTP用户可以访问的目录

service-type ftp [ ftp-directory directory]

恢复对FTP用户授权的缺省目录

undo service-type ftp [ ftp-directory ]

设置PPP用户的回呼及主叫号码属性

service-type ppp [ callback-nocheck | callback-number callback-number | call-number call-number [ : subcall-number ] ]

恢复PPP用户回呼及主叫号码属性的缺省设置

undo service-type ppp [ callback-nocheck | callback-number | call-number ]

 

系统缺省不对用户授权任何服务。用户缺省优先级为0。

&  说明:

如果配置的认证方式需要用户名和口令(包括本地认证、RADIUS认证及HWTACACS认证),则用户登录系统后所能访问的命令级别由用户的优先级确定。对于使用RSA认证的用户,其所能访问的命令级别由用户界面的优先级确定。如果配置的认证方式为不认证或采用password认证,则用户登录到系统后所能访问的命令级别由用户界面的优先级确定。

 

2.3  RADIUS协议配置

RADIUS协议配置是以RADIUS方案为单位进行的,一个RADIUS方案在实际组网环境中既可以是一台独立的RADIUS服务器,也可以是两台配置相同、但IP地址不同的主、备RADIUS服务器。由于存在上述情况,因此每个RADIUS方案的属性包括:主服务器的IP地址、备服务器的IP地址、共享密钥以及RADIUS服务器类型等。

实际上,RADIUS协议配置仅仅定义了NAS和RADIUS Server之间进行信息交互所必须的一些参数。为了使这些参数能够生效,还必须在某个ISP域视图下指定该域引用配置有上述参数的RADIUS方案。具体配置命令的细节,请参见2.2  AAA配置

RADIUS协议的配置包括:

l              创建RADIUS方案

l              设置RADIUS认证/授权服务器

l              设置RADIUS计费服务器及相关属性

l              设置RADIUS报文的共享密钥

l              设置RADIUS请求报文的最大传送次数

l              设置支持的RADIUS服务器的类型

l              设置RADIUS服务器的状态

l              设置发送给RADIUS服务器的用户名格式

l              设置发送给RADIUS服务器的数据流的单位

l              配置NAS发送RADIUS报文使用的源地址

l              配置RADIUS服务器的定时器

l              使能RADIUS服务器状态变为down时发送trap报文的功能

在以上的配置任务中,创建RADIUS方案、配置RADIUS认证/授权服务器是必需的;其余任务则是可选的,用户可以根据各自的具体需求决定是否进行这些配置。

2.3.1  创建RADIUS方案

如前所述,RADIUS协议的配置是以RADIUS方案为单位进行的。因此,在进行其它RADIUS协议配置之前,必须先创建RADIUS方案并进入其视图。

可以使用下面命令创建/删除RADIUS方案。

请在系统视图下进行下列配置。

表2-14 创建/删除RADIUS方案

操作

命令

创建RADIUS方案并进入其视图

radius scheme radius-scheme-name

删除RADIUS方案

undo radius scheme radius-scheme-name

 

一个RADIUS方案可以同时被多个ISP域引用。系统最多支持配置16个RADIUS方案。

缺省情况下,系统中已创建了一个名为“system”的RADIUS方案,其各项属性均为缺省值。

  注意:

FTP、Terminal、SSH不是RADIUS协议的标准属性取值,需要修改RADIUS服务器的属性,在属性login-service(标准属性15)中增加两个取值的定义:

login-service(50) = SSH

login-service(51)=FTP

login-service(52) = Terminal

修改后再启动RADIUS服务器方可。

 

2.3.2  配置RADIUS认证/授权服务器

可以使用下面命令设置RADIUS认证/授权服务器的IP地址和端口号。

请在RADIUS视图下进行下列配置。

表2-15 设置RADIUS认证/授权服务器的IP地址和端口号

操作

命令

设置主RADIUS认证/授权服务器的IP地址和端口号

primary authenticaiton ip-address [ port-number ]

将主RADIUS认证/授权服务器的IP地址和端口号恢复为缺省值

undo primary  authentication

设置备RADIUS认证/授权服务器的IP地址和端口号

secondary authentication ip-address [ port-number ]

将备RADIUS认证/授权服务器的IP地址和端口号恢复为缺省值

undo secondary authentication

 

RADIUS服务器的授权信息是随认证应答报文发给RADIUS客户端的,故不需要指定单独的授权服务器。

在实际组网环境中,可以指定2台RADIUS服务器分别作为主、备认证/授权服务器;也可以指定一台服务器既作为主认证/授权服务器,又作为备认证/授权服务器。

2.3.3  配置RADIUS计费服务器及相关属性

1. 配置RADIUS计费服务器

可以使用下面命令设置RADIUS计费服务器的IP地址和端口号。

请在RADIUS视图下进行下列配置。

表2-16 设置RADIUS计费服务器的IP地址和端口号

操作

命令

设置主RADIUS计费服务器的IP地址和端口号

primary accountig ip-address [ port-number ]

将主RADIUS计费服务器的IP地址和端口号恢复为缺省值

undo primary accounting

设置备RADIUS计费服务器的IP地址和端口号

secondary accounting ip-address [ port-number ]

将备RADIUS计费服务器的IP地址和端口号恢复为缺省值

undo secondary accounting

 

在实际组网环境中,可以指定2台RADIUS服务器分别作为主、备计费服务器;也可以指定一台服务器既作为主计费服务器,又作为备计费服务器。

为了保证NAS与RADIUS服务器能够正常交互,在设置RADIUS服务器的IP地址和UDP端口之前,必须确保RADIUS服务器与NAS的路由连接正常。此外,由于RADIUS协议采用不同的UDP端口来收发认证/授权和计费报文,因此必须将认证/授权端口号和计费端口号设置得不同。RFC2138/2139中建议的认证/授权端口号为1812、计费端口号为1813,但是也可以不选用RFC建议值(尤其是比较早期的RADIUS Server,普遍采用1645作为认证/授权端口号、1646作为计费端口号)。在使用中,请保证H3C系列路由器上的RADIUS服务端口设置与RADIUS服务器上的端口设置保持一致。

可以使用命令display radius来查看RADIUS方案中主、备计费服务器的IP地址和端口号。

2. 配置计费可选开关

在对用户实施计费时,当发现没有可用的计费服务器或与计费服务器通信失败时,只要配置了accounting optional命令,即使无法实施计费,也不会挂断用户。

请在RADIUS视图下进行下列配置。

表2-17 配置计费可选开关

操作

命令

打开计费可选开关

accounting optional

关闭计费可选开关

undo accounting optional

 

缺省情况下,当一个RADIUS方案被创建以后,计费可选开关关闭。

3. 使能停止计费报文缓存及重传功能

由于停止计费请求报文涉及到话单结算、并最终影响收费多少,对用户和ISP都有比较重要的影响,因此NAS应该尽最大努力把它发送给RADIUS计费服务器。所以,如果RADIUS计费服务器对H3C系列路由器发出的停止计费请求报文没有响应,路由器将其缓存在本机上,然后重新发送直到RADIUS计费服务器产生响应,或者在重新发送的次数达到指定的次数限制后将其丢弃。可以使用下面的命令来设置路由器允许停止计费报文缓存功能。

请在RADIUS视图下进行下列配置。

表2-18 设置使能停止计费报文缓存及重传功能

操作

命令

使能停止计费报文缓存功能

stop-accounting-buffer enable

关闭停止计费报文缓存功能

undo stop-accounting-buffer enable

使能停止计费报文重传功能,并配置停止计费报文可以传送的最大次数

retry stop-accounting retry-times

恢复停止计费报文最大传送次数为缺省值

undo retry stop-accounting

 

缺省情况下,使能停止计费报文缓存功能,最多可以将缓存的停止计费请求报文重发500次。

4. 设置允许实时计费请求无响应的最大次数

RADIUS服务器通常通过连接超时定时器来判断用户是否在线。如果RADIUS服务器长时间收不到NAS传来的实时计费报文,它会认为线路或设备故障并停止对用户计费。为了配合RADIUS服务器的这种特性,有必要在不可预见的故障条件下在NAS端尽量与RADIUS服务器同步切断用户连接。H3C系列路由器提供对连续实时计费请求无响应次数限制的设置——在NAS向RADIUS服务器发出的实时计费请求没有得到响应的次数超过所设定的限度时,NAS将切断用户连接。

可以使用下面的命令设置允许实时计费请求无响应的最大次数。

请在RADIUS视图下进行下列配置。

表2-19 设置允许实时计费请求无响应的最大次数

操作

命令

设置允许实时计费请求无响应的最大次数

retry realtime-accounting retry-times

恢复允许实时计费请求无响应的最大次数为缺省值

undo retry realtime-accounting

 

缺省情况下,最多允许5次实时计费请求无响应。

2.3.4  设置RADIUS报文的共享密钥

RADIUS客户端(即路由器)与RADIUS服务器使用MD5算法来加密RADIUS报文,双方通过设置共享密钥来验证报文的合法性。只有在密钥一致的情况下,双方才能彼此接收对方发来的报文并作出响应。

可以使用下面命令设置RADIUS报文的共享密钥。

请在RADIUS视图下进行下列配置。

表2-20 设置RADIUS报文的共享密钥

操作

命令

设置RADIUS认证/授权报文的共享密钥

key authentication string

恢复RADIUS认证/授权报文共享密钥为缺省

undo key authentication

设置RADIUS计费报文的共享密钥

key accounting string

恢复RADIUS计费报文共享密钥为缺省

undo key accounting

 

缺省情况下,RADIUS认证/授权报文和RADIUS计费报文无共享密钥。

2.3.5  设置RADIUS请求报文的最大传送次数

由于RADIUS协议采用UDP报文来承载数据,因此其通信过程是不可靠的。如果RADIUS服务器在响应超时定时器规定的时长内没有响应NAS,则NAS有必要向RADIUS服务器重传RADIUS请求报文。如果累计的传送次数超过最大传送次数而RADIUS服务器仍旧没有响应,则NAS将认为其与当前RADIUS服务器的通信已经中断,并将转而向其它的RADIUS服务器发送请求报文。

可以使用下面命令设置RADIUS请求报文的最大传送次数。

请在RADIUS视图下进行下列配置。

表2-21 设置RADIUS请求报文的最大传送次数

操作

命令

设置RADIUS请求报文的最大传送次数

retry retry-times

将RADIUS请求报文的最大传送次数恢复为缺省值

undo retry

 

缺省情况下,RADIUS请求报文的最大传送次数为3次。

2.3.6  设置支持的RADIUS服务器的类型

可以使用下面的命令来选择支持何种RADIUS服务器类型。

请在RADIUS视图下进行下列配置。

表2-22 设置支持何种类型的RADIUS服务器

操作

命令

设置支持何种类型的RADIUS服务器

server-type { extended | standard }

恢复RADIUS服务器类型为缺省设置

undo server-type

 

缺省情况下,system方案中的RADIUS服务器的类型为extended,新创建的RADIUS方案中的RADIUS服务器的类型为standard

&  说明:

当使用H3C的CAMS服务器时,只有将server-type配置为extended后,部分参数才能生效,如服务类型、EXEC优先级、FTP目录等。

 

2.3.7  设置RADIUS服务器的状态

对于某个RADIUS方案中的主、备服务器(无论是认证/授权服务器还是计费服务器),当主服务器因故障与NAS的通信中断时,NAS会主动地转而与备服务器交互报文。当主服务器恢复正常后,NAS却不会立即恢复与其通信,而是继续与备服务器通信;直到备服务器也出现故障后,NAS才能再转而恢复与主服务器交互报文。为了使NAS在主服务器故障排除后迅速恢复与其通信,需要通过下面的命令手工将主服务器的状态设为active

当主服务器与备服务器的状态都为active或都为block时,NAS将只把报文发送到主服务器上。

请在RADIUS视图下进行下列配置。

表2-23 设置RADIUS服务器的状态

操作

命令

设置主RADIUS认证/授权服务器的状态

state primary authentication { block | active }

设置主RADIUS计费服务器的状态

state primary accounting { block | active }

设置备RADIUS认证/授权服务器的状态

state secondary authentication { block | active }

设置备RADIUS计费服务器的状态

state secondary accounting { block | active }

 

可以使用命令display radius来确定RADIUS方案中的服务器的状态。

2.3.8  设置发送给RADIUS服务器的用户名格式

如前所述,接入用户通常以“userid@isp-name”的格式命名,“@”后面的部分为ISP域名,H3C系列路由器就是通过该域名来决定将用户归于哪个ISP域的。但是,有些较早期的RADIUS服务器不能接受携带有ISP域名的用户名,在这种情况下,有必要将用户名中携带的域名去除后再传送给RADIUS服务器。因此,H3C系列路由器提供下面的命令以指定发送给RADIUS服务器的用户名是否携带有ISP域名。

表2-24 设置发送给RADIUS服务器的用户名格式

操作

命令

设置发送给RADIUS服务器的用户名格式

user-name-format { with-domain | without-domain }

 

&  说明:

如果指定某个RADIUS方案不允许用户名中携带有ISP域名,那么请不要在两个乃至两个以上的ISP域中同时设置使用该RADIUS方案,否则,会出现虽然实际用户不同(在不同的ISP域中)、但RADIUS服务器认为用户相同(因为传送到它的用户名相同)的错误。

 

缺省情况下,在system方案中,NAS发送给RADIUS服务器的用户名不携带ISP域名;在新创建的RADIUS方案中,NAS发送给RADIUS服务器的用户名携带ISP域名。

2.3.9  设置发送给RADIUS服务器的数据流的单位

H3C系列路由器提供下面的命令以指定发送给RADIUS服务器的数据流的单位。

表2-25 设置发送给RADIUS服务器的数据流的单位

操作

命令

设置发送给RADIUS服务器的数据流的单位

data-flow-format data { byte | giga-byte | kilo-byte | mega-byte } packet { giga-packet | kilo-packet | mega- packet | one-packet }

恢复发送到RADIUS服务器的数据流的单位为缺省设置

undo data-flow-format

 

缺省情况下,RADIUS方案默认的发送数据单位为byte,数据包的单位为one packet。

2.3.10  配置NAS发送RADIUS报文使用的源地址

请在相应视图下进行下列配置。

表2-26 配置NAS发送RADIUS报文使用的源地址

操作

命令

配置NAS发送RADIUS报文使用的源地址(RADIUS视图)

nas-ip ip-address

取消NAS发送RADIUS报文使用的源地址(RADIUS视图)

undo nas-ip

配置NAS发送RADIUS报文使用的源地址(系统视图)

radius nas-ip ip-address

取消NAS发送RADIUS报文使用的源地址(系统视图)

undo radius nas-ip

 

这两条命令的作用相同。缺省情况下,不指定源地址,即以发送报文的接口地址作为源地址。

2.3.11  配置RADIUS服务器的定时器

1. 设置RADIUS服务器应答超时定时器

如果在RADIUS请求报文(认证/授权请求或计费请求)传送出去一段时间后,NAS还没有得到RADIUS服务器的响应,则有必要重传RADIUS请求报文,以保证用户确实能够得到RADIUS服务。

可以使用下面命令设置RADIUS服务器应答超时定时器。

请在RADIUS视图下进行下列配置。

表2-27 设置RADIUS服务器应答超时定时器

操作

命令

设置RADIUS服务器应答超时定时器

timer seconds

timer response-timeout seconds

将RADIUS服务器应答超时定时器恢复为缺省值

undo timer

undo timer response-timeout

 

缺省情况下,RADIUS服务器应答超时定时器为3秒。timer命令与timer response-timeout命令的功能一样。

2. 配置RADIUS服务器的主服务器恢复激活状态时间

请在RADIUS视图下进行下列配置。

表2-28 配置RADIUS服务器的主服务器恢复激活状态时间

操作

命令

配置恢复激活时间

timer quiet minutes

恢复缺省配置

undo timer quiet  

 

缺省情况下,主服务器恢复激活状态前需要等待5分钟。

3. 设置实时计费时间间隔

为了对用户实施实时计费,有必要设置实时计费的时间间隔。在设置了该属性以后,每隔设定的时间,NAS会向RADIUS服务器发送一次在线用户的计费信息。

可以使用下面命令设置实时计费间隔。

请在RADIUS视图下进行下列配置。

表2-29 设置实时计费间隔

操作

命令

设置实时计费间隔

timer realtime-accounting minutes

将实时计费间隔恢复为缺省值

undo timer realtime-accounting

 

其中,minutes为实时计费间隔时间,单位为分钟,其取值必须为3的整数倍。

实时计费间隔的取值对NAS和RADIUS服务器的性能有一定的相关性要求——取值越小,对NAS和RADIUS服务器的性能要求越高。建议当用户量比较大(¦1000)时,尽量把该间隔的值设置得大一些。以下是实时计费间隔与用户量之间的推荐比例关系:

表2-30 实时计费间隔与用户量之间的推荐比例关系

用户数

实时计费间隔(分钟)

1~99

3

100~499

6

500~999

12

¦1000

¦15

 

缺省情况下,实时计费间隔为12分钟。

2.3.12  使能RADIUS服务器状态变为down时发送trap报文的功能

请在系统视图下进行下列配置。

表2-31 使能RADIUS服务器状态变为down时发送trap报文的功能

操作

命令

使能RADIUS 服务器状态变为down时发送trap报文的功能

radius trap { authentication-server-down | accounting-server-down }

关闭RADIUS 服务器状态变为down时发送trap报文的功能

undo radius trap { authentication-server-down | accounting-server-down }

 

缺省情况下,关闭该功能。

2.3.13  配置本地RADIUS认证服务器

路由器提供了本地简单RADIUS服务器端功能(包括认证和授权),称之为本地RADIUS认证服务器功能。

请在系统视图下进行下列配置。

表2-32 配置本地RADIUS认证服务器

操作

命令

配置本地RADIUS认证服务器

local-server nas-ip ip-address key password

取消本地RADIUS认证服务器的配置

undo local-server nas-ip ip-address

 

缺省情况下,系统创建了一个NAS-IP为127.0.0.1、无缺省密钥。

&  说明:

采用本地RADIUS认证服务器功能时,其认证/授权服务的UDP端口号必须为1645,计费服务的UDP端口号为1646。

用此命令配置的报文加密密钥(key password)必须和在RADIUS方案视图下用命令key authentication配置的认证/授权报文加密密钥一致。

包括系统缺省创建的本地RADIUS认证服务器在内,设备最多支持16个本地RADIUS认证服务器。

 

2.4  HWTACACS协议配置

HWTACACS的配置包括:

l              创建HWTACACS方案

l              配置TACACS认证服务器

l              配置TACACS授权服务器

l              配置TACACS计费功能

l              配置NAS发送HWTACACS报文使用的源地址

l              配置TACACS服务器的密钥

l              配置TACACS服务器的用户名格式

l              配置TACACS服务器的流量单位

l              配置TACACS服务器的定时器

&  说明:

与RADIUS的配置相比,配置TACACS服务器时需要注意以下几点:

l      除删除方案外,HWTACACS的大部分属性在改变配置时都不检查当前是否有用户在使用此方案。

l      HWTACAS服务器缺省没有密钥。

 

在以上的配置任务中,创建HWTACACS方案、配置TACACS认证/授权服务器是必需的;其余任务则是可选的,用户可以根据各自的具体需求决定是否进行这些配置。

2.4.1  创建HWTACACS方案

如前所述,HWTACACS协议的配置是以HWTACACS方案为单位进行的。因此,在进行其它HWTACACS协议配置之前,必须先创建HWTACACS方案并进入其视图。

请在系统视图下进行下列配置。

表2-33 创建HWTACACS方案

操作

命令

创建HWTACACS方案,并进入HWTACACS视图

hwtacacs scheme hwtacacs-scheme-name

删除HWTACACS方案

undo hwtacacs scheme hwtacacs-scheme-name

 

如果指定的HWTACACS方案名不存在,将创建一个新的HWTACACS方案并进入HWTACACS视图。

在HWTACACS视图下,可以对此HWTACACS方案进行具体配置。

系统最多支持配置16个HWTACACS方案。只有当方案没有用户使用时,才能删除该方案。

缺省情况下,没有定义HWTACACS方案。

2.4.2  配置HWTACACS认证服务器

请在HWTACACS视图下进行下列配置。

表2-34 配置TACACS认证服务器

操作

命令

配置TACACS主认证服务器

primary authentication ip-address [ port ]

删除TACACS主认证服务器

undo primary authentication

配置TACACS备认证服务器

secondary authentication ip-address [ port ]

删除TACACS备认证服务器

undo secondary authentication

 

主认证服务器和备用认证服务器的IP地址不能相同,否则将提示配置不成功。端口号缺省使用49。

如果多次执行此命令,新的配置将覆盖原来的配置。

只有当没有活跃的用于发送认证报文的TCP连接使用该认证服务器时,才允许删除该服务器。删除服务器只对之后的报文有效。

2.4.3  配置HWTACACS授权服务器

请在HWTACACS视图下进行下列配置。

表2-35 配置TACACS授权服务器

操作

命令

配置TACACS主授权服务器

primary authorization ip-address [ port ]

删除TACACS主授权服务器

undo primary authorization

配置TACACS备授权服务器

secondary authorization ip-address [ port ]

删除TACACS备授权服务器

undo secondary authorization

 

&  说明:

对于所有类型的用户,如果配置了TACACS认证,但没有配置TACACS授权服务器,则用户无法登录。

 

主授权服务器和备用授权服务器的IP地址不能相同,否则将提示配置不成功。端口号缺省使用49。

如果多次执行此命令,新的配置将覆盖原来的配置。

只有当没有活跃的用于发送授权报文的TCP连接使用该授权服务器,才允许删除该服务器。

2.4.4  配置TACACS计费服务器及相关属性

1. 配置TACACS计费服务器

请在HWTACACS视图下进行下列配置。

表2-36 配置HWTACACS计费服务器

操作

命令

配置TACACS主计费服务器

primary accounting ip-address [ port ]

删除配置的TACACS主计费服务器

undo primary accounting

配置TACACS备计费服务器

secondary accounting ip-address [ port ]

删除配置的TACACS备计费服务器

undo secondary accounting

 

主计费服务器和备用计费服务器的IP地址不能相同,否则将提示配置不成功。端口号缺省使用49。

缺省情况下,HWTACACS计费服务器的IP地址为全零。

如果多次执行此命令,新的配置将覆盖原来的配置。

只有当没有活跃、用于发送计费报文的TCP连接使用该计费服务器时,才允许删除该服务器。

2. 使能停止计费报文缓存及重传功能

请在HWTACACS视图下进行下列配置。

表2-37 设置使能停止计费报文缓存及重传功能

操作

命令

使能停止计费报文缓存功能

stop-accounting-buffer enable

关闭停止计费报文缓存功能

undo stop-accounting-buffer enable

使能停止计费报文重传,并配置传送的最大次数

retry stop-accounting retry-times

关闭停止计费报文重传功能

undo retry stop-accounting

 

缺省情况下,使能停止计费报文重传功能,且允许停止计费报文传送100次。

2.4.5  配置NAS发送HWTACACS报文使用的源地址

请HWTACACS视图和系统视图下进行下列配置。

表2-38 配置NAS发送HWTACACS报文使用的源地址

操作

命令

配置NAS发送HWTACACS报文使用的源地址(HWTACACS视图)

nas-ip ip-address

取消NAS发送HWTACACS报文使用的源地址(HWTACACS视图)

undo nas-ip

配置NAS发送HWTACACS报文使用的源地址(系统视图)

hwtacacs nas-ip ip-address

取消NAS发送HWTACACS报文使用的源地址(系统视图)

undo hwtacacs nas-ip

 

缺省情况下,不指定源地址,即以发送报文的接口地址作为源地址。

2.4.6  配置TACACS服务器的密钥

使用TACACS服务器作为AAA服务器时,可设置密钥以提高路由器与TACACS服务器通信的安全性。

请在HWTACACS视图下进行下列配置。

表2-39 配置TACACS服务器的密钥

操作

命令

配置TACACS计费、授权及认证服务器的密钥

key { accounting | authorization | authentication } string

删除配置

undo key { accounting | authorization | authentication }

 

缺省情况下,没有密钥。

2.4.7  配置TACACS服务器的用户名格式

用户名通常采用“userid@isp-name”格式,“@”后面的部分为域名。

如果TACACS服务器不接受带域名的用户名时,可以配置将用户名的域名去除后再传送给TACACS服务器。

请在HWTACACS视图下进行下列配置。

表2-40 配置TACACS服务器的用户名格式

操作

命令

配置用户名带域名

user-name-format with-domain

配置用户名不带域名

user-name-format without-domain

 

缺省情况下,发往TACACS服务器的用户名带域名。

2.4.8  配置TACACS服务器的流量单位

请在HWTACACS视图下进行下列配置。

表2-41 配置TACACS服务器的流量单位

操作

命令

配置TACACS服务器的流量单位

data-flow-format data { byte | giga-byte | kilo-byte | mega-byte }

data-flow-format packet { giga-packet | kilo-packet | mega-packet | one-packet }

恢复发送到TACACS服务器的数据流的单位为缺省设置

undo data-flow-format { data | packet }

 

缺省情况下,发送数据单位为byte,数据包的单位为one packet。

2.4.9  配置TACACS服务器的定时器

1. 配置TACACS服务器的应答超时时间

由于HWTACACS是基于TCP实现的,因此,服务器应答超时或TCP超时都可能导致与TACACS服务器的连接断开。

请在HWTACACS视图下进行下列配置。

表2-42 配置TACACS服务器应答超时时间

操作

命令

配置应答超时时间

timer response-timeout seconds

恢复缺省配置

undo timer response-timeout

 

缺省情况下,应答超时时间为5秒。

2. 配置TACACS服务器的主服务器恢复激活状态时间

请在HWTACACS视图下进行下列配置。

表2-43 配置TACACS服务器的主服务器恢复激活状态时间

操作

命令

配置恢复激活时间

timer quiet minutes

恢复缺省配置

undo timer quiet

 

缺省情况下,主服务器恢复激活状态前需要等待5分钟。

3. 设置实时计费时间间隔

为了对用户实施实时计费,有必要设置实时计费的时间间隔。在设置了该属性以后,每隔设定的时间,NAS会向TACACS服务器发送一次在线用户的计费信息。

可以使用下面命令设置实时计费间隔。

请在HWTACACS视图下进行下列配置。

表2-44 设置实时计费间隔

操作

命令

设置实时计费间隔

timer realtime-accounting minutes

将实时计费间隔恢复为缺省值

undo timer realtime-accounting

 

其中,minutes为实时计费间隔时间,单位为分钟,其取值必须为3的整数倍。

实时计费间隔的取值对NAS和TACACS服务器的性能有一定的相关性要求——取值越小,对NAS和TACACS服务器的性能要求越高。建议当用户量比较大(¦1000)时,尽量把该间隔的值设置得大一些。以下是实时计费间隔与用户量之间的推荐比例关系:

表2-45 实时计费间隔与用户量之间的推荐比例关系

用户数

实时计费间隔(分钟)

1~99

3

100~499

6

500~999

12

¦1000

¦15

 

缺省情况下,实时计费间隔为12分钟。

2.5  AAA及RADIUS/HWTACACS协议的显示和调试

完成上述配置后,在所有视图下执行display命令可以显示配置后AAA、RADIUS/HWTACACS的运行情况,通过查看显示信息验证配置的效果。

在用户视图下,执行reset命令可清除相关配置。

在用户视图下,执行debugging命令可进行调试。

表2-46 AAA协议的显示和调试

操作

命令

显示所有或指定ISP域的配置信息

display domain [ isp-name ]

显示用户连接的相关信息

display connection [ domain isp-name | ip ip-address | mac mac-address | radius-scheme radius-scheme-name | hwtacacs-scheme hwtacacs-scheme-name | ucibindex ucib-index | user-name user-name ]

显示本地用户的相关信息

display local-user [ domain isp-name | service-type { dvpn | telnet | ssh | terminal | ftp | ppp } | state { active | block } | user-name user-name ]

 

表2-47 RADIUS协议的显示和调试

操作

命令

显示所有或指定RADIUS方案的配置信息或统计信息

display radius [ radius-server-name | statistics ]

显示RADIUS报文的统计信息

display radius statistics

显示缓存的没有得到响应的停止计费请求报文

display stop-accounting-buffer { radius-scheme radius-server-name | session-id session-id | time-range start-time stop-time | user-name user-name }

显示本地RADIUS认证服务器的统计信息

display local-server statistics

打开RADIUS报文调试开关

debugging radius packet

关闭RADIUS报文调试开关

undo debugging radius packet

打开本地RADIUS认证服务器的调试开关

debugging local-server { all | error | event | packet }

关闭本地RADIUS认证服务器的调试开关

undo debugging local-server { all | error | event | packet }

删除那些缓存的、没有得到响应的停止计费请求报文

reset stop-accounting-buffer { radius-scheme radius-scheme-name | session-id session-id | time-range start-time stop-time | user-name user-name }

清除RADIUS服务器的统计信息

reset radius statistics

 

表2-48 HWTACACS协议的显示和调试

操作

命令

显示所有或指定HWTACACS方案的配置信息

display hwtacacs [ hwtacacs-server-name [ statistics ] ]

显示缓存的没有得到响应的停止计费请求报文

display stop-accounting-buffer hwtacacs-scheme hwtacacs-scheme-name

打开HWTACACS协议调试开关

debugging hwtacacs { all | error | event | message | receive-packet | send-packet }

关闭HWTACACS协议调试开关

undo debugging hwtacacs { all | error | event | message | receive-packet | send-packet }

删除那些在路由器上缓存的、没有得到响应的停止计费请求报文

reset stop-accounting-buffer hwtacacs-scheme hwtacacs-scheme-name

清除TACACS服务器的统计信息

reset hwtacacs statistics { accounting | authentication | authorization | all }

 

2.6  AAA及RADIUS/HWTACACS协议典型配置举例

2.6.1  Telnet/SSH用户通过RADIUS服务器认证、计费的应用

&  说明:

SSH/Telnet用户通过RADIUS服务器认证的配置方法类似,下面的描述以Telnet用户的远端认证为例。

 

1. 组网需求

如下图所示的环境中,现需要通过配置路由器实现RADIUS服务器对登录路由器的Telnet用户进行认证、计费。

一台RADIUS服务器(其担当认证RADIUS服务器和计费RADIUS服务器的职责)与路由器相连,服务器IP地址为10.110.91.146,设置路由器与认证RADIUS服务器交互报文时的共享密钥为“expert”、与计费RADIUS服务器交互报文时的共享密钥为“expert”。

RADIUS服务器可使用H3C的CAMS服务器。使用第三方RADIUS服务器时,RADIUS方案中的server-type可以选择standard类型或extended类型;使用H3C的CAMS服务器时,RADIUS方案中的server-type应选择extended类型。在RADIUS服务器上设置与路由器交互报文时的共享密钥为“expert”;设置验证及计费的端口号;添加Telnet用户名及登录密码。如果RADIUS方案中设置路由器不从用户名中去除用户域名而是一起传给RADIUS服务器,RADIUS服务器上添加的Telnet用户名应为“userid@isp-name”形式。

2. 组网图

图2-7 配置Telnet用户的远端RADIUS认证

3. 配置步骤

# 配置Telnet用户采用AAA认证方式。

[H3C-ui-vty0-4] authentication-mode scheme

# 配置domain。

[H3C] domain cams

[H3C-isp-cams] access-limit enable 10

[H3C-isp-cams] accounting optional

[H3C-isp-cams] quit

# 配置RADIUS方案。

[H3C] radius scheme cams

[H3C-radius-cams] primary authentication 10.110.91.146 1812

[H3C-radius-cams] primary accounting 10.110.91.146 1813

[H3C-radius-cams] key authentication expert

[H3C-radius-cams] key accounting expert

[H3C-radius-cams] server-type h3c

[H3C-radius-cams] user-name-format with-domain

[H3C-radius-cams] quit

# 配置domain和RADIUS的关联。

[H3C] domain cams

[H3C-isp-cams] scheme radius-scheme cams

Telnet用户登录时输入用户名userid@cams,以使用cams域进行认证。

2.6.2  FTP/Telnet用户本地认证配置

&  说明:

FTP用户与Telnet用户通过本地认证的配置方法类似,下面描述仅以Telnet用户为例。

 

1. 组网需求

如下图所示的环境中,现需要通过配置路由器实现对登录路由器的Telnet用户进行本地认证。

2. 组网图

图2-8 配置Telnet用户的本地认证

3. 配置步骤

# 配置Telnet用户采用AAA认证方式。

[H3C-ui-vty0-4] authentication-mode scheme

# 创建本地用户telnet。

[H3C] local-user telnet

[H3C-luser-telnet] service-type telnet

[H3C-luser-telnet] password simple h3c

[H3C] domain system

[H3C-isp-system] scheme local

使用Telnet登陆时输入用户名为userid@system,以使用system域进行认证。

2.6.3  PPP用户通过TACACS服务器认证、授权、计费的应用

1. 组网需求

如下图所示的环境中,现需要通过配置路由器实现TACACS服务器对登录路由器的PPP用户分配IP地址,并进行认证、授权、计费。

一台TACACS服务器(其担当认证、授权、计费服务器的职责)与路由器相连,服务器IP地址为10.110.91.146,设置路由器与认证、授权、计费TACACS服务器交互报文时的共享密钥均为“expert”,设置路由器除去用户名中的域名后再将之传给TACACS服务器。

在TACACS服务器上设置与路由器交互报文时的共享密钥为“expert”;添加PPP用户名及密码。

2. 组网图

图2-9 配置PPP用户的远端HWTACACS认证

3. 配置步骤

# 配置HWTACACS方案。

[H3C] hwtacacs scheme hwtac

[H3C-hwtacacs-hwtac] primary authentication 10.110.91.146 49

[H3C-hwtacacs-hwtac] primary authorization 10.110.91.146 49

[H3C-hwtacacs-hwtac] primary accounting 10.110.91.146 49

[H3C-hwtacacs-hwtac] key authentication expert

[H3C-hwtacacs-hwtac] key authorization expert

[H3C-hwtacacs-hwtac] key accounting expert

[H3C-hwtacacs-hwtac] user-name-format without-domain

[H3C-hwtacacs-hwtac] quit

# 配置domain和hwtacacs的关联。

[H3C] domain hwtacacs

[H3C-isp-hwtacacs] scheme hwtacacs-scheme hwtac

[H3C-isp-hwtacacs] ip pool 1 200.1.1.1 200.1.1.99

[H3C-isp-hwtacacs] quit

# 配置路由器上的虚拟模板参数。

[H3C] interface virtual-template 1

[H3C-Virtual-Template1] ppp authentication-mode pap domain hwtacacs

[H3C-Virtual-Template1] ip address 188.188.188.2 255.255.255.0

[H3C-Virtual-Template1] remote address pool 1

[H3C-Virtual-Template1] quit

# 配置以太网口。

[H3C] interface gigabitethernet 2/0

[H3C- GigabitEthernet 2/0] ip address 10.110.91.160 255.255.255.0

2.6.4  Telnet用户通过TACACS服务器认证(一次性认证)、计费的应用

1. 组网需求

如下图所示的环境中,现需要通过配置路由器实现TACACS服务器对登录路由器的Telnet用户进行一次性认证、计费。

一台TACACS服务器(其担当认证、授权和计费TACACS服务器的职责)与路由器相连,服务器IP地址为10.110.91.146,设置路由器与认证、授权和计费TACACS服务器交互报文时的共享密钥为“expert”。TACACS服务器提供一次性口令认证功能,路由器不从用户名中去除用户域名而是一起传给TACACS服务器,故TACACS服务器上添加的Telnet用户名应为“test@tacacs”。

2. 组网图

图2-10 配置Telnet用户的远端TACACS认证

3. 配置步骤

(1)        配置路由器

# 配置Telnet用户采用AAA认证方式。

[H3C] user-interface vty0 4

[H3C-ui-vty0-4] authentication-mode scheme

# 配置domain。

[H3C] domain tacacs

[H3C-isp-tacacs] access-limit enable 10

[H3C-isp-tacacs] accounting optional

[H3C-isp-tacacs] quit

# 配置TACACS方案。

[H3C] hwtacacs scheme system

[H3C-hwtacacs-system] primary authentication 10.110.91.146

[H3C-hwtacacs-system] primary authorization 10.110.91.146

[H3C-hwtacacs-system] primary accounting 10.110.91.146

[H3C-hwtacacs-system] key authentication expert

[H3C-hwtacacs-system] key authorization expert

[H3C-hwtacacs-system] key accounting expert

[H3C-hwtacacs-system] user-name-format with-domain

[H3C-hwtacacs-system] quit

# 配置domain和HWTACACS方案的关联。

[H3C] domain tacacs

[H3C-isp-tacacs] scheme hwtacacs-scheme system

(2)        配置TACACS服务器

l              配置IP地址

l              配置共享密钥

l              添加Telnet用户名test@tacacs

l              启动一次性认证

(3)        登录过程

Telnet一次性认证用户登录过程如下。

图2-11 Telnet用户登录界面

第一步:输入用户名test@tacacs;

第二步: 输入用户的私有密码。

2.7  AAA及RADIUS/HWTACACS协议故障的诊断与排除

2.7.1  RADIUS协议故障诊断与排除

RADIUS协议在TCP/IP协议族中处于应用层,它主要规定NAS与ISP的RADIUS服务器间如何交互用户信息,因此它失效的可能性比较大。

l              故障之一:用户认证/授权总是失败

故障排除:

(1)        用户名不是“userid@isp-name”的形式,或NAS没有指定缺省的ISP域——请使用正确形式的用户名或在NAS中设定缺省的ISP域。

(2)        RADIUS服务器的数据库中没有配置该用户——检查RADIUS服务器的数据库以保证该用户的配置信息确实存在。

(3)        用户侧输入的密码不正确——请保证接入用户输入正确的密码。

(4)        RADIUS服务器和NAS的报文共享密钥不同——请仔细比较两端的共享密钥,确保它们相同。

(5)        NAS与RADIUS服务器之间存在通信故障(可以通过在NAS上ping RADIUS服务器来检查)——请保证NAS与RADIUS服务器之间能够正常通信。

l              故障之二:RADIUS报文无法传送到RADIUS服务器

故障排除:

(1)        NAS与RADIUS服务器之间的通信线路不通(物理层/链路层)——请保证线路通畅。

(2)        NAS上没有设置相应的RADIUS服务器IP地址——请保证正确设置RADIUS服务器的IP地址。

(3)        认证/授权和计费服务的UDP端口设置得不正确——请保证与RADIUS服务器提供的端口号一致。

l              故障之三:用户认证通过并获得授权,但是不能向RADIUS服务器传送计费话单。

故障排除:

(1)        计费端口号设置得不正确——请正确设置RADIUS计费端口号。

(2)        计费服务器和认证/授权服务器不是同一台机器,NAS却要求认证/授权和计费在同一个服务器(IP地址相同)——请保证NAS的认证/授权和计费服务器的设置与实际情况相同。

2.7.2  HWTACACS协议故障诊断与排除

HWTACACS的故障现象与RADIUS基本相似,可以参考上面内容。

 


第3章  访问控制列表配置

3.1  访问控制列表简介

3.1.1  访问控制列表概述

路由器为了过滤数据包,需要配置一系列的规则,以决定什么样的数据包能够通过,这些规则就是通过访问控制列表ACL(Access Control List)定义的。访问控制列表是由permitdeny语句组成的一系列有顺序的规则,这些规则根据数据包的源地址、目的地址、端口号等来描述。ACL通过这些规则对数据包进行分类,这些规则应用到路由器接口上,路由器根据这些规则判断哪些数据包可以接收,哪些数据包需要拒绝。

3.1.2  访问控制列表的分类

按照访问控制列表的用途,可以分为四类:

l              基本的访问控制列表(basic acl)

l              高级的访问控制列表(advanced acl)

l              基于接口的访问控制列表(interface-based acl)

访问控制列表的使用用途是依靠数字的范围来指定的,1000~1999是基于接口的访问控制列表,2000~2999范围的访问控制列表是基本的访问控制列表,3000~3999范围的访问控制列表是高级的访问控制列表。

3.1.3  访问控制列表的匹配顺序

一个访问控制列表可以由多条“permitdeny”语句组成,每一条语句描述的规则是不同的,这些规则可能存在重复或矛盾的地方,在将一个数据包和访问控制列表的规则进行匹配的时候,到底采用哪些规则呢?就需要确定规则的匹配顺序。

有两种匹配顺序:

l              配置顺序

l              自动排序

配置顺序,是指按照用户配置ACL的规则的先后进行匹配。

自动排序使用“深度优先”的原则。

“深度优先”规则是把指定数据包范围最小的语句排在最前面。这一点可以通过比较地址的通配符来实现,通配符越小,则指定的主机的范围就越小。比如129.102.1.1 0.0.0.0指定了一台主机:129.102.1.1,而129.102.1.1 0.0.255.255则指定了一个网段:129.102.1.1~129.102.255.255,显然前者在访问控制规则中排在前面。具体标准为:对于基本访问控制规则的语句,直接比较源地址通配符,通配符相同的则按配置顺序;对于基于接口的访问控制规则,配置了“any”的规则排在后面,其它按配置顺序;对于高级访问控制规则,首先比较源地址通配符,相同的再比较目的地址通配符,仍相同的则比较端口号的范围,范围小的排在前面,如果端口号范围也相同则按配置顺序。

使用display acl命令就可以看出是哪条规则首先生效。显示时,列在前面的规则首先生效。

3.1.4  访问控制列表的创建

一个访问控制列表是由permitdeny语句组成的一系列的规则列表,若干个规则列表构成一个访问控制列表。在配置访问控制列表的规则之前,首先需要创建一个访问控制列表。

可以使用如下命令创建一个访问控制列表:

acl number acl-number [ match-order { config | auto } ]

使用如下的命令删除一个或所有的访问控制列表:

undo acl { number acl-number | all }

参数说明:

l              number acl-number:定义一个ACL。

l              acl-number:访问控制规则序号。1000~1999是基于接口的访问控制列表,2000~2999范围的访问控制列表是基本的访问控制列表,3000~3999范围的访问控制列表是高级的访问控制列表。

l              match-order config:指定匹配该规则时按用户的配置顺序。

l              match-order auto:指定匹配该规则时系统自动排序,即按“深度优先”的顺序。

l              all:删除所有配置的ACL。

缺省情况下匹配顺序为按用户的配置排序,即“config”。用户一旦指定某一条访问控制列表的匹配顺序,就不能再更改该顺序,除非把该ACL的内容全部删除,再重新指定其匹配顺序。

创建了一个访问控制列表之后,将进入ACL视图,ACL视图是按照访问控制列表的用途来分类的,例如创建了一个编号为3000的ACL,将进入高级ACL视图,路由器的提示符如下所示:

[H3C-acl-adv-3000]

进入了ACL视图之后,就可以配置ACL的规则了。对于不同的ACL,其规则是不一样的,具体的各种ACL的规则的配置方法将在后面小节分别介绍。

3.1.5  基本访问控制列表

基本访问控制列表只能使用源地址信息,做为定义访问控制列表的规则的元素。通过上面小节介绍的acl命令,可以创建一个基本的访问控制列表,同时进入基本访问控制列表视图,在基本访问控制列表视图下,可以创建基本访问控制列表的规则。

可以使用如下的命令定义一个基本访问控制列表的规则:

rule [ rule-id ] { permit | deny } [ source { sour-addr sour-wildcard | any } ] [ time-range time-name ] [ logging ] [ fragment ]

参数说明:

l              rule-id:可选参数,ACL规则编号,范围为0~65534。当指定了编号,如果与编号对应的ACL规则已经存在,则会部分覆盖旧的规则,相当于编辑一个已经存在的ACL规则。故建议用户当编辑一个已存在编号的规则时,先将旧的规则删除,再创建新的规则,否则配置结果可能与预期的效果不同。如果与编号对应的ACL规则不存在,则使用指定的编号创建一个新的规则。如果不指定编号,表示增加一个新规则,系统自动会为这个ACL规则分配一个编号,并增加新规则。

l              permit:允许符合条件的数据包。

l              deny:丢弃符合条件的数据包。

l              source:可选参数,指定ACL规则的源地址信息。如果不指定,表示报文的任何源地址都匹配。

l              sour-addr:数据包的源地址,点分十进制表示。

l              sour-wildcard:源地址通配符,点分十进制表示。

l              any:表示所有源地址,作用与源地址是0.0.0.0,通配符是255.255.255.255相同。

l              time-range:可选参数,指定访问控制列表的生效时间。

l              time-name访问控制列表生效的时间段名字。

l              logging:可选参数,是否对符合条件的数据包做日志。日志内容包括访问控制规则的序号,数据包允许或被丢弃,数据包的数目。

l              fragment:可选参数,指定该规则是否仅对非首片分片报文有效。当包含此参数时表示该规则仅对非首片分片报文有效。

对已经存在的ACL规则,如果采用指定ACL规则编号的方式进行编辑,没有配置的部分是不受影响的。例如:

先配置了一个ACL规则:

rule 1 deny source 1.1.1.1 0

然后再对这个ACL规则进行编辑:

rule 1 deny logging

这个时候,ACL的规则则变成:

rule 1 deny source 1.1.1.1 0 logging

可以使用如下命令删除一个基本访问控制列表的规则:

undo rule rule-id [ source ] [ time-range ] [ logging ] [ fragment ]

参数说明:

l              rule-idACL规则编号,必须是一个已经存在的ACL规则编号。如果后面不指定参数,则将这个ACL规则完全删除。否则只是删除对应ACL规则的部分信息。

l              source:可选参数,仅仅删除编号对应的ACL规则的源地址部分的信息设置。

l              time-range:可选参数,仅仅删除编号对应的ACL规则在规定时间生效的设置。

l              logging:可选参数,仅仅删除编号对应的ACL规则对符合条件的数据包做日志的设置。

l              fragment:可选参数,仅仅删除编号对应的ACL规则仅对非首片分片报文有效的设置。

3.1.6  高级访问控制列表

高级访问控制列表可以使用数据包的源地址信息、目的地址信息、IP承载的协议类型、针对协议的特性,例如TCP的源端口、目的端口,ICMP协议的类型、代码等内容定义规则。可以利用高级访问控制列表定义比基本访问控制列表更准确、更丰富、更灵活的规则。

通过前面小节介绍的acl命令,可以创建一个高级的访问控制列表,同时进入高级访问控制列表视图,在高级访问控制列表视图下,可以创建高级访问控制列表的规则。

可以使用如下的命令定义一个高级访问控制列表规则:

rule [ rule-id ] { permit | deny } protocol [ source { sour-addr sour-wildcard | any } ] [ destination { dest-addr dest-wildcard | any } ] [ soucre-port operator port1 [ port2 ] ] [ destination-port operator port1 [ port2 ] ] [ icmp-type { icmp-message | icmp-type icmp-code } ] [ dscp dscp ] [ established ] [ precedence precedence ] [ tos tos ] [ time-range time-name ] [ logging ] [ fragment ]

参数说明:

l              rule-id:可选参数,ACL规则编号,范围为0~65534。当指定了编号,如果与编号对应的ACL规则已经存在,则会部分覆盖旧的规则,相当于编辑一个已经存在的ACL规则。故建议用户当编辑一个已存在编号的规则时,先将旧的规则删除,再创建新的规则,否则配置结果可能与预期的效果不同。如果与编号对应的ACL规则不存在,则使用指定的编号创建一个新的规则。如果不指定编号,表示增加一个新规则,系统自动会为这个ACL规则分配一个编号。

l              deny:拒绝符合条件的数据包。

l              permit:允许符合条件的数据包。

l              protocol:用名字或数字表示的IP承载的协议类型。数字范围为1~255;名称取值范围为:gre、icmp、igmp、ip、ipinip、ospf、tcp、udp。

l              source:可选参数,指定ACL规则的源地址信息。如果不配置,表示报文的任何源地址都匹配。

l              sour-addr:数据包的源地址,点分十进制表示。

l              sour-wildcard:源地址通配符,点分十进制表示。

l              destination:可选参数,指定ACL规则的目的地址信息。如果不配置,表示报文的任何目的地址都匹配。

l              dest-addr:数据包的目的地址,点分十进制表示。

l              dest-wildcard:目的地址通配符,点分十进制表示。

l              any:表示所有源地址或目的地址,作用与源或目的地址是0.0.0.0,通配符是255.255.255.255相同。

l              icmp-type:可选参数,指定ICMP报文的类型和消息码信息,仅仅在报文协议是ICMP的情况下有效。如果不配置,表示任何ICMP类型的报文都匹配。

l              icmp-type:ICMP包可以依据ICMP的消息类型进行过滤。取值为0~255的数字。

l              icmp-code:依据ICMP的消息类型进行过滤的ICMP包也可以依据消息码进行过滤。取值为0~255的数字。

l              icmp-message:ICMP包可以依据ICMP消息类型名称或ICMP消息类型和码的名称进行过滤。

l              source-port:可选参数,指定UDP或者TCP报文的源端口信息,仅仅在规则指定的协议号是TCP或者UDP有效。如果不指定,表示TCP/UDP报文的任何源端口信息都匹配。

l              destination-port:可选参数,指定UDP或者TCP报文的目的端口信息,仅仅在规则指定的协议号是TCP或者UDP有效。如果不指定,表示TCP/UDP报文的任何目的端口信息都匹配。

l              operator:可选参数。比较源或者目的地址的端口号的操作符,名字及意义如下:lt(小于),gt(大于),eq(等于),neq(不等于),range(在范围内)。只有range需要两个端口号做操作数,其他的只需要一个端口号做操作数。

l              port1port2:可选参数。TCP或UDP的端口号,用名称或数字表示,数字的取值范围为0~65535。

l              dscp dscp:指定DSCP字段(IP报文中的DS字节)。此参数与precedencetos互斥。

l              established:匹配所有标志为ACK和RST的TCP报文。包括SYN+ACK、ACK、FIN+ACK、RST、RST+ACK等几种报文。

l              precedence:可选参数,数据包可以依据优先级字段进行过滤。取值为0~7的数字或名称。此参数与dscp互斥。

l              tos tos:可选参数,数据包可以依据服务类型字段进行过滤。取值为0~15的数字或名称。此参数与dscp互斥。

该ToS值为ToS字段中的第四位到第七位(从左向右数)的4个比特,取值范围为0~15(如下面所示),而实际表示的值为0~30。

图3-1 ACL中ToS参数的含义

所以,当我们在ACL中配置了ToS值(如配置为1),然后在ping命令应用-tos时,必须对其值增大2倍(即必须配置为2),这样才能够通过ping命令测试在ACL中配置的ToS的结果。

l              logging:可选参数,是否对符合条件的数据包做日志。日志内容包括访问控制列表规则的序号,数据包允许或被丢弃,IP承载的上层协议类型,源/目的地址,源/目的端口号,数据包的数目。

l              time-range time-name:配置这条访问控制规则生效的时间段。

l              fragment:指定该规则是否仅对非首片分片报文有效。当包含此参数时表示该规则仅对非首片分片报文有效。

对已经存在的ACL规则,如果采用指定ACL规则编号的方式进行编辑,没有配置的部分是不受影响的。例如:

先配置了一个ACL规则:

rule 1 deny ip source 1.1.1.1 0

然后再对这个ACL规则进行编辑:

rule 1 deny ip destination 2.2.2.1 0

这个时候,ACL的规则则变成:

rule 1 deny ip source 1.1.1.1 0 destination 2.2.2.1 0

可以使用如下命令删除一个高级访问控制列表的规则:

undo rule rule-id [ source ] [ destination ] [ source-port ] [ destination-port ] [ icmp-type ] [ dscp ] [ precedence ] [ tos ] [ time-range ] [ logging ] [ fragment ]

参数说明:

l              rule-id:ACL规则编号,必须是一个已经存在的ACL规则编号。如果后面不指定参数,则将这个ACL规则完全删除。否则只是删除对应ACL规则的部分信息。

l              source:可选参数,仅仅删除编号对应的ACL规则的源地址部分的信息设置。

l              destination:可选参数,仅仅删除编号对应的ACL规则的目的地址部分的信息设置。

l              source-port:可选参数,仅仅删除编号对应的ACL规则的源端口部分的信息设置,仅仅在规则的协议号是TCP或者UDP的情况下有效。

l              destination-port:可选参数,仅仅删除编号对应的ACL规则的目的端口部分的信息设置,仅仅在规则的协议号是TCP或者UDP的情况下有效。

l              icmp-type:可选参数,仅仅删除编号对应的ACL规则ICMP类型和消息码部分的信息设置,仅仅在规则的协议号是ICMP的情况下有效。

l              dscp:可选参数,仅仅删除编号对应的ACL规则的DSCP字段的相关设置。

l              precedence:可选参数,仅仅删除编号对应的ACL规则的precedence的相关设置。

l              tos:可选参数,仅仅删除编号对应的ACL规则的tos的相关设置。

l              time-range:可选参数,仅仅删除编号对应的ACL规则在规定时间生效的设置。

l              logging:可选参数,仅仅删除编号对应的ACL规则对符合条件的数据包做日志的设置。

l              fragment:可选参数,仅仅删除编号对应的ACL规则仅对非首片分片报文有效的设置。

只有TCP和UDP协议需要指定端口范围。支持的操作符及其语法如下表。

表3-1 高级访问控制列表的操作符意义

操作符及语法

意义

eq portnumber

等于端口号portnumber

gt portnumber

大于端口号portnumber

lt portnumber

小于端口号portnumber

neq portnumber

不等于端口号portnumber

range portnumber1 portnumber2

介于端口号portnumber1和portnumber2之间

 

在指定portnumber时,对于部分常见的端口号,可以用相应的助记符来代替其实际数字,支持的助记符如下表。

表3-2 端口号助记符

协议

助记符

意义及实际值

TCP

Bgp

Chargen

Cmd

Daytime

Discard

Domain

Echo

Exec

Finger

Ftp

Ftp-data

Gopher

Hostname

Irc

Klogin

Kshell

Login

Lpd

Nntp

Pop2

Pop3

Smtp

Sunrpc

Syslog

Tacacs

Talk

Telnet

Time

Uucp

Whois

Www

Border Gateway Protocol (179)

Character generator (19)

Remote commands (rcmd, 514)

Daytime (13)

Discard (9)

Domain Name Service (53)

Echo (7)

Exec (rsh, 512)

Finger (79)

File Transfer Protocol (21)

FTP data connections (20)

Gopher (70)

NIC hostname server (101)

Internet Relay Chat (194)

Kerberos login (543)

Kerberos shell (544)

Login (rlogin, 513)

Printer service (515)

Network News Transport Protocol (119)

Post Office Protocol v2 (109)

Post Office Protocol v3 (110)

Simple Mail Transport Protocol (25)

Sun Remote Procedure Call (111)

Syslog (514)

TAC Access Control System (49)

Talk (517)

Telnet (23)

Time (37)

Unix-to-Unix Copy Program (540)

Nicname (43)

World Wide Web (HTTP, 80)

UDP

biff

bootpc

bootps

discard

dns

dnsix

echo

mobilip-ag

mobilip-mn

nameserver

netbios-dgm

netbios-ns

netbios-ssn

ntp

rip

snmp

snmptrap

sunrpc

syslog

tacacs-ds

talk

tftp

time

who

Xdmcp

Mail notify (512)

Bootstrap Protocol Client (68)

Bootstrap Protocol Server (67)

Discard (9)

Domain Name Service (53)

DNSIX Securit Attribute Token Map (90)

Echo (7)

MobileIP-Agent (434)

MobilIP-MN (435)

Host Name Server (42)

NETBIOS Datagram Service (138)

NETBIOS Name Service (137)

NETBIOS Session Service (139)

Network Time Protocol (123)

Routing Information Protocol (520)

SNMP (161)

SNMPTRAP (162)

SUN Remote Procedure Call (111)

Syslog (514)

TACACS-Database Service (65)

Talk (517)

Trivial File Transfer (69)

Time (37)

Who(513)

X Display Manager Control Protocol (177)

 

l              对于ICMP协议可以指定ICMP报文类型,缺省为全部ICMP报文。指定ICMP报文类型时,可以用数字(0~255),也可以用助记符。

表3-3 ICMP报文类型助记符

助记符

意义

echo

echo-reply

fragmentneed-DFset

host-redirect

host-tos-redirect

host-unreachable

information-reply

information-request

net-redirect

net-tos-redirect

net-unreachable

parameter-problem

port-unreachable

protocol-unreachable

reassembly-timeout

source-quench

source-route-failed

timestamp-reply

timestamp-request

ttl-exceeded

Type=8, Code=0

Type=0, Code=0

Type=3, Code=4

Type=5, Code=1

Type=5, Code=3

Type=3, Code=1

Type=16,Code=0

Type=15,Code=0

Type=5, Code=0

Type=5, Code=2

Type=3, Code=0

Type=12,Code=0

Type=3,  Code=3

Type=3, Code=2

Type=11,Code=1

Type=4,  Code=0

Type=3,  Code=5

Type=14,Code=0

Type=13,Code=0

Type=11,Code=0

 

配置举例请参考命令手册。

这样,用户通过配置防火墙,添加适当的访问规则,就可以利用包过滤来对通过路由器的IP包进行检查,从而过滤掉用户不希望通过路由器的数据包,起到保护网络安全的作用。

3.1.7  基于接口的访问控制列表

基于接口的访问控制列表,是一种特殊的访问控制列表,可以根据接收报文的接口指定规则。

通过前面小节介绍的acl命令,可以创建一个基于接口的访问控制列表,同时进入基于接口的访问控制列表视图,在基于接口的访问控制列表视图下,可以创建基于接口的访问控制列表规则。

可以使用如下的命令定义一个基于接口的访问控制列表规则:

rule [ rule-id ] { permit | deny } interface { interface-type interface-number | any } [ time-range time-name ] [ logging ]

参数说明:

l              rule-id:可选参数,ACL规则编号,范围为0~65534。当指定了编号,如果与编号对应的ACL规则已经存在,则会部分覆盖旧的规则,相当于编辑一个已经存在的ACL规则。故建议用户当编辑一个已存在编号的规则时,先将旧的规则删除,再创建新的规则,否则配置结果可能与预期的效果不同。如果与编号对应的ACL规则不存在,则使用指定的编号创建一个新的规则。如果不指定编号,表示增加一个新规则,系统自动会为这个ACL规则分配一个编号,并增加新规则。

l              deny:丢弃符合条件的数据包。

l              permit:允许符合条件的数据包。

l              interface interface-type interface-number:指定数据包的接口信息。any代表所有的接口。

l              logging:可选参数,是否对符合条件的数据包做日志。日志内容包括访问控制列表规则的序号,数据包允许或被丢弃,数据包的数目。

l              time-range time-name:配置这条访问控制规则生效的时间段。

可以使用如下的命令删除一个基于接口的访问控制列表的规则:

undo rule rule-id [ logging ] [ time-range ]

参数说明:

l              rule-idACL规则编号,必须是一个已经存在的ACL规则编号。

l              logging:可选参数,是否对符合条件的数据包做日志。日志内容包括访问控制列表规则的序号,数据包允许或被丢弃,数据包的数目。

l              time-range:可选参数,指定规则在一定时间段内有效。

3.1.8  ACL对分片报文的支持

传统的包过滤并不处理所有IP报文分片,而是只对第一个(首片)分片报文进行匹配处理,后续分片一律放行。这样,网络攻击者可能构造后续的分片报文进行流量攻击,就带来了安全隐患。

Comware平台的包过滤提供了对分片报文过滤的功能,包括:对所有的分片报文进行三层(IP层)的匹配过滤;同时,对于包含扩展信息的ACL规则项(例如包含TCP/UDP端口号,ICMP类型),提供标准匹配和精确匹配两种匹配方式。标准匹配即三层信息的匹配,匹配将忽略三层以外的信息;精确匹配则对所有的ACL项条件进行匹配,这就要求防火墙必须记录首片分片报文的状态以获得完整的后续分片的匹配信息。若使用精确匹配,则必须在相应的接口使用undo ip fast-forwarding命令关闭快速转发功能。缺省的功能方式为标准匹配方式。

在ACL的规则配置项中,通过关键字fragment来标识该ACL规则仅对非首片分片报文有效,而对非分片报文和首片分片报文则忽略此规则。而不包含此关键字的配置规则项对所有报文均有效。

例如:

[H3C-acl-basic-2000] rule deny source 202.101.1.0 0.0.0.255 fragment

[H3C-acl-basic-2000] rule permit source 202.101.2.0 0.0.0.255

[H3C-acl-adv-3001] rule permit ip destination 171.16.23.1 0 fragment

[H3C-acl-adv-3001] rule deny ip destination 171.16.23.2 0

上述规则项中,所有项对非首片分片报文均有效;第一,三项对非分片和首片分片报文是被忽略的,仅仅对非首片分片报文有效。

3.2  访问控制列表配置

访问控制列表的配置包括:

l              配置基本访问控制列表

l              配置高级访问控制列表

l              配置基于接口的访问控制列表

l              配置基于MAC地址的访问控制列表

l              为ACL添加描述

l              为ACL规则添加注释

l              删除访问控制列表

3.2.1  配置基本访问控制列表

请进行下列配置。

表3-4 配置基本访问控制列表

操作

命令

在系统视图下,创建一个基本访问控制列表。

acl number acl-number [ match-order { config | auto } ]

在基本访问控制列表视图下,配置ACL规则

rule [ rule-id ] { permit | deny } [ source { sour-addr sour-wildcard | any } ] [ time-range time-name ] [ logging ] [ fragment ]

undo rule rule-id [ source ] [ time-range ] [ logging ] [ fragment ]

 

3.2.2  配置高级访问控制列表

请进行下列配置。

表3-5 配置高级访问控制列表

操作

命令

在系统视图下,创建一个高级访问控制列表。

acl number acl-number [ match-order { config | auto } ]

在高级访问控制列表视图下,配置ACL规则

rule [ rule-id ] { permit | deny } protocol [ source { sour-addr sour-wildcard | any } ] [ destination { dest-addr dest-wildcard | any } ] [ source-port operator port1 [ port2 ] ] [ destination-port operator port1 [ port2 ] ] [ icmp-type {icmp-type icmp-code | icmp-message} ] [ precedence precedence ] [ dscp dscp ] [ established ] [ tos tos ] [ time-range time-name ] [ logging ] [ fragment ]

undo rule rule-id [ source ] [ destination ] [ source-port ] [ destination-port ] [ icmp-type ] [ precedence ] [ dscp ] [ tos ] [ time-range ] [ logging ] [ fragment ]

 

3.2.3  配置基于接口的访问控制列表

请进行下列配置。

表3-6 配置基于接口的访问控制列表

操作

命令

在系统视图下,创建一个基于接口的访问控制列表。

acl number acl-number [ match-order { config | auto } ]

在基于接口的访问控制列表视图下,配置ACL规则。

rule { permit | deny } interface { interface-type interface-number | any } [ time-range time-name ] [ logging ]

undo rule rule-id [ time-range ] [ logging ]

 

其中,interface interface-type interface-number指定接口,any表示所有接口。

3.2.4  为ACL添加描述

用户可以为ACL添加描述,以便记忆所配置ACL的用途,这对于需要管理大量和复杂的ACL的用户来说,极大减少了其维护和管理的复杂性。

请在ACL视图下进行下列配置。

表3-7 为ACL添加描述

操作

命令

为ACL添加描述

description text

删除ACL的描述

undo description

 

描述内容最长为127个字符。

3.2.5  为ACL规则添加注释

用户可以为特定的ACL规则添加注释,以便记忆所配置规则的用途,极大的减少了维护和管理的复杂性。

请在ACL视图下进行下列配置。

表3-8 为ACL规则添加注释

操作

命令

为ACL规则添加注释

rule rule-id comment text

删除ACL规则的注释

undo rule rule-id comment

 

注释内容最长为127个字符。

3.2.6  删除访问控制列表

请在系统视图下进行下列配置。

表3-9 删除访问控制列表

操作

命令

删除访问控制列表

undo acl { number acl-number | all}

 

3.3  时间段配置

时间段的配置包括:

l              创建一个时间段

3.3.1  创建/删除一个时间段

在同一个名字下可以配置多个时间段,这些时间段是“或”关系。

请在系统视图下进行下列配置。

表3-10 配置时间段

操作

命令

创建一个时间段

time-range time-name [ start-time to end-time ] [ days ] [ from time1 date1 ] [ to time2 date2 ]

删除一个时间段

undo time-range time-name [ start-time to end-time ] [ days ] [ from time1 date1 ] [ to time2 date2 ]

 

3.4  访问控制列表的显示与调试

在完成上述配置后,在所有视图下执行display命令可以显示配置后ACL和时间段的运行情况,通过查看显示信息确认配置的效果。在用户视图下执行reset命令可以清除访问规则计数器。

表3-11 访问控制列表的显示与调试

操作

命令

显示配置的访问控制列表规则

display acl { all | acl-number }

显示时间段

display time-range { all | time-name }

清除访问规则计数器

reset acl counter { all | acl-number }

 

3.5  访问控制列表典型配置案例

请参见包过滤防火墙部分典型配置案例。

 


第4章  地址转换(NAT)配置

4.1  地址转换(NAT)简介

4.1.1  地址转换概述

如RFC1631所描述,NAT(Network Address Translation,网络地址转换)是将IP数据报报头中的IP地址转换为另一个IP地址的过程。在实际应用中,NAT主要用于实现私有网络访问外部网络的功能。这种通过使用少量的公有IP地址代表多数的私有IP地址的方式将有助于减缓可用IP地址空间枯竭的速度。

&  说明:

私有地址是指内部网络或主机地址,公有地址是指在Internet上全球唯一的IP地址。

RFC1918为私有网络预留出了三个IP地址块,如下:

A类:10.0.0.0~10.255.255.255

B类:172.16.0.0~172.31.255.255

C类:192.168.0.0~192.168.255.255

上述三个范围内的地址不会在Internet上被分配,因而可以不必向ISP或注册中心申请而在公司或企业内部自由使用。

 

下图描述了一个基本的NAT应用。

图4-1 地址转换的基本过程

NAT服务器处于私有网络和公有网络的连接处。当内部PC(192.168.1.3)向外部服务器(202.120.10.2)发送一个数据报1时,数据报将通过NAT服务器。NAT进程查看报头内容,发现该数据报是发往外网的,那么它将数据报1的源地址字段的私有地址192.168.1.3换成一个可在Internet上选路的公有地址202.169.10.1,并将该数据报发送到外部服务器,同时在网络地址转换表中记录这一映射;外部服务器给内部PC发送应答报文2(其初始目的地址为202.169.10.1),到达NAT服务器后,NAT进程再次查看报头内容,然后查找当前网络地址转换表的记录,用原来的内部PC的私有地址192.168.1.3替换目的地址。

上述的NAT过程对终端(如图中的PC和服务器)来说是透明的。对外部服务器而言,它认为内部PC的IP地址就是202.169.10.1,并不知道有192.168.1.3这个地址。因此,NAT“隐藏”了企业的私有网络。

地址转换的优点在于,为内部主机提供了“隐私”(Privacy)保护前提下,实现了内部网络的主机通过该功能访问外部网络资源。但它也有一些缺点:

l              由于需要对数据报文进行IP地址的转换,涉及IP地址的数据报的报头不能被加密。在应用协议中,如果报文中有地址或端口需要转换,则报文不能被加密。例如,不能使用加密的FTP连接,否则FTP的port命令不能被正确转换。

l              网络调试变得更加困难。比如,某一台内部网络的主机试图攻击其它网络,则很难指出究竟是哪一台机器是恶意的,因为主机的IP地址被屏蔽了。

l              在链路的带宽低于10Mbit/s速率时,地址转换对网络性能基本不构成影响,此时,网络传输的瓶颈在传输线路上;当速率高于10Mbit/s时,地址转换将对路由器性能产生一些影响。

4.2  地址转换实现的功能

4.2.1  多对多地址转换及地址转换的控制

图4-1的地址转换过程可见,当内部网络访问外部网络时,地址转换将会选择一个合适的外部地址,替代内部网络数据报文的源地址。在上图中是选择NAT服务器出接口的IP地址(公有地址)。这样所有内部网络的主机访问外部网络时,只能拥有一个外部的IP地址,因此,这种情况只允许最多有一台内部主机访问外部网络,这称为“一对一地址转换”。当内部网络的主机并发的要求访问外部网络时,“一对一地址转换”仅能够实现其中一台主机的访问请求。

NAT的一种变形实现了并发性。允许NAT服务器拥有多个公有IP地址,当第一个内部主机访问外网时,NAT选择一个公有地址IP1,在地址转换表中添加记录并发送数据报;当另一内部主机访问外网时,NAT选择另一个公有地址IP2,以此类推,从而满足了多台内部主机访问外网的请求。这称为“多对多地址转换”。

&  说明:

NAT服务器拥有的公有IP地址数目要远少于内部网络的主机数目,因为所有内部主机并不会同时访问外网。公有IP地址数目的确定,应根据网络高峰期可能访问外网的内部主机数目的统计值来确定。

 

在实际应用中,我们可能希望某些内部的主机具有访问Internet(外部网络)的权利,而某些主机不允许访问。即当NAT进程查看数据报报头内容时,如果发现源IP地址是为那些不允许访问网络的内部主机所拥有的,它将不进行NAT转换。这就是一个对地址转换进行控制的问题。

H3C系列路由器可以通过定义地址池来实现多对多地址转换,同时利用访问控制列表来对地址转换进行控制的。

l              地址池:用于地址转换的一些公有IP地址的集合。用户应根据自己拥有的合法IP地址数目、内部网络主机数目以及实际应用情况,配置恰当的地址池。地址转换的过程中,将会从地址池中挑`1选一个地址做为转换后的源地址。

l              利用访问控制列表限制地址转换:只有满足访问控制列表条件的数据报文才可以进行地址转换。这可以有效地控制地址转换的使用范围,使特定主机能够有权利访问Internet。

4.2.2  NAPT——网络地址端口转换

还有一种NAT变形――这就是NAPT(Network Address Port Translation),NAPT允许多个内部地址映射到同一个公有地址上,非正式的也可称之为“多对一地址转换”或地址复用。

NAPT映射IP地址和端口号,来自不同内部地址的数据报可以映射到同一外部地址,但它们被转换为该地址的不同端口号,因而仍然能够共享同一地址。也就是<私有地址+端口>与<公有地址+端口>之间的转换。

下图描述了NAPT的基本原理。

图4-2 NAPT地址复用示意图

如图所示,四个带有内部地址的数据报到达NAT服务器,其中数据报1和2来自同一个内部地址但有不同的源端口号,数据报3和4来自不同的内部地址但具有相同的源端口号。通过NAT映射,四个数据报都被转换到同一个外部地址,但每个数据报都赋予了不同的源端口号,因而仍保留了报文之间的区别。当回应报文到达时,NAT进程仍能够根据回应报文的目的地址和端口号来区别该报文应转发到的内部主机。

4.2.3  静态网段地址转换

该特性实现了一种新的NAT静态地址转换方式,即将指定范围内的内部主机地址转换为指定的公网网段地址,转换过程中只对网段地址进行转换,保持主机地址不变。当内部主机访问外部网络时,如果主机地址在指定的内部主机地址范围内,会被转换为对应的公网地址;同样当通过公网网段地址对内部主机进行访问时,可以直接访问到内部主机(该公网地址在转换后在指定的内部主机地址范围内)。

通过NAT网段地址转换功能实现了内部主机地址和公网地址的直接映射关系,且同时提供了类似NAT Server的功能。

静态网段地址转换方式中公网IP地址与私网IP地址一一对应,因此比较浪费IP地址空间,故可以考虑与传统的静态地址转换或动态地址转换配合使用,只要不存在地址冲突即可。

4.2.4  双向地址转换

常规地址转换技术只转换报文的源地址或目的地址,而双向地址转换(Bidirectional NAT)技术可以将报文的源地址和目的地址同时转换,该技术应用于内部网络主机地址与公网上主机地址重叠的情况。如图所示:内部网络主机PC1和公网上主机PC3的地址重叠。这种情况下,内部网络主机PC2访问主机PC3的报文不会到达目的主机,而会被错误的转发到主机PC1上。双向NAT技术通过在RouterA上配置重叠地址池到临时地址的映射关系(在实现常规NAT的基础上),将重叠地址转换为唯一的临时地址,来保证报文的正确转发。

图4-3 双向地址转换应用组网图

例如,在RouterA上配置双向地址转换:

第一步:配置常规NAT(多对多地址转换)。

配置NAT地址池200.0.0.1~200.0.0.100,并应用到广域网接口。

第二步:配置一组重叠地址到临时地址的映射。

10.0.0.0<-->3.0.0.0,子网掩码为24位。

此映射表示,重叠地址池与临时地址池一一对应,转换规则为:

临时地址 = 临时地址池首地址 + (重叠地址 – 重叠地址池首地址)

重叠地址 = 重叠地址池首地址 + (临时地址 – 临时地址池首地址)

当内部主机PC2直接用域名访问公网上的主机PC3时,报文的处理流程如下:

(1)        PC2发送解析域名为www.web.com的Web服务器的DNS请求,经公网DNS服务器解析后,RouterA收到DNS服务器的响应报文。RouterA检查DNS响应报文载荷中的解析回来的地址10.0.0.1,经检查该地址为重叠地址(与重叠地址池匹配),将地址10.0.0.1转换为对应的临时地址3.0.0.1。之后再对DNS响应报文进行目的地址转换(常规NAT处理),发送给PC2。

(2)        PC2用www.web.com对应的临时地址3.0.0.1发起访问,当报文到达RouterA时,先转换报文的源地址(常规NAT处理),再将报文的目的地址即临时地址,转换为对应的重叠地址10.0.0.1。

(3)        将报文送到广域网出接口,并经广域网逐跳转发至主机PC3。

(4)        当PC3给PC2返回的报文到达RouterA时,先检查报文的源地址10.0.0.1,该地址为重叠地址(与重叠地址池匹配),则将源地址转换为对应的临时地址3.0.0.1。之后再对返回报文的目的地址进行常规NAT转换,并发送给PC2。

4.2.5  内部服务器

NAT隐藏了内部网络的结构,具有“屏蔽”内部主机的作用,但是在实际应用中,可能需要提供给外部一个访问内部主机的机会,如提供给外部一个WWW的服务器,或是一台FTP服务器。使用NAT可以灵活地添加内部服务器,例如,可以使用202.169.10.10作为Web服务器的外部地址;使用202.110.10.11作为FTP服务器的外部地址;甚至还可以使用202.110.10.12:8080这样的地址作为Web的外部地址;还可为外部用户提供多台同样的服务器(如提供多台Web服务器)。

H3C系列路由器的NAT功能提供了内部服务器功能供外部网络访问。外部网络的用户访问内部服务器时,NAT将请求报文内的目的地址转换成内部服务器的私有地址。对内部服务器回应报文而言,NAT要将回应报文的源地址(私网地址)转换成公网地址。

4.2.6  Easy IP

Easy IP的概念很简单,当进行地址转换时,直接使用接口的公有IP地址作为转换后的源地址。同样它也利用访问控制列表控制哪些内部地址可以进行地址转换。

4.2.7  地址转换应用层网关

地址转换会导致许多对NAT敏感的应用协议无法正常工作,必须针对该协议进行特殊的处理。所谓对NAT敏感的协议是指该协议的某些报文的有效载荷中携带IP地址和(或)端口号,如果不进行特殊处理,将会严重影响后继的协议交互。

地址转换应用层网关(NAT Application Level Gateway,NAT ALG)是解决特殊协议穿越NAT的一种常用方式,该方法按照地址转换规则,对载荷中的IP地址和端口号进行替换,从而实现对该协议的透明中继。目前Comware的NAT ALG支持PPTP、DNS、FTP、ILS、NBT、H.323等协议。

4.3  NAT的配置

NAT配置包括:

l              配置地址池

l              配置Easy IP

l              配置静态地址转换

l              配置多对多地址转换

l              配置NAPT

l              配置内部服务器

l              配置地址转换有效时间(选配)

4.3.1  配置地址池

地址池是一些连续的IP地址集合,当内部数据包通过地址转换到达外部网络时,将会选择地址池中的某个地址作为转换后的源地址。

请在系统视图下进行下列配置。

表4-1 配置地址池

操作

命令

定义一个地址池

nat address-group group-number start-addr end-addr

删除一个地址池

undo nat address-group group-number

 

  注意:

当某个地址池已经和某个访问控制列表关联进行地址转换,是不允许删除这个地址池的。

 

&  说明:

如果路由器仅提供Easy IP功能,则不需要配置NAT地址池,直接使用接口地址作为转换后的IP地址。

 

4.3.2  配置地址转换

将访问控制列表和地址池关联(或接口地址)后,即可实现地址转换。这种关联指定了“具有某些特征的IP报文”才可以使用“这样的地址池中的地址(或接口地址)”。当内部网络有数据包要发往外部网络时,首先根据访问列表判定是否是允许的数据包,然后根据转换关联找到与之对应的地址池(或接口地址)进行转换。

访问控制列表的配置请参见第3章  访问控制列表配置

不同形式的地址转换,配置方法稍有不同。

1. Easy IP

如果地址转换命令不带address-group参数,即仅使用nat outbound acl-number命令,则实现了easy-ip的特性。地址转换时,直接使用接口的IP地址作为转换后的地址,利用访问控制列表控制哪些地址可以进行地址转换。

请在接口视图下进行下列配置。

表4-2 配置Easy IP

操作

命令

配置访问控制列表和接口地址关联

nat outbound acl-number

删除访问控制列表和接口地址的关联

undo nat outbound acl-number

 

当直接使用接口地址作为NAT转换后的公网地址时,若修改了接口地址,应该首先使用reset nat session命令清除原NAT地址映射表项,然后再访问外部网络;否则就会出现原有NAT表项不能自动删除,也无法使用reset nat命令删除的情况。

2. 使用指定loopback接口进行地址转换

请在接口视图下进行下列配置。

表4-3 使用指定loopback接口进行地址转换

操作

命令

配置访问控制列表和指定的loopback接口地址关联

nat outbound acl-number interface interface-type interface-number

删除访问控制列表和指定loopback接口地址的关联

undo nat outbound acl-number interface interface-type interface-number

 

匹配访问控制列表的数据报文的源地址将转换为指定的loopback接口的IP地址。

3. 配置静态地址转换表

(1)        配置一对一静态地址转换表

请在系统视图下进行下列配置。

表4-4 配置一对一地址转换

操作

命令

配置从内部地址到外部地址的一对一转换

nat static ip-addr1 ip-addr2

删除已经配置得NAT一对一转换

undo nat static ip-addr1 ip-addr2

 

(2)        配置静态网段地址转换表

使用静态网段地址转换时,只进行网段地址的转换,而保持主机地址不变。

请在系统视图下进行下列配置。

表4-5 配置网段地址静态转换表

操作

命令

配置从内部地址到外部地址的静态网段地址转换表

nat static net-to-net inside-start-address inside-end-address global global-address mask

删除已经配置的NAT网段地址转换表

undo nat static net-to-net inside-start-address inside-end-address global global-address mask

 

nat static net-to-netnat static会分别创建两种不同的NAT静态表项,在具体的配置中,两种NAT静态表项不存在冲突即可。

  注意:

在配置静态网段地址转换时,应该确保转换后的地址不会被网络拓扑中的其他设备使用。

 

(3)        使静态转换表项在接口上生效

请在接口视图下进行下列配置。

表4-6 使静态转换表项在接口上生效

操作

命令

使已经配置的NAT静态转换表项在接口上生效

nat outbound static

禁止在接口上配置的NAT静态转换表项生效

undo nat outbound static

 

4. 配置多对多地址转换

将访问控制列表和地址池关联后,即可实现多对多地址转换。

请在接口视图下进行下列配置。

表4-7 配置多对多地址转换

操作

命令

配置访问控制列表和地址池关联

nat outbound acl-number address-group group-number [ no-pat ]

删除访问控制列表和地址池的关联

undo nat outbound acl-number address-group group-number [ no-pat ]

 

5. 配置NAPT

将访问控制列表和NAT地址池关联时,如果选择no-pat参数,则表示只转换数据包的IP地址而不使用端口信息,即不使用NAPT功能;如果不选择no-pat参数,则启用NAPT功能。缺省情况是启用。

请在接口视图下进行下列配置。

表4-8 配置NAPT

操作

命令

配置访问控制列表和地址池关联

nat outbound acl-number [ address-group group-number ]

删除访问控制列表和地址池的关联

undo nat outbound acl-number [ address-group group-number ]

 

6. 配置双向地址转换

请在系统视图下进行下面配置。

表4-9 配置双向地址转换

操作

命令

配置重叠地址池到临时地址池的映射

nat overlapaddress number overlappool-startaddress temppool-startaddress { pool-length pool-length | address-mask mask }

删除重叠地址池到临时地址池的映射

undo nat overlapaddress number

 

4.3.3  配置内部服务器

通过配置内部服务器,可将相应的外部地址、端口等映射到内部的服务器上,提供了外部网络可访问内部服务器的功能。内部服务器与外部网络的映射表是由nat server命令配置的。

用户需要提供的信息包括:外部地址、外部端口、内部服务器地址、内部服务器端口以及服务协议类型。

请在接口视图下进行下列配置。

表4-10 配置内部服务器

操作

命令

配置一个内部服务器

nat server [ acl-number ] protocol pro-type global global-addr [ global-port ] inside host-addr [ host-port ]

nat server [ acl-number ] protocol pro-type global global-addr global-port1 global-port2 inside host-addr1 host-addr2 host-port

删除一个内部服务器

undo nat server [ acl-number ] protocol pro-type global global-addr [ global-port ] inside host-addr [ host-port ]

undo nat server [ acl-number ] protocol pro-type global global-addr global-port1 global-port2 inside host-addr1 host-addr2 host-port

 

  注意:

global-portinside-port只要有一个定义了any,则另一个要么不定义,要么是any。

 

4.3.4  配置地址转换应用层网关

请在系统视图下进行下面配置

表4-11 配置地址转换应用层网关

操作

命令

配置地址转换应用层网关

nat alg { dns | ftp | h323 | ils | msn | nbt | pptp }

禁用地址转换应用层网关功能

undo nat alg { dns | ftp | h323 | ils | msn | nbt | pptp }

 

缺省情况下,使能地址转换应用层网关功能。

4.3.5  配置内部主机通过域名区分并访问其对应的内部服务器

当内部网络无DNS服务器,但存在类型不同的多台内部服务器(如FTP、WWW等),且内部主机希望通过不同域名区分并访问其对应的内部服务器时,请在系统视图下进行下面配置。

表4-12 配置内部主机通过域名区分并访问其对应的内部服务器

操作

命令

配置一条域名到外部IP地址、端口号、协议类型的映射

nat dns-map domain-name global-addr global-port [ tcp | udp ]

删除一条域名到外部IP地址、端口号、协议类型的映射。

undo nat dns-map domain-name

 

系统最多允许配置16条映射。

4.3.6  配置地址转换有效时间

由于地址转换所使用的HASH表不能永久存在,该命令支持用户可为TCP、UDP、ICMP协议分别设置HASH表有效的时间,若在设定的时间内未使用该HASH表,将失效。举例来说,某个IP地址为10.110.10.10的用户利用端口2000进行了一次对外TCP连接,地址转换为它分配了相应的地址和端口,但是若在一定时间内他一直未使用这个TCP连接,系统将把这个连接删除。

请在系统视图下进行下列配置。

表4-13 配置地址转换的有效时间

操作

命令

配置地址转换有效时间

nat aging-time { default | { dns | ftp-ctrl | ftp-data | icmp | pptp | tcp | tcp-fin | tcp-syn | udp } seconds }

 

参数default表示采用系统缺省的地址转换有效时间。

缺省情况下,DNS协议地址转换有效时间为60秒,FTP协议控制链路地址转换有效时间为7200秒,FTP协议数据链路地址转换有效时间为300秒,PPTP协议地址转换有效时间为86400秒,TCP地址转换有效时间为86400秒,TCP协议FIN、RST或SYN连接地址转换有效时间为60秒,UDP地址转换有效时间为300秒,ICMP地址转换有效时间为60秒。ALG的默认老化时间和对应的应用有关,同时为防止攻击,首包老化时间设置为5秒。

4.4  地址转换显示和调试

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

在用户视图下,执行reset命令可以清除该运行情况。

在用户视图下,执行debugging命令可以对地址转换进行调试。

表4-14 地址转换显示和调试

操作

命令

查看地址转换的状况

display nat { address-group | aging-time | all | outbound | server | statistics | session [ source { global global-addr | inside inside-addr } ]

打开NAT的调试开关

debugging nat { alg | event | packet } [ interface interface-type interface-number ]

关闭NAT的调试开关

undo debugging nat { alg | event | packet } [ interface interface-type interface-number ]

清除地址转换映射表

reset nat { log-entry | session }

 

4.5  NAT配置举例

4.5.1  典型NAT配置举例

1. 组网需求

如下图所示,一个公司通过H3C路由器的地址转换功能连接到广域网。要求该公司能够通过H3C 路由器GigabitEthernet 3/0访问Internet,公司内部对外提供WWW、FTP和SMTP服务,而且提供两台WWW的服务器。公司内部网址为10.110.0.0/16。其中,内部FTP服务器地址为10.110.10.1,内部WWW服务器1地址为10.110.10.2,内部WWW服务器2地址为10.110.10.3,内部SMTP服务器地址为10.110.10.4,并且希望可以对外提供统一的服务器的IP地址。内部10.110.10.0/24网段可以访问Internet,其它网段的PC机则不能访问Internet。外部的PC可以访问内部的服务器。公司具有202.38.160.100至 202.38.160.105六个合法的IP地址。

选用202.38.160.100作为公司对外的IP地址,WWW服务器2对外采用8080端口。

2. 组网图

图4-4 地址转换配置案例组网图

3. 配置步骤

# 配置地址池和访问控制列表,允许10.110.10.0/24网段进行地址转换。

[H3C] nat address-group 1 202.38.160.101 202.38.160.105

[H3C] acl number 2001

[H3C-acl-basic-2001] rule permit source 10.110.10.0 0.0.0.255

[H3C-acl-basic-2001] rule deny source 10.110.0.0 0.0.255.255

[H3C-acl-basic-2001] quit

[H3C] interface gigabitethernet 3/0

[H3C-GigabitEthernet3/0] nat outbound 2001 address-group 1

# 设置内部FTP服务器。

[H3C-GigabitEthernet3/0] nat server protocol tcp global 202.38.160.100 inside 10.110.10.1 ftp

# 设置内部WWW服务器1。

[H3C-GigabitEthernet3/0] nat server protocol tcp global 202.38.160.100 inside 10.110.10.2 www

# 设置内部WWW服务器2。

[H3C-GigabitEthernet3/0] nat server protocol tcp global 202.38.160.100 8080 inside 10.110.10.3 www

# 设置内部SMTP服务器。

[H3C-GigabitEthernet3/0] nat server protocol tcp global 202.38.160.100 inside 10.110.10.4 smtp

4.5.2  使用loopback接口地址进行地址转换典型配置举例

1. 组网需求

如下图所示,公司通过H3C路由器的GigabitEthernet3/0接口访问internet,内部10.110.10.0/24网段可以访问Internet,其它网段的PC机则不能访问Internet,内部10.110.10.0/24网段使用loopback接口IP地址202.38.160.106做为地址转换后IP地址。公司内部对外提供WWW、FTP和SMTP服务,三个服务器对外使用统一的服务器IP地址202.38.160.100。

2. 组网图

图4-5 地址转换配置举例组网图

3. 配置步骤

# 配置访问控制列表。

[H3C] acl number 2001

[H3C-acl-basic-2001] rule permit source 10.110.10.0 0.0.0.255

[H3C-acl-basic-2001] rule deny source 10.110.0.0 0.0.255.255

[H3C-acl-basic-2001] quit

# 配置loopback接口

[H3C] interface loopback0

[H3C-LoopBack0] ip address 202.38.160.106 32

[H3C-LoopBack0] quit

# 设置内部FTP服务器。

[H3C] interface gigabitethernet 3/0

[H3C-GigabitEthernet3/0] nat server protocol tcp global 202.38.160.100 inside 10.110.10.1 ftp

# 设置内部WWW服务器1。

[H3C-GigabitEthernet3/0] nat server protocol tcp global 202.38.160.100 inside 10.110.10.2 www

# 设置内部WWW服务器2。

[H3C-GigabitEthernet3/0] nat server protocol tcp global 202.38.160.100 8080 inside 10.110.10.3 www

# 设置内部SMTP服务器。

[H3C-GigabitEthernet3/0] nat server protocol tcp global 202.38.160.100 inside 10.110.10.4 smtp

# 配置使用loopback接口作为转换后的IP地址。

[H3C-GigabitEthernet3/0] nat outbound 2001 interface loopback 0

4.5.3  静态网段地址转换典型组网应用

1. 组网需求

私网A的网络地址为10.1.1.0/24网段,私网B的网络地址也为10.1.1.0/24网段。假设PC1的地址为10.1.1.2,PC2的地址也是10.1.1.2。路由器RouterA的广域网接口IP地址为201.1.1.1/24,路由器RouterB的广域网接口IP地址为201.2.2.2/24。RouterA和RouterB上配置网段地址转换,将私网A的网络地址10.1.1.0/24转换为211.2.1.0/24,将私网B的网络地址10.1.1.0/24转换为211.2.2.0/24。在RouterA和RouterB上配置动态路由,保证RouterA到211.2.2.0/24的路由及RouterB到211.2.1.0/24的路由可达。

要求能够实现私网对公网的访问,而且实现私网A的PC1可以通过PC2在RouterB上的公网地址211.2.2.2访问到PC2;同样私网B的PC2可以通过PC1在RouterA上的公网地址211.2.1.2访问到PC1。

2. 组网应用

图4-6 静态网段地址转换应用组网图

3. 配置步骤

(1)        配置RouterA

# 配置网段地址静态转换。

[H3C] nat static net-to-net 10.1.1.1 10.1.1.254 global 211.2.1.0 255.255.255.0

# 配置网段地址转换在接口GigabitEthernet 1/0上生效。

[H3C] interface gigabitethernet 1/0

[H3C-GigabitEthernet1/0] ip address 201.1.1.1 255.255.255.0

[H3C-GigabitEthernet1/0] nat outbound static

[H3C-GigabitEthernet1/0] quit

# 配置GigabitEthernet 2/0接口。

[H3C] interface gigabitethernet 2/0

[H3C-GigabitEthernet2/0] ip address 10.1.1.1 255.255.255.0

# 配置动态路由,保证到211.2.2.0网段的路由可达(略)。

(2)        配置RouterB

# 配置网段地址静态转换。

[H3C] nat static net-to-net 10.1.1.1 10.1.1.254 global 211.2.2.0 255.255.255.0

# 配置网段地址转换在接口GigabitEthernet 1/0上生效。

[H3C] interface gigabitethernet 1/0

[H3C-GigabitEthernet1/0] ip address 201.2.2.2 255.255.255.0

[H3C-GigabitEthernet1/0] nat outbound static

[H3C-GigabitEthernet1/0] quit

# 配置GigabitEthernet 2/0接口。

[H3C] interface gigabitethernet 2/0

[H3C-GigabitEthernet2/0] ip address 10.1.1.1 255.255.255.0

# 配置动态路由,保证到211.2.1.0网段的路由可达(略)。

4.5.4  双向地址转换配置举例

1. 组网需求

公司内部局域网使用10.0.0.0/24和10.1.1.0/24网段地址。当PC1的IP地址10.0.0.1与公网上主机PC3的IP地址相同时,要求PC1、PC2可以用域名www.web.com或IP地址3.0.0.1/24访问PC3。

2. 组网图

图4-7 双向地址转换配置举例组网图

3. 配置步骤

# 配置NAT地址池。

[H3C] nat address-group 1 2.0.0.1 2.0.0.200

# 配置双向NAT映射。

[H3C] nat overlapaddress 3 10.0.0.0 3.0.0.0 address-mask 24

# 配置访问控制列表。

[H3C] acl number 2000

[H3C-acl-basic-2000] rule 0 permit source 10.0.0.0 0.0.0.255

[H3C-acl-basic-2000] rule 1 permit source 10.1.1.0 0.0.0.255

[H3C-acl-basic-2000] quit

# 在广域网接口上绑定NAT outbound。

[H3C] interface gigabitethernet 1/0

[H3C-GigabitEthernet1/0] ip address 192.168.0.1 255.255.255.0

[H3C-GigabitEthernet1/0] nat outbound 2000 address-group 1

[H3C-GigabitEthernet1/0] quit

# 配置局域网口IP地址。

[H3C] interface gigabitethernet 2/0

[H3C-GigabitEthernet2/0] ip address 10.0.0.3 255.255.255.0

[H3C-GigabitEthernet2/0] interface gigabitethernet 3/0

[H3C-GigabitEthernet3/0] ip address 10.1.1.3 255.255.255.0

[H3C-GigabitEthernet3/0] quit

4.5.5  内部主机通过域名区分并访问对应的内部服务器组网应用

1. 组网需求

某公司内部网络位于10.0.0.0/8网段,提供FTP及WWW内部服务器,域名分别为www.zc.comftp.zc.com,域名可以被外部DNS服务器正确解析。连接外部网络的接口GigabitEthernet1/0的IP地址为1.1.1.1/8。通过配置NAT的DNS映射功能,使得内部主机在无DNS服务器的情况下也可以通过域名来访问内部服务器。

2. 组网图

图4-8 内部主机通过域名区分并访问对应的内部服务器

3. 配置步骤

# 在GigabitEthernet 1/0接口上配置FTP及WWW内部服务器。

[H3C] interface gigabitethernet 1/0

[H3C-GigabitEthernet1/0] ip address 1.1.1.1 255.0.0.0

[H3C-GigabitEthernet1/0] nat outbound 2000

[H3C-GigabitEthernet1/0] nat server protocol tcp global 1.1.1.1 www inside 10.0.0.2 www

[H3C-GigabitEthernet1/0] nat server protocol tcp global 1.1.1.1 ftp inside 10.0.0.3 ftp

[H3C-GigabitEthernet1/0] quit

# 配置访问控制列表,允许10.0.0.0/8网段访问Internet。

[H3C] acl number 2000

[H3C-acl-basic-2000] rule 0 permit source 10.0.0.0 0.0.0.255

[H3C-acl-basic-2000] rule 1 deny

# 配置GigabitEthernet 2/0。

[H3C] interface gigabitethernet 2/0

[H3C-GigabitEthernet2/0] ip address 10.0.0.1 255.0.0.0

此时外部主机可以通过域名www.zc.comftp.zc.com访问其对应的内部服务器。加上如下配置后,内部主机也可以通过域名www.zc.comftp.zc.com访问其对应的内部服务器。

# 配置域名与外部地址、端口号、协议类型之间的映射。

[H3C] nat dns-map www.zc.com 1.1.1.1 80 tcp

[H3C] nat dns-map ftp.zc.com 1.1.1.1 21 tcp

4.6  NAT排错

故障之一:地址转换不正常。

故障排除:打开NAT的Debug开关,具体操作请参见debugging命令中的debugging nat。根据路由器上的Debug调试信息,初步定位错误,然后使用其它命令作进一步的判断。调试时,注意观察转换后的源地址,要保证这个地址是希望转换的地址,否则可能会是地址池配置错误。同时要注意想要访问的网络必须要有回到地址池中地址段的路由。注意防火墙以及地址转换本身的访问控制列表对地址转换造成的影响,同时注意路由的配置。

故障之二:内部服务器工作不正常。

故障排除:如果外部主机不能正常访问内部服务器,请检查是否是内部服务器主机的配置有错或路由器上对内部服务器的配置有错,如对内部服务器的IP地址指定错误等等。同时也有可能是防火墙禁止了外部主机对内部网络的访问,可以用display acl命令来查看,请参见第6章  防火墙配置

 


第5章  PKI配置

5.1  PKI简介

5.1.1  概述

公钥基础设施(Public Key Infrastructure,简称PKI)是通过使用公开密钥技术和数字证书来确保系统信息安全并负责验证数字证书持有者身份的一种体系,它是一套软硬件系统和安全策略的集合,提供了一整套安全机制。PKI采用证书进行公钥管理,通过第三方的可信任机构,把用户的公钥和用户的其他标识信息捆绑在一起,以在网上验证用户的身份。PKI为用户建立起一个安全的网络运行环境,使用户可以在多种应用环境下方便的使用加密和数字签名技术,从而保证网上数据的机密性、完整性、有效性。数据的机密性是指数据在传输过程中,不能被非授权者偷看;数据的完整性是指数据在传输过程中不能被非法篡改;数据的有效性是指数据不能被否认。

一个PKI系统由公开密钥密码技术、证书认证机构、注册机构、数字证书和相应的PKI存储库共同组成。

图5-1 PKI组成框图

其中,认证机构用于签发并管理证书;注册机构用于个人身份审核、证书废除列表管理等;PKI存储库用于对证书和日志等信息进行存储和管理,并提供一定的查询功能;数字证书是PKI应用信任的基础,是PKI系统的安全凭据。数字证书又称为公共密钥证书PKC(Public Key Certificate),是基于公共密钥技术发展起来的一种主要用于验证的技术,它是一个经证书认证中心数字签名的包含公开密钥拥有者信息以及公开密钥的文件,可作为各类实体在网上进行信息交流及商务活动的身份证明。证书是有生命期的,在证书生成时指定,认证中心也可以在证书的有效期到来前吊销证书,结束证书的生命期。

5.1.2  相关术语

l              公钥密码算法:是指加密密钥和解密密钥为两个不同密钥的密码算法,用户产生一对密钥:将其中的一个向外界公开,称为公钥;另一个则自己保留,称为私钥。密钥对中任一密钥加密的信息只能用另一密钥进行解密,因此它们常用于签名和加密。在通信过程中,发送方用自己的私钥对信息进行签名,接受方可以用发送方的公钥验证其签名;发送方也可以用接受方的公钥对信息进行加密,而也只有相应接受方的私钥能够对其解密。

l              认证机构(CA,Certificate Authority):是一个向个人、计算机或任何其它实体颁发证书的可信实体。CA受理证书申请,根据证书管理策略验证申请人的信息,然后用其私钥对证书进行签名,并颁发该证书。

l              注册机构(RA,Registration Authority):RA是CA的延伸,一方面向CA转发实体传输过来的证书申请请求,另一方面向目录服务器转发CA颁发的数字证书和证书撤消列表,以提供目录浏览和查询服务。

l              轻量级目录访问协议(LDAP,Light-weight Directory Access Protocol)服务器:LDAP提供了一种访问PKI数据库(Repository)的方式,通过该协议来访问并管理PKI信息。LDAP服务器提供目录浏览服务,负责将注册机构服务器传输过来的用户信息以及数字证书加入到LDAP服务器上。这样用户通过访问LDAP服务器就能够得到自己和其他用户的数字证书。

l              证书废除列表(CRL,Certificate Revocation Lists):证书具有一定的寿命,另外由于泄露密钥、业务终止等原因,CA也可通过称为证书吊销的过程来缩短这一寿命。一个证书一旦被撤消,证书中心就要公布CRL来声明该证书是无效的,并列出被认为不能再使用的证书的序列号。CRL为应用程序和其它系统提供了一种检验证书有效性的方式,它们存储在数据库(LDAP服务器)中,提供了一种通知用户和其他应用的中心管理方式。

5.1.3  主要应用

PKI作为一组在分布式计算系统中利用公钥技术和X.509证书所提供的安全服务,可以为各种目的颁发证书,如Web用户身份验证、Web服务器身份验证、使用安全/多用途Internet 邮件扩充协议(S/MIME,Secure/Multipurpose Internet Mail Extensions)的安全电子邮件、虚拟专用网络(VPN,Virtual Private Network)、IP安全性(IP Security)、Internet密钥交换协议(IKE,Internet Key Exchange)和代码签名。证书还可以由一个CA颁发给另一个CA,以建立证书层次结构。

5.1.4  配置任务列表

针对一个使用PKI的网络,配置PKI的目的就是为指定的设备向CA申请一个本地证书并进行证书的有效性验证。配置任务包括:

l              PKI证书申请配置

l              PKI证书验证配置

l              显示和调试配置

5.2  证书申请配置

5.2.1  证书申请概述

证书申请就是实体向CA自我介绍的过程,实体向CA提供身份信息,该信息随后将成为所颁发证书的一部分。CA根据一套标准受理申请,对证书申请者的信用度、申请证书的目的、身份的真实可靠性等问题进行审查,确保证书与身份绑定的正确性。该标准可能要求进行脱机的、非自动的带外方式(如电话、磁盘、电子邮件等)身份验证。如果申请被成功受理,CA随后将向该用户颁发证书,同时将用户的一些公开信息和证书放到LDAP服务器上提供目录浏览服务。用户随后可以到指定位置下载自己的公钥数字证书,也可以通过LDAP服务器获得其他用户的公钥数字证书。 根据PKI证书管理策略,实现本地证书申请的配置任务包括:

l              进入PKI域视图

l              指定信任的CA

l              配置证书申请的服务器

l              配置实体命名空间

l              创建本地公、私密钥对

l              配置查询证书申请处理状态的重发间隔和次数

l              配置证书申请模式

l              手工申请证书

l              证书获取

5.2.2  进入PKI域视图

PKI域是将信任同一第三方可信任机构的一组PKI用户进行统一管理,即组内的每个成员只需同CA建立单一的信任关系即可,无需每位成员之间互相建立成对的信任关系,这样大大减轻了系统负荷,极大加强了PKI证书体系的扩展能力。

在配置域参数之前,必须首先进入PKI域视图。

请在系统视图下进行下列配置。

表5-1 进入PKI域视图

操作

命令

指定PKI域名并进入域视图

pki domain name

删除指定的PKI域及域内的所有配置信息

undo pki domain name

 

缺省情况下,未指定PKI域名。

&  说明:

一个设备有可能从属于两个或多个PKI域,对于PKI应该能针对每一个域有其单独的配置信息,所以采用PKI域视图进行域参数的配置。但目前一个设备只支持两个PKI域,所以若要在已存在两个域的情况下添加新域,则需使用相应的undo命令删除一个旧域。

 

5.2.3  配置信任的CA

在申请证书时,是通过为主体提供担保的另一个可信实体认证中心来完成注册颁发的。认证中心是公钥基础设施的核心,有了大家信任的认证中心,用户才能放心方便的使用公钥技术带来的安全服务。

请在PKI域视图下,进行下列配置。

表5-2 指定信任的CA

操作

命令

指定本设备信任CA的名称

ca identifier name

删除本设备信任CA的名称

undo ca identifier

 

缺省情况下,未指定本设备信任的CA。

&  说明:

CA在受理证书请求(以及颁发证书、吊销证书和发布CRL)时所采用的一套标准被称为CA策略。通常,CA以一种叫做证书惯例声明(CPS,Certification Practice Statement)的文档发布其策略,CA策略可以通过带外或其他方式获取。由于不同的CA使用不同的方法验证公钥与主体之间的绑定,所以在选择信任的CA进行证书申请之前,理解其策略是非常重要的。

 

5.2.4  配置申请证书的服务器

1. 配置证书申请所使用的实体

在向CA发送证书申请请求时,必须指定所使用的实体名,以向CA表明自己的身份。

请在PKI域视图下,进行下列配置。

表5-3 配置证书申请所使用的实体名

操作

命令

配置证书申请所使用的实体名

certificate request entity entity-name

取消证书申请所使用的实体名

undo certificate request entity

 

缺省情况下,未指定设备申请证书时所使用的实体名称。

&  说明:

关于实体entity-name的相关信息,请参阅5.2.5  实体命名空间部分。

 

2. 配置证书申请的注册受理机构

注册管理一般由一个独立的注册机构(即RA)来承担,它接受用户的注册申请,审查用户的申请资格,并决定是否同意CA给其签发数字证书。注册机构并不给用户签发证书,而只是对用户进行资格审查。有时PKI把注册管理的职能交给CA来完成,而不设立独立运行的RA,但这并不是取消了PKI的注册功能,而只是将其作为CA的一项功能而已。

请在PKI域视图下,进行下列配置。

表5-4 选择证书申请注册机构

操作

命令

指定证书注册申请的受理机构

certificate request from { ca | ra }

删除证书注册申请的受理机构

undo certificate request from

 

缺省情况下,未指定证书注册申请的受理机构。

PKI安全策略推荐使用RA作为注册审理机构。

3. 配置申请证书的服务器位置

证书申请之前必须指定注册服务器位置URL,随后实体可通过简单证书注册协议(SCEP,Simple Certification Enrollment Protocal)向该服务器提出证书申请,SCEP是专门用于与认证权威机构进行通信的协议。

请在PKI域视图下进行下列配置。

表5-5 指定申请证书的服务器位置

操作

命令

设置证书申请注册机构的位置

certificate request url string

删除证书申请注册机构的位置

undo certificate request url

 

缺省情况下,未指定证书申请机构的服务器位置。

4. 配置LDAP服务器地址

在PKI系统中,用户的证书和CRL信息的存储是一个非常核心的问题。一般采用LDAP目录服务器,用来存储证书和CRL。

请在PKI域视图下,进行下列配置。

表5-6 指定LDAP服务器地址

操作

命令

指定LDAP服务器IP地址

ldap-server ip ip-address [ port port-num ] [ version version-number ]

删除LDAP服务器IP地址

undo ldap-server

 

缺省情况下,未指定LDAP服务器地址及端口,LDAP版本为2。

5. 配置验证根证书时使用的指纹

当路由器从CA获得身份证书时,需要使用CA的根证书来验证身份证书的真实性和合法性。当路由器从CA获得其根证书时,需要验证CA根证书的指纹,即根证书内容的散列值,该值对于每一个证书都是唯一的。如果CA根证书的指纹与在此处配置的指纹不同,则路由器将拒绝接收根证书。指纹可以为MD5指纹或者SHA1指纹。

请在PKI域视图下,进行下列配置。

表5-7 配置验证根证书时使用的指纹

操作

命令

配置验证根证书时使用的指纹

root-certificate fingerprint { md5 | sha1 } string

取消配置的指纹

undo root-certificate fingerprint

 

缺省情况下,未配置验证证书时使用的指纹。

当选择MD5指纹时,string必须为32个字符,并且以16进制的形式输入;当选择SHA1指纹时,string必须为40个字符,并且以16进制的形式输入。

5.2.5  配置实体命名空间

1. 命名空间概述

在构建PKI时,要考虑的一个重要的问题便是实体的命名空间(Name Space)。在一份证书中,必须证明公钥及其所有者的姓名是一致的,每个CA都要用它认为重要的信息对一个实体进行细致的描述。这里可以通过唯一的标识符(或称DN-distinguished name)来唯一确定单个主体,它由许多部分组成,如用户通用名、组织单位、国家或者证书持有人的姓名等信息。DN在网络上应该是唯一的。

本章介绍了进入PKI实体视图后如何对实体的DN相关信息进行配置,内容包括:

l              定义PKI实体名称

l              配置实体FQDN

l              配置实体所属国家

l              配置实体所属州省

l              配置实体所在地理区域

l              配置实体所属组织名称

l              配置实体所属组织部门

l              配置实体通用名

l              配置实体IP地址

&  说明:

实体的配置信息必须与CA证书颁发策略相匹配,以确认实体DN配置任务,如哪些实体参数必须配置,哪些可选配,否则证书申请可能会失败。

 

2. 定义PKI实体名称

PKI实体视图提供了配置实体DN各项属性的平台。

请在系统视图下进行下列配置。

表5-8 配置实体名称

操作

命令

配置实体名称,并进入该实体视图

pki entity name-str

删除此实体名称及该实体参数

undo pki entity name-str

 

缺省情况下,未指定实体名称。

&  说明:

l      实体名称必须与注册受理机构配置certificate request entity entity-name中指定的entity-name一致,否则该实体的证书申请会失败。name-str只是用来方便引用,不用于证书的任何字段。

l      Windows 2000 CA服务器对证书申请的数据长度有一定的要求,entity配置项超过一定的数据长度后,申请证书将失败。

 

3. 配置实体的FQDN名称

FQDN(Fully Qualified Domain Name)是实体在网络中的唯一标识,如Email地址,一般形式为:user.domain,可被解析为IP地址。FQDN与指定实体IP地址的功能相同,可选配。

请在PKI实体视图下进行下列配置。

表5-9 实体FQDN配置

操作

命令

配置实体FQDN名称

fqdn name-str

删除此实体FQDN名称

undo fqdn

 

缺省情况下,未指定实体FQDN。

4. 配置实体所属国家

请在PKI实体视图下进行下列配置。

表5-10 实体所属国家配置

操作

命令

配置实体所属国家代码

country country-code-str

删除此实体所属国家代码

undo country

 

缺省情况下,未指定实体所属国家。

&  说明:

代码用标准的2字符代码。例如:CN是中国的合法国家代码,US是美国的合法国家代码。

 

5. 配置实体所属州省

在PKI实体视图下进行下列配置。

表5-11 实体所属州省配置

操作

命令

配置实体所属州省

state state-str

删除此实体所属州省

undo state

 

缺省情况下,未指定实体所属州省。

6. 配置实体所在地理区域

在PKI实体视图下进行下列配置。

表5-12 实体所在地理区域配置

操作

命令

配置实体所在地理区域

locality locality-str

删除此实体所在地理区域

undo locality

 

缺省情况下,未指定实体所在的地理区域。

7. 配置实体所属组织名称

在PKI实体视图下进行下列配置。

表5-13 实体所属组织配置

操作

命令

配置实体所属组织名称

organization org-str

删除此实体所属组织名称

undo organization

 

缺省情况下,未指定实体所属的组织。

8. 配置实体所属组织部门

可以使用这个可选择的字段在同一个单位内区分不同的部门。

请在PKI实体视图下进行下列配置。

表5-14 实体所属部门配置

操作

命令

配置实体所属组织部门

organizational-unit org-unit-str

删除此实体所属组织部门

undo organizational-unit

 

缺省情况下,未指定实体所属的部门。

9. 配置实体的通用名

请在PKI实体视图下进行下列配置。

表5-15 实体通用名配置

操作

命令

配置实体通用名

common-name name-str

删除此实体通用名

undo common-name

 

缺省情况下,未指定实体的通用名。

10. 配置实体的IP地址

与指定实体FQDN的功能相同,可选配。

请在PKI实体视图下进行下列配置。

表5-16 实体IP地址配置

操作

命令

配置实体IP地址

ip ip-address

删除此实体IP地址

undo ip

 

缺省情况下,未指定实体IP地址。

5.2.6  创建公、私密钥对

密钥对的产生是证书申请过程中重要的一步,它使用了一对密钥:私钥和公钥。私钥由用户保留;公钥和其他信息则交于CA中心进行签名,从而产生证书。另外,每一个由CA颁发的证书都会有有效期,证书生命周期的长短由签发证书的CA中心来确定。当用户的私钥被泄漏或证书的有效期快到时,用户应该删除旧的密钥对,产生新的密钥对,重新申请新的证书。

该配置任务用来产生本地密钥对。如果此时已经有了RSA密钥,系统提示是否替换原有密钥。产生的密钥对的命名方式为:路由器名称+host。主机密钥的最小长度为512位,最大长度为2048位。

请在系统视图下进行下列配置。

表5-17 创建和销毁本地RSA密钥对

操作

命令

创建本地RSA密钥对

rsa local-key-pair create

销毁本地RSA密钥对

rsa local-key-pair destroy

 

缺省情况下,本地没有RSA密钥对,需要用户创建。

  注意:

l      当本地证书已存在时,为保证密钥对与现存证书的一致性,不应执行创建密钥对命令,必须删除本地证书后方可执行该命令生成新的密钥对。

l      若本地已有RSA密钥对,则创建的新密钥对将覆盖掉旧密钥对。

l      这两个密钥对本来是提供给SSH使用,其中本地服务器密钥对周期性由本地服务器改变;主机密钥对不变。申请证书时我们使用的是主机密钥对。

 

5.2.7  配置查询证书申请处理状态的重发间隔和次数

实体在发送证书申请后,如果CA采用手工验证申请,会需要很长时间才能发布证书。在此期间,客户端需要定期发送状态查询,以便在证书签发后能及时获取到证书。

请在PKI域视图下,进行下列配置。

表5-18 配置证书申请状态查询的重发间隔和次数

操作

命令

配置证书申请状态查询重发间隔和次数

certificate request polling {interval minutes | count count }

恢复证书申请状态查询重发间隔和次数为缺省值

undo certificate request polling { interval | count }

 

缺省情况下,证书申请状态查询重发次数为5,间隔为20分钟。

5.2.8  配置证书申请模式

证书申请有手工发起和自动发起方式。如果是自动方式,则在本地没有自己的证书时自动通过SCEP协议进行申请,而且在证书快要过期时自动申请新的证书。如果为手工方式,则需要手工完成各项证书申请工作。

请在PKI域视图下,进行下列配置。

表5-19 证书申请模式

操作

命令

配置证书获取方式

certificate request mode { manual | auto [ key-length key-length | password { simple | cipher } password ]* }

恢复证书获取方式为缺省值

undo certificate request mode

 

缺省情况下,证书申请为手工方式。

5.2.9  手工申请证书

完整的证书请求由用户公钥和相关登记信息构成,在完成以上配置后,即可向PKI注册认证机构发起申请本地证书请求。

请在系统视图下进行下列操作。

表5-20 证书申请操作

操作

命令

证书申请操作

pki request-certificate domain domain-name [ password ] [ pkcs10 [ filename filename ] ]

 

  注意:

l      如果本地证书已存在,不允许再执行证书申请操作,避免因相关配置的修改使得证书与登记信息不匹配。若想重新申请,请先使用pki delete-certificate命令删除存储于本地的CA证书与本地证书,然后再执行此申请命令。

l      当出现无法通过SCEP协议向CA申请证书的异常情况时,可以使用可选参数pkcs10打印出本地的证书请求信息,用户保存该信息,并将该信息通过带外方式发送给CA进行证书请求。

l      证书申请之前必须保证实体的时钟必须与CA同步,否则申请的证书的有效期会出现异常。

l      该操作不被保存在配置中。

 

5.2.10  手工获取证书

这里证书获取的目的有两个:其一是将CA签发的证书中与本安全域有关的证书存放到本地,以提高证书的查询效率,减少向PKI证书存储库查询的次数;其二是为证书的验证做好准备。

下载数字证书时如果选择参数local,则下载本地证书,如果参数为ca,则下载CA的证书。

请在系统视图下进行下列操作。

表5-21 证书获取操作

操作

命令

获取证书并下载至本地

pki retrieval-certificate { local | ca } domain domain-name

 

  注意:

l      如果本地已有CA证书存在,则不允许执行获取CA证书操作,避免因相关配置的修改使得证书与登记信息不匹配。若想重新获取,请先使用pki delete-certificate命令删除CA证书与本地证书后,再执行此获取命令。

l      该操作不被保存在配置中。

 

5.2.11  导入证书

使用以下配置可以导入已有的本地证书或CA证书。

请在系统视图下进行下列操作。

表5-22 导入证书

操作

命令

导入证书

pki import-certificate { local | ca } domain domain-name { der | p12 | pem } [ filename filename ]

 

5.2.12  删除证书

用户可以删除一个已经存在的本地证书或CA证书。

请在系统视图下进行下列操作。

表5-23 删除证书

操作

命令

删除证书

pki delete-certificate { local | ca } domain domain-name

 

5.2.13  证书验证配置任务列表

在数据通信的各个环节,通信双方都需验证相应证书的有效性。证书验证的目的也就是检查一个证书的有效性。验证证书需要作签发时间、签发者信息以及证书的有效性几方面的验证。证书验证的核心就是检查CA在证书上的签名,并确定证书仍在有效期内,而且未被废除。由于人们相信CA不会发行伪造证书,所以含有它的真实签名的任何证书都可得到验证。比如你收到的一封邮件,邮件中附有一个包含公共密钥的证书,而该邮件使用了私有密钥加密,为了确定该用户是否合法持有该证书并且证书没有过期(通过CRL判断),以及该证书是否值得信任,就必须验证证书是否有效。

要实现证书验证功能,一般需要完成以下配置及操作任务:

l              配置CRL发布点位置

l              配置CRL更新周期

l              配置是否必须检查CRL

l              获取CRL

l              证书验证

5.2.14  配置CRL发布点位置

请在PKI域视图下进行下列配置。

表5-24 CRL发布点位置配置

操作

命令

指定CRL发布点位置

crl url url-string

删除CRL发布点位置

undo crl url

 

缺省情况下,未指定CRL发布点位置。

5.2.15  配置CRL更新周期

CRL的更新周期是指本地从CRL存储服务器上下载CRL的时间间隔。

请在PKI域视图下进行下列配置。

表5-25 CRL更新周期配置

操作

命令

设置更新CRL的周期

crl update-period hours

恢复更新CRL的周期为缺省值

undo crl update-period

 

缺省情况下,根据CRL的有效期进行更新。

&  说明:

手工配置的CRL更新时间将优先于CRL中指明的更新时间。

 

5.2.16  配置是否必须检查CRL

配置证书验证时可以设置是否必须进行CRL检查。可以直接在CA中心进行验证,也可以将CRL下载到本地进行验证。

请在PKI域视图进行下列配置。

表5-26 配置CRL检查

操作

命令

禁止CRL检查

crl check disable

使能CRL检查

undo crl check disable

 

缺省情况下,必须进行CRL检查。

5.2.17  获取CRL

在完成以上配置后,即可在系统视图下发起CRL获取操作。下载CRL目的是验证当前本地所获得证书的合法性。

请在系统视图下进行下列操作。

表5-27 CRL获取操作

操作

命令

获取CRL并下载至本地

pki retrieval-crl domain domain-name

 

&  说明:

该操作不被保存在配置中。

 

5.2.18  验证证书

用户可以检查一个证书的有效性。如果使用参数local,则验证本地证书。如果参数为ca,则验证CA的证书。

请在系统视图下进行下列操作。

表5-28 证书验证操作

操作

命令

检验本地证书的有效性

pki validate-certificate { local | ca } domain domain-name

 

&  说明:

该操作不被保存在配置中。

 

5.3  显示和调试

1. 证书显示

证书成功获取后,用户可以通过下面的操作,显示下载到本地的CA签名的证书内容。证书格式及内容遵循X.509标准,包含关于用户及CA自身的各种信息,如:能唯一标识用户的姓名及其他标识信息,如个人的E-mail地址、证书持有者的公钥、签发个人证书的认证机构的名称、个人证书的序列号和个人证书的有效期(证书有效起止日期)等。

请在任意视图下进行下列操作。

表5-29 PKI显示和调试操作

操作

命令

显示证书内容

display pki certificate { { local | ca } domain domain-name | request-status }

 

2. CRL显示

CRL成功获取后,用户可以通过下面的操作,显示和查看下载到本地的CRL内容。CRL内容遵循X.509标准,包含的内容有:CRL的版本号、签名算法、证书签发机构名、此次签发时间、下次签发时间、用户公钥信息、签名算法、签名值、序列号、撤销日期等。

请在任意视图下进行下列操作。

表5-30 PKI显示和调试操作

操作

命令

显示CRL内容

display pki crl domain domain-name

 

3. 配置显示及调试

在配置过程中,可执行display current-configuration命令显示当前的PKI配置情况。在证书操作过程中,可打开PKI调试开关对相应证书操作进行监控和诊断。

请在用户视图下进行下列操作。

表5-31 PKI显示和调试操作

操作

命令

打开PKI调试开关

debugging pki { all | verify | request | retrieval | error }

关闭PKI调试开关

undo debugging pki { all | verify | request | retrieval | error }

 

缺省情况下,PKI调试开关全部关闭。

5.4  典型配置举例

5.4.1  使用PKI证书方法进行IKE协商认证

1. 组网需求

在路由器A和路由器B之间建立一个IPSec安全隧道对PC A代表的子网(10.1.1.x)与PC B代表的子网(10.1.2.x)之间的数据流进行安全保护。路由器A和路由器B之间使用IKE自动协商建立安全通信,IKE认证策略采用PKI证书体系进行身份认证。

图5-2中假设路由器A和路由器B使用不同的CA(可以相同,根据实际情况确定)。

2. 组网图

图5-2 PKI进行IKE协商认证的组网图

3. 配置步骤

(1)        路由器A配置:

# 在路由器A上使用缺省的IKE策略,并配置使用PKI(rsa-signature)方法为身份认证策略。

[H3C] ike proposal 1

[H3C-ike-proposal-1] authentication-method rsa-signature

[H3C-ike-proposal-1] quit

# 实体DN配置。

[H3C] pki entity en

[H3C-pki-entity-en] ip 202.38.163.1

[H3C-pki-entity-en] common-name RouterA

[H3C-pki-entity-en] quit

# PKI域参数配置。

[H3C] pki domain 1

[H3C-pki-domain-1] ca identifier CA1

[H3C-pki-domain-1] certificate request url http://1.1.1.100/certsrv/mscep/mscep.dll

[H3C-pki-domain-1] certificate request entity en

[H3C-pki-domain-1] certificate request from ra

[H3C-pki-domain-1] ldap-server ip 1.1.1.102

# CRL发布点位置配置(若CRL必须检查为disable,则无需配置)。

[H3C-pki-domain-1] crl url ldap://1.1.1.102

[H3C-pki-domain-1] quit

# RSA算法生成本地的密钥对。

[H3C] rsa local-key-pair create

# 证书申请

[H3C] pki retrieval-certificate ca domain 1

[H3C] pki request-certificate domain 1

(2)        路由器B配置:

# 在路由器B上使用缺省的IKE策略,并配置使用PKI(rsa-signature)方法为身份认证策略。

[H3C] ike proposal 1

[H3C-ike-proposal-1] authentication-method rsa-signature

[H3C-ike-proposal-1] quit

# 实体DN配置。

[H3C] pki entity en

[H3C-pki-entity-en] ip 202.38.162.1

[H3C-pki-entity-en] common-name RouterB

[H3C-pki-entity-en] quit

# PKI域参数配置。

[H3C] pki domain 1

[H3C-pki-domain-1] ca identifier CA2

[H3C-pki-domain-1] certificate request url http://2.1.1.100/certsrv/mscep/mscep.dll

[H3C-pki-domain-1] certificate request entity en

[H3C-pki-domain-1] certificate request from ra

[H3C-pki-domain-1] ldap-server ip 2.1.1.102

# CRL发布点配置(若CRL必须检查为disable,则无需配置)。

[H3C-pki-domain-1] crl url ldap://2.1.1.102

[H3C-pki-domain-1] quit

# RSA算法生成本地的密钥对。

[H3C] rsa local-key-pair create

# 证书申请

[H3C] pki retrieval-certificate ca domain 1

[H3C] pki request-certificate domain 1

&  说明:

以上是对IKE协商采用PKI身份认证方法的配置,若希望建立IPSec安全通道进行安全通信,还需要进行IPSec的相应配置,具体内容请参考“IPSec配置”章和“IKE配置”章中的配置。

 

5.5  证书故障诊断与排除

5.5.1  故障之一:获取CA的证书失败

故障排除:发出手工CA证书请求时失败,可能有以下原因:

(1)        软件原因

l              没有设置信任的CA名称。

l              SCEP证书请求的服务器URL位置不正确或未配置,可通过ping命令测试服务器是否连接正常。

l              没有设置证书注册机构。

l              设备的系统时钟与CA服务器的时钟不同步。

(2)        硬件原因

l              网络连接是否有故障,如网线折断,接口松动。

5.5.2  故障之二:本地证书申请失败

故障排除:路由器配置完PKI域参数、实体DN、创建了新RSA密钥对后,发出手工证书请求时失败,可能有以下原因:

(1)        软件原因

l              申请之前没有先获取CA/RA的证书。

l              未创建密钥对或目前的密钥对已有证书。

l              没有设置信任的CA名称。

l              SCEP证书请求的服务器URL位置不正确或未配置,可通过ping命令测试服务器是否连接正常。

l              没有设置证书注册机构。

l              没有配置实体DN中必配属性,可通过查看CA/RA注册策略选择相关的属性进行配置。

(2)        硬件原因

l              网络连接是否有故障,如网线折断,接口松动。

5.5.3  故障之三:CRL获取失败

故障排除:获取CRL发生失败,可能有以下原因:

(1)        软件原因

l              获取CRL之前未先取得本地证书。

l              未设置LDAP服务器的IP地址。

l              未设置CRL分布点位置。

l              LDAP服务器版本配置错误。

(2)        硬件原因

l              网络连接是否有故障,如网线折断,接口松动。

 


第6章  防火墙配置

6.1  防火墙简介

在大厦构造中,防火墙被设计用来防止火从大厦的一部分传播到另一部分。网络的防火墙服务有类似目的:防止Internet的危险传播到您的内部网络。

防火墙一方面阻止来自Internet对受保护网络的未授权或未认证的访问,另一方面允许内部网络的用户对Internet进行Web访问或收发E-mail等。防火墙也可以作为一个访问Internet的权限控制关口,如允许内部网络的特定用户访问Internet。现在的许多防火墙同时还具有一些其他特点,如进行身份鉴别,对信息进行安全(加密)处理等。

防火墙不单用于对Internet的连接,也可以用来在组织网络内部保护大型机和重要的资源(如数据)。对受保护数据的访问都必须经过防火墙的过滤,即使网络内部用户要访问受保护的数据,也要经过防火墙。

当外部网络的用户访问网内资源时,要经过防火墙;而内部网络的用户访问网外资源时,也会经过防火墙。这样,防火墙就起到了一个“警卫”的作用,可以将需要禁止的数据包在这里给丢掉。

Comware中的防火墙主要是指基于访问控制列表(ACL)的包过滤(以下简称ACL/包过滤)、基于应用层的包过滤(以下简称状态防火墙ASPF)和地址转换。有关地址转换请参见第4章  地址转换(NAT)配置,本章以下部分将重点介绍ACL/包过滤防火墙和状态防火墙。

6.1.1  ACL/包过滤防火墙简介

1. ACL/包过滤概述

ACL/包过滤应用在路由器中,就为路由器增加了对数据包的过滤功能。ACL/包过滤实现对IP数据包的过滤,对路由器需要转发的数据包,先获取数据包的包头信息,包括IP层所承载的上层协议的协议号,数据包的源地址、目的地址、源端口和目的端口等,然后和设定的ACL规则进行比较,根据比较的结果决定对数据包进行转发或者丢弃。

2. 包过滤对分片报文过滤的支持

Comware平台ACL/包过滤提供了对分片报文检测过滤的支持。包过滤防火墙将检测报文类型(非分片报文、首片分片报文、非首片分片报文),获得报文的三层(IP层)信息(基本ACL规则和不含三层以外信息的高级ACL规则)及三层以外的信息(包含三层以外信息的高级ACL规则)用于匹配,并获得配置的ACL规则。

对于配置了精确匹配过滤方式的高级ACL规则,包过滤防火墙需要记录每一个首片分片的三层以外的信息,当后续分片到达时,使用这些保存的信息对ACL规则的每一个匹配条件进行精确匹配。若使用精确匹配,则必须在相应的接口使用undo ip fast-forwarding命令关闭快速转发功能。

应用精确匹配过滤后,包过滤防火墙的执行效率会略微降低,配置的匹配项目越多,效率降低越多,可以配置门限值来限制防火墙最大处理的数目。

有关标准匹配及精确匹配的概念参见第3章  访问控制列表配置

6.1.2  ASPF简介

ACL/包过滤防火墙为静态防火墙,目前存在如下问题:

l              对于多通道的应用层协议(如FTP,H.323等),部分安全策略配置无法预知。

l              无法检测某些来自于应用层的攻击行为(如TCP SYN、Java Applet等)。

故提出了状态防火墙――ASPF的概念。ASPF(Application Specific Packet Filter)是针对应用层及传输层的包过滤,即基于状态的报文过滤。ASPF能够实现的应用层协议检测包括:FTP、HTTP、SMTP、RTSP、H.323(Q.931,H.245,RTP/RTCP)检测;能够实现的传输层协议检测包括:通用TCP/UDP检测。

ASPF的主要功能如下:

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

l              能够检测传输层协议信息(即通用TCP和UDP协议检测),能够根据源、目的地址及端口号决定TCP或UDP报文是否可以通过防火墙进入内部网络。

ASPF的其它功能:

l              DoS(Denial of Service,拒绝服务)攻击的检测和防范。

l              ASPF不仅能够根据连接的状态对报文进行过滤还能够对应用层报文的内容加以检测,提供对不可信站点的Java Blocking(Java阻断)功能。

l              增强的会话日志功能。可以对所有的连接进行记录,包括:记录连接的时间、源地址、目的地址、使用的端口和传输的字节数。

l              支持应用协议端口映射PAM(Port to Application Map),允许用户自定义应用层协议使用非通用端口。

在网络边界,ASPF和普通的静态防火墙协同工作,能够为企业内部网络提供更全面的、更符合实际需求的安全策略。

1. 基本概念

l              Java Blocking

Java Blocking是对通过HTTP协议传输的Java Applet小程序进行阻断。当配置了Java Blocking时,用户为试图在web页面中获取包含Java Applet的程序而发送的请求指令将会被ASPF阻断过滤。

l              端口映射

应用层协议使用通用的端口号进行通信。端口映射允许用户对不同的应用定义一组新的端口号。端口映射提供了一些机制来维护和使用用户定义的端口配置信息。

PAM支持两类映射机制:通用端口映射和基于基本访问控制列表(ACL)的主机端口映射。通用端口映射是将用户自定义端口号和应用层协议建立映射关系,例如:将8080端口映射为HTTP协议,这样所有目标端口是8080的TCP报文被认为是HTTP报文。基于基本访问控制列表的主机端口映射是对去往/来自某些特定主机的报文建立自定义端口号和应用协议的映射,例如:将目的地址为10.110.0.0网段的使用8080端口的TCP报文映射为HTTP报文。主机的范围可由基本的ACL指定。

l              单通道协议/多通道协议

单通道协议:从会话建立到删除的全过程中,只有一个通道参与数据交互,例如SMTP,HTTP。

多通道协议:包含一个控制通道和若干其它控制或数据通道,即控制信息的交互和数据的传送是在不同的通道上完成的,例如FTP,RTSP。

l              内部接口和外部接口

如果路由器连接了内部网和Internet,并且路由器要通过部署ASPF来保护内部网的服务器,则路由器上与内部网连接的接口就是内部接口,与Internet相连的接口就是外部接口。

当ASPF应用于路由器外部接口的出方向时,可以在防火墙上为内部网用户访问Internet的返回报文打开一个临时通道。

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

图6-1 应用层协议检测的基本原理

如上图所示,为了保护内部网络,一般情况下需要在路由器上配置静态访问控制列表,以便允许内部网的主机的访问外部网络,同时拒绝外部网络的主机访问内部网络。但静态访问控制列表会将用户发起连接后返回的报文过滤掉,导致连接无法正常建立。当在路由器上配置了应用层协议检测后,ASPF可以检测每一个应用层的会话,并创建一个状态表和一个临时访问控制表(TACL)。状态表在检测到第一个外发报文时创建,用于维护了一次会话中某一时刻会话所处的状态,并检测会话状态的转换是否正确。临时访问控制列表的表项在创建状态表项的时候同时创建,会话结束后删除,它相当于一个扩展ACL的permit项。TACL主要用于匹配一个会话中的所有返回的报文,可以为某一应用返回的报文在防火墙的外部接口上建立了一个临时的返回通道。

下面以FTP检测为例说明多通道应用层协议检测的过程。

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

FTP连接的建立过程如下:

假设FTP Client以1333端口向FTP Server的21端口发起FTP控制通道的连接,通过协商决定由Server端的20端口向Client端的1600端口发起数据通道的连接,数据传输超时或结束后连接删除。

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

(1)        检查从出接口上向外发送的IP报文,确认为基于TCP的FTP报文。

(2)        检查端口号确认连接为控制连接,建立返回报文的TACL和状态表。

(3)        检查FTP控制连接报文,解析FTP指令,根据指令更新状态表,如果包含数据通道建立指令,则创建数据连接的TACL;对于数据连接,不进行状态检测。

(4)        对于返回报文,根据协议类型做相应匹配检查,检查将根据相应协议的状态表和TACL决定报文是否允许通过。

(5)        FTP连接删除时,状态表及TACL随之删除。

单通道应用层协议(例如SMTP,HTTP)的检测过程比较简单,当发起连接时建立TACL,连接删除时随之删除TACL即可。

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

这里的传输层协议检测是指通用TCP/UDP检测。通用TCP和UDP检测与应用层协议检测不同,是对报文的传输层信息进行的检测,如源、目的地址及端口号等。通用TCP/UDP检测要求返回到ASPF外部接口的报文要与前面从ASPF外部接口发出去的报文完全匹配,即源、目的地址及端口号恰好对应,否则返回的报文将被阻塞。因此对于FTP,H.323这样的多通道应用层协议,在不配置应用层检测而直接配置TCP检测的情况下会导致连接无法建立。

6.2  包过滤防火墙配置

包过滤防火墙的配置包括:

l              允许或禁止防火墙

l              设置防火墙缺省过滤方式

l              设置包过滤防火墙分片报文检测开关

l              配置分片报文检测的上、下门限值

l              在接口上应用访问控制列表

6.2.1  使能或禁止包过滤防火墙

请在系统视图下进行下列配置。

表6-1 使能或禁止包过滤防火墙

操作

命令

使能包过滤防火墙

firewall packet-filter enable

禁止包过滤防火墙

undo firewall packet-filter enable

 

系统缺省情况下,禁止包过滤防火墙。

6.2.2  设置防火墙缺省过滤方式

设置防火墙的缺省过滤方式,即在没有一个合适的规则去判定用户数据包是否可以通过的时候,防火墙采取的策略是允许还是禁止该数据包通过。

请在系统视图下进行下列配置。

表6-2 设置防火墙缺省过滤方式

操作

命令

设置缺省过滤方式为允许通过

firewall packet-filter default permit

设置缺省过滤方式为禁止通过

firewall packet-filter default deny

 

在防火墙开启时,系统缺省为允许任何报文通过。

6.2.3  设置包过滤防火墙过滤分片报文

对分片报文进行源地址及时间段等信息的过滤时,配置过程如下:

l              配置基本访问控制列表

l              在接口应用基本访问控制列表

对分片报文进行包含四层信息的过滤时,配置过程如下:

l              配置高级访问控制列表

l              配置包过滤防火墙分片报文检测开关

l              配置分片报文检测的上、下门限值(可选)

l              在接口应用高级访问控制列表

1. 配置访问控制列表

如果仅对非首片报文进行过滤时,基本或高级访问控制列表中的rule命令中的fragment为必配关键字。

&  说明:

对于非首片报文的匹配取决于首片分片报文的行为。当首片分片报文被ACL允许(permit),其报文的其他三层以外信息才会被防火墙记录;如果首片报文被deny那么防火墙将不会做任何记录。因此对于后续分片,只有在其首片报文被防火墙permit的情况下,ACL中配置的三层以外匹配规则才会对非首片的分片报文起作用,否则将会被忽略。

 

2. 设置包过滤防火墙分片报文检测开关

此命令是实现精确匹配的前提。只有打开分片检测开关,才能进行分片报文的精确匹配。这时,包过滤防火墙将记录分片报文的状态,根据高级ACL规则对三层以外的信息进行精确匹配。

请在系统视图下进行下列配置。

表6-3 设置分片报文检测开关

操作

命令

打开分片报文检测开关

firewall fragments-inspect

关闭分片报文检测开关

undo firewall fragments-inspect

 

&  说明:

当仅对分片报文的三层信息进行匹配过滤时,不必配置此命令。

 

3. 配置分片报文检测的上、下门限值(可选)

请在系统视图下进行下列配置。

表6-4 配置分片报文检测的上、下门限值

操作

命令

指定上、下限分片状态记录数目

firewall fragments-inspect { high | low } { default | number }

恢复上限分片状态记录数目为缺省值

undo firewall fragments-inspect { high | low }

 

缺省的上限(high)分片状态记录数目为2000;下限(low)分片状态记录数目为1500。

4. 在接口上应用访问控制列表

当仅对分片报文按三层信息或时间段等特殊信息进行过滤时,使用标准匹配方式即可;当需要对分片报文按端口信息进行过滤时,必须使用精确匹配方式,否则端口匹配规则不生效。

表6-5 在接口上应用访问控制列表

操作

命令

指定接口上过滤接收报文的规则

firewall packet-filter acl-number  { inbound | outbound } [ match-fragments { normally | exactly } ]

取消接口上过滤接收报文的规则

undo firewall packet-filter acl-number { inbound | outbound }

 

缺省的模式为标准匹配方式。

6.2.4  包过滤防火墙显示与调试

在完成上述配置后,在所有视图下执行如下display命令可以显示包过滤防火墙的运行情况,通过查看显示信息验证配置的效果。

在用户视图下执行debugging命令可以对包过滤防火墙进行调试。

表6-6 防火墙显示与调试

操作

命令

显示防火墙的统计信息

display firewall packet-filter statistics { all | interface type number | fragments-inspect }

显示分片表

display firewall fragment

打开防火墙包过滤调试信息开关

debugging firewall packet-filter{ { all | icmp | tcp | udp | fragments-inspect | others } [ interface type number ] | denied | permitted }

关闭防火墙包过滤调试信息开关

undo debugging packet-filter firewall { { all | icmp | tcp | udp | fragments-inspect | others } [ interface type number ] | denied | permitted }

打开分片报文的检测事件信息的调试开关

debugging firewall packet-filter fragments-inspect events

关闭分片报文的检测事件信息的调试开关

undo debugging firewall packet-filter fragments-inspect events

清除包过滤防火墙的统计信息

reset firewall packet-filter statistics { all | interface type number }

 

6.2.5  包过滤防火墙典型配置举例

1. 组网需求

以下通过一个公司配置防火墙的实例来说明防火墙的配置。

该公司通过一台H3C路由器的接口GigabitEthernet 2/0访问Internet,路由器与内部网通过以太网接口GigabitEthernet 1/0连接。公司内部对外提供WWW、FTP和Telnet服务,公司内部子网为129.38.1.0,其中,内部FTP服务器地址为129.38.1.1,内部Telnet服务器地址为129.38.1.2,内部WWW服务器地址为129.38.1.3,公司对外地址为202.38.160.1。在路由器上配置了地址转换,这样内部PC机可以访问Internet,外部PC可以访问内部服务器。通过配置防火墙,希望实现以下要求:

l              外部网络只有特定用户可以访问内部服务器。

l              内部网络只有特定主机可以访问外部网络。

假定外部特定用户的IP地址为202.39.2.3。

2. 组网图

图6-3 包过滤防火墙配置案例组网图

3. 配置步骤

# 在路由器H3C上允许防火墙。

[H3C] firewall packet-filter enable

# 设置防火墙缺省过滤方式为允许包通过。

[H3C] firewall packet-filter default permit

# 创建访问控制列表3001。

[H3C] acl number 3001

# 配置规则允许特定主机访问外部网,允许内部服务器访问外部网。

[H3C-acl-adv-3001] rule permit ip source 129.38.1.4 0

[H3C-acl-adv-3001] rule permit ip source 129.38.1.1 0

[H3C-acl-adv-3001] rule permit ip source 129.38.1.2 0

[H3C-acl-adv-3001] rule permit ip source 129.38.1.3 0

[H3C-acl-adv-3001] rule deny ip

# 创建访问控制列表3002

[H3C] acl number 3002

# 配置规则允许特定用户从外部网访问内部服务器。

[H3C-acl-adv-3002] rule permit tcp source 202.39.2.3 0 destination 202.38.160.1 0

# 配置规则允许特定用户从外部网取得数据(只允许端口大于1024的包)。

[H3C-acl-adv-3002] rule permit tcp destination 202.38.160.1 0 destination-port gt 1024

# 将规则3001作用于从接口GigabitEthernet 1/0进入的包。

[H3C-GigabitEthernet1/0] firewall packet-filter 3001 inbound

# 将规则3002作用于从接口GigabitEthernet 2/0进入的包。

[H3C-GigabitEthernet2/0] firewall packet-filter 3002 inbound

6.2.6  包过滤防火墙分片报文处理配置举例

1. 组网需求

该公司通过一台H3C路由器的接口GigabitEthernet 2/0访问Internet,路由器与内部网通过以太网接口GigabitEthernet 1/0连接。公司内部对外提供WWW和Telnet服务,公司内部子网为200.1.1.0/24。内部WWW服务器地址为200.1.1.1,内部Telnet服务器地址为200.1.1.2,路由器的外部接口GigabitEthernet 2/0的地址为202.38.160.1。

为了防止外部攻击者对内部WWW和Telnet服务器进行分片报文攻击,在路由器外部接口的入方向上应用ACL,以阻止到达内部服务器的分片报文。

2. 组网图

图6-4 包过滤防火墙分片报文处理组网图

3. 配置步骤

# 配置ACL,使路由器阻止来自外部网络到WWW和Telnet服务器的分片报文。

[H3C] acl number 3001

[H3C-acl-adv-3001] rule 1 deny ip source any destination 200.1.1.1 0 fragment

[H3C-acl-adv-3001] rule 2 deny ip source any destination 200.1.1.2 0 fragment

[H3C-acl-adv-3001] rule 3 permit tcp source any destination 200.1.1.1 0 destination-port eq 80

[H3C-acl-adv-3001] rule 4 permit tcp source any destination 200.1.1.2 0 destination-port eq 23

[H3C-acl-adv-3001] rule 5 deny ip

[H3C-acl-adv-3001] quit

# 打开分片报文检测开关。

[H3C] firewall packet-filter fragments-inspect

# 配置包过滤防火墙,将ACL应用到外部接口的入方向,并使用精确匹配。

[H3C] interface gigabitethernet 2/0

[H3C-GigabitEthernet2/0] firewall packet-filter 3001 inbound match-fragments

exactly

以上配置中的入站ACL只用于阻止到特定内部服务器的分片报文,并允许外部主机访问内部服务器。若要使由内部主机初始的会话的返回流量通过路由器,还需添加其它的ACL规则,或者使用ASPF状态防火墙。

6.3  ASPF配置

ASPF主要配置包括:

l              允许防火墙

l              配置访问控制列表

l              定义一个ASPF策略

l              在选定的接口上应用ASPF策略

6.3.1  允许防火墙

此配置与包过滤防火墙配置相同,请参见上一节的内容。

6.3.2  配置访问控制列表

为了保护内部网络,需要在路由器上配置访问控制列表,允许内部网的主机访问外部网络,同时拒绝外部网络的主机访问内部网络,并将访问控制列表应用到外部接口上。

表6-7 配置访问控制列表

操作

命令

配置访问控制列表(在ACL视图下)

rule deny

将ACL应用到出接口上(在接口视图下)

firewall packet-filter acl-num inbound

 

6.3.3  定义ASPF策略

请按以下步骤定义一个ASPF策略:

l              创建一个ASPF策略;

l              配置空闲超时值;

l              配置应用层协议检测;

l              配置通用TCP和UDP检测。

1. 创建一个ASPF策略

请在系统视图下进行下列配置

表6-8 创建一个ASPF策略

操作

命令

创建一个ASPF策略

aspf-policy aspf-policy-number

删除创建一个ASPF策略

undo aspf-policy aspf-policy-numbe

 

aspf-policy-number为ASPF策略号,范围为1~99。

2. 配置空闲超时值

请在ASPF策略视图下进行下列配置。

表6-9 配置空闲超时值

操作

命令

配置空闲超时值

aging-time { syn | fin | tcp | udp } seconds

恢复默认的空闲超时值

undo aging-time { syn | fin | tcp | udp }

 

该任务用来配置TCP的SYN状态等待超时值、FIN状态等待超时值,TCP和UDP会话表项空闲状态超时值。缺省情况SYN、FIN、TCP、UDP的超时时间分别为30s、30s、3600s和30s。

3. 配置应用层协议检测

请在ASPF策略视图下进行下列配置。

表6-10 配置应用层协议检测

操作

命令

为应用层协议配置ASPF检测

detect protocol [ aging-time seconds ]

删除配置的应用协议检测

undo detect protocol

 

应用层协议包括:FTP、HTTP、H.323、SMTP、RTSP;传输层协议包括:TCP、UDP。应用层协议的超时时间缺省值为3600秒。基于TCP协议的超时时间缺省值为3600秒;基于UDP协议的timeout超时时间缺省值为30秒。

protocol选择http时,可以配置Java阻断。

表6-11 配置Java阻断

操作

命令

配置Java阻断检测

detect http [ java-blocking [ acl-number1 ] ] [ aging-time seconds ]

取消对HTTP的检测规则

undo detect http [ java-blocking ]

 

4. 配置通用TCP和UDP协议检测

请在ASPF策略视图下进行下列配置。

表6-12 配置通用TCP和UDP协议检测

操作

命令

配置通用TCP协议检测

detect tcp [ aging-time seconds ]

配置通用UDP协议检测

detect udp [ aging-time seconds ]

删除通用TCP协议检测

undo detect tcp

删除通用UDP协议检测

undo detect udp

 

基于TCP协议的超时时间缺省值为3600秒;基于UDP协议的超时时间缺省值为30秒。

在不配置应用层检测,直接配置TCP或UDP检测的情况下,可能会产生部分报文无法返回的情况,故建议应用层检测和TCP/UDP检测配合使用。

&  说明:

对于Telnet应用,直接配置通用TCP检测即可实现ASPF功能。

 

6.3.4  在接口上应用ASPF策略

将定义好的ASPF策略应用到外部接口上,才能对通过接口的流量进行检测。

请在接口视图下进行下列配置。

表6-13 在接口上应用ASPF策略

操作

命令

在接口上应用ASPF策略

firewall aspf aspf-policy-number { inbound | outbound }

删除该接口上应用的ASPF策略

undo firewall aspf aspf-policy-number { inbound | outbound }

 

由于ASPF对于应用层协议状态的保存和维护都是基于接口的,因此,在实际应用中,必须保证报文入口的一致性,即必须保证连接发起报文和返回报文基于同一接口。

6.3.5  配置协议超时时间

该命令用于配置各种协议在会话表中的超时时间。

请在系统视图下进行下列配置。

表6-14 配置协议超时时间

操作

命令

配置所有协议超时时间为缺省值

firewall session aging-time default

配置各个协议的超时时间

firewall session aging-time { fin-rst | fragment | ftp | h323 | http | icmp | netbios | ras | rtsp | smtp | syn | tcp | telnet | udp } { default | seconds }

 

各种协议的缺省超时时间请参考命令手册。

6.3.6  端口映射配置

1. 配置端口映射项

请在系统视图下进行下列配置。

表6-15 配置端口映射

操作

命令

配置通用端口映射功能

port-mapping application-name port port-number

删除用户配置的通用端口映射

undo port-mapping application-name port port-number

配置主机端口映射功能

port-mapping application-name port port-number acl acl-number

删除用户配置的主机端口映射

undo port-mapping application-name port port-number acl acl-number

 

主机端口映射中特定主机的范围应由基本的ACL指定。

6.3.7  ASPF显示与调试

在完成上述配置后,在所有视图下执行如下display命令可以显示ASPF的运行情况,通过查看显示信息验证配置的效果。在用户视图下执行debugging命令查看ASPF调试信息。

表6-16 ASPF显示与调试

操作

命令

显示所有ASPF配置情况

display aspf all

显示应用ASPF策略和访问列表的接口配置

display aspf interface

显示一个特定ASPF策略的配置

display aspf policy aspf-policy-number

显示ASPF当前会话状态

display aspf session [ verbose ]

显示防火墙的会话表信息

display firewall session table [ verbose ] [ source ip-address ] [ destination ip-address ]

显示协议的会话超时时间

display firewall session aging-time

显示端口映射信息

display port-mapping [ application-name | port port-number ]

打开ASPF调试开关

debugging aspf { all | verbose | events | ftp | h323 | rtsp | session | smtp | tcp | timers | udp }

关闭ASPF调试开关

undo debugging aspf { all | verbose | events | ftp | h323 | rtsp | session | smtp | tcp | timers | udp }

打开HTTP调试开关

debugging aspf http [ java-blocking { all | error | event | filter | packet } ]

关闭HTTP调试开关

undo debugging aspf http [ java-blocking { all | error | event | filter | packet } ]

清除ASPF的会话信息

reset aspf session

清除防火墙的会话表信息

reset firewall session table

 

6.3.8  ASPF典型配置案例

1. 组网需求

在防火墙上配置一ASPF策略,检测通过防火墙的FTP和HTTP流量。要求:如果该报文是内部网络用户发起的FTP和HTTP连接的返回报文,则允许其通过防火墙进入内部网络,其他报文被禁止;并且,此ASPF策略能够过滤掉来自服务器2.2.2.11的HTTP报文中的Java Applet。本例可以应用在本地用户需要访问远程网络服务的情况下。

2. 组网图

图6-5 ASPF配置案例组网图

3. 配置步骤

# 在ASPF路由器上配置允许防火墙。

[H3C] firewall packet-filter enable

# 配置访问控制列表3111,以拒绝所有TCP和UDP流量进入内部网络,ASPF会为允许通过的流量创建临时的访问控制列表。

[H3C] acl number 3111

[H3C-acl-adv-3111] rule deny tcp

[H3C-acl-adv-3111] rule deny udp

# 创建ASPF策略,策略号为1,该策略检测应用层的两个协议:FTP和HTTP协议,并定义没有任何行为的情况下,FTP协议的超时时间为3000秒。

[H3C] aspf-policy 1

[H3C-aspf-policy-1] detect ftp aging-time 3000

[H3C-aspf-policy-1] detect http java-blocking 2001 aging-time 3000

# 配置访问控制列表2001,以过滤来自站点2.2.2.11的Java Applet。

[H3C] acl number 2001

[H3C-acl-basic-2001] rule deny source 2.2.2.11 0

[H3C-acl-basic-2001] rule permit

# 在接口上应用ASPF策略。

[H3C-GigabitEthernet1/0] firewall aspf 1 outbound

# 在接口上应用访问控制列表3111。

[H3C-GigabitEthernet1/0] firewall packet-filter 3111 inbound

6.4  MAC和IP地址绑定

6.4.1  MAC和IP地址绑定简介

MAC和IP地址绑定,指防火墙可以根据用户的配置,在特定的IP地址和MAC地址之间形成关联关系。对于声称从这个IP地址发送的的报文,如果其MAC地址不是指定关系对中的地址,防火墙将予以丢弃,是避免IP地址假冒攻击的一种方式。

1. MAC和IP地址绑定的创建

可以使用如下的命令创建一条地址绑定关系:

firewall mac-binding ip-addr mac-addr

地址绑定关系以IP地址为插入的依据,如果使用命令行多次配置同一IP地址到地址绑定关系中,则后配置的表项会覆盖原有表项。同一个MAC地址可以同多个不同的IP地址绑定。

2. MAC和IP地址绑定的删除

可以使用如下命令删除一个地址绑定关系:

undo firewall mac-binding [ ip-addr ]

当使用带ip-addr参数的命令时,特定IP地址的绑定关系会被删除。如果不指定ip-addr参数,那么当前地址绑定关系表中所有的表项都会被删除。

地址绑定关系的插入和删除独立于地址绑定功能的运行状况,也就是说,无论地址绑定是否被使能,都可以进行地址绑定关系的创建和删除操作。

3. MAC和IP地址绑定的使能

地址绑定功能在使能之后,才会对命中地址绑定关系的报文进行IP地址和MAC地址绑定关系的比较,并对不符合绑定关系的报文进行过滤。否则,即使报文的IP地址和MAC地址不符合绑定关系,也不会被防火墙丢弃掉。

可以使用如下命令使能地址绑定功能:

firewall mac-binding enable

使用如下命令停止地址绑定功能:

undo firewall mac-binding enable

防火墙缺省不使能地址绑定功能。

6.4.2  MAC和IP地址绑定配置

MAC和IP地址绑定的配置包括:

l              配置MAC和IP地址绑定关系

l              使能或禁止MAC和IP地址绑定功能

1. 配置MAC和IP地址绑定关系

请在系统视图下进行下列配置。

表6-17 配置MAC和IP地址绑定

操作

命令

配置MAC和IP地址绑定关系

firewall mac-binding ip-addr mac-addr

删除MAC和IP地址绑定关系

undo firewall mac-binding [ ip-addr ]

 

删除地址绑定关系时,如果没有ip-addr参数,表示删除当前所有地址绑定关系。

  注意:

l      地址绑定关系是静态ARP的另一种表现形式,配置地址绑定关系对报文的影响与配置静态ARP表项一致。在使能地址绑定功能的情况下,如果配置的地址绑定关系中的IP地址已经存在于静态ARP表中,则静态ARP表中的表项将被删除;如果配置静态ARP时已经存在相同IP地址的地址绑定关系表项,该静态ARP将配置失败,同时返回提示信息。在没有使能地址绑定功能的情况下,两者可以共存。

l      MAC和IP地址绑定对于PPPoE的地址是不起作用的,因为以太帧上面承载的是PPP报文,所以无法进行判断和处理。

l      不能将A、B、C类地址的广播地址进行绑定;当被绑定的地址与防火墙的接口IP地址不在同一子网时,系统将会提示“The ip to be bound is not in the same subnet of the interfaces' ip(绑定的IP地址与接口的IP地址不在同一网段)”,但绑定条目仍然会被创建。

 

2. 使能或禁止MAC和IP地址绑定功能

请在系统视图下进行下列配置。

表6-18 使能或禁止MAC和IP地址绑定功能

操作

命令

使能MAC和IP地址绑定功能

firewall mac-binding enable

禁止MAC和IP地址绑定功能

undo firewall mac-binding enable

 

缺省情况下,未启动MAC和IP地址绑定功能。

6.4.3  MAC和IP地址绑定的显示与调试

在所有视图下可以使用display命令,显示地址绑定关系或地址绑定功能的运行状态。在用户视图下执行debugging命令,可以对地址绑定功能进行调试。在用户视图下执行reset命令可以清除MAC和IP地址绑定的统计信息。

表6-19 地址绑定的显示和调试

操作

命令

显示当前MAC和IP地址绑定关系信息

diplay firewall mac-binding item [ ip-addr ] [ statistic ]

显示当前MAC和IP地址绑定功能运行信息

display firewall mac-binding enable

打开MAC和IP地址绑定的调试开关

debugging firewall mac-binding { all | item | packet }

清除MAC和IP地址绑定的统计信息

reset firewall mac-binding item [ ip-addr ] statistic

 

6.4.4  MAC和IP地址绑定典型配置案例

1. 组网需求

服务器和客户机分别位于防火墙Trust区域和Untrust区域中,客户机的IP地址为202.169.168.1,对应的MAC地址为00e0-fc00-0100,在防火墙上配置地址绑定关系,保证只有符合上述关系对的报文可以通过防火墙。

2. 组网图

图6-6 地址绑定配置组网图

3. 配置步骤

# 配置客户机IP地址和MAC地址到地址绑定关系中。

[H3C] firewall mac-binding 202.169.168.1 00e0-fc00-0100

# 使能地址绑定功能。

[H3C] firewall mac-binding enable

6.5  安全区域配置

6.5.1  安全区域介绍

防火墙使用安全区域的概念来表示与其相连接的网络。防火墙预先定义了四个安全区域,这些安全区域也称为系统安全区域,分别为Local区域、Trust区域、Untrust区域和DMZ区域。这些区域分别代表了不同的安全级别,安全级别由高到低依次为Local、Trust、DMZ、Untrust。

l              Local区域代表防火墙本地系统;

l              Trust代表用户网络中的私有网络;

l              Untrst代表公共网络或不安全的网络,如Internet;

l              DMZ(Demilitarized Zone,非军事区域)区域是一个既不属于内部网络,也不属于外部网络的一个相对独立的区域,它处于内部网络与外部网络之间。例如,在一个提供电子商务服务的网络中,某些主机需要对外提供服务,如Web服务器、FTP服务器和邮件服务器等。为了更好地提供优质的服务,同时又要有效保护内部网络的安全,就需要将这些对外提供服务的主机与内部网络进行隔离,即放入DMZ区域中。这样可以有针对性地对内部网络中的设备和这些提供对外服务的主机应用不同的防火墙策略,可以在提供友好的对外服务的同时,最大限度地保护了内部网络。

6.5.2  安全区域配置

1. 进入安全区域视图

请在系统视图下进行下列配置。

表6-20 进入安全区域视图

操作

命令

进入安全区域视图

firewall zone zonename

 

2. 创建安全区域

请在系统视图下进行下列配置。

表6-21 创建安全区域

操作

命令

创建安全区域

firewall zone name zonename

删除安全区域

undo firewall zone name zonename

 

缺省情况下,系统预先定义了四个安全区域:Local、Trust、Untrust和DMZ。这些系统定义的安全区域是不能被删除的。

3. 为安全区域添加接口

请在区域视图下进行下列配置。

表6-22 为安全区域添加接口

操作

命令

将接口添加到安全区域

add interface interface-type interface-number

将接口从安全区域中删除

undo add interface interface-type interface-number

 

缺省情况下,所有安全区域中未添加任何接口。

一个接口只能属于一个安全区域。将接口加入到一个安全区域中前,这个接口不能已经属于其它的区域,否则需要先将此接口从其它区域中删除。

  注意:

在防火墙使能的情况下,MSR 50-06路由器若要实现和其它设备的互通,必须将相应的接口添加到某一个安全区域中。要想区域的功能生效,需要先通过配置firewall defend enable命令使能攻击防范功能。

 

4. 设置安全区域的优先级

可以为安全区域设置一个优先级,优先级数值越高,表示此区域的安全性越高。

请在区域视图下进行下列配置。

表6-23 设置安全区域的优先级

操作

命令

设置安全区域的优先级

set priority number

 

缺省情况下,Local区域的优先级为100,Trust区域的优先级为85,Untrust区域的优先级为5,DMZ区域的优先级为50。系统定义的这些区域的优先级是不能被更改的。

6.5.3  安全区域的显示

在任意视图下执行display命令可以查看安全区域的配置情况。

表6-24 安全区域的显示

操作

命令

显示安全区域所包含的接口

display zone [ zone-name ] interface

显示安全区域的优先级

display zone [ zone-name ] priority

显示安全区域所包含的接口和安全区域的优先级

display zone [ zone-name ]

 


第7章  攻击防范与报文统计

&  说明:

本章的功能必须在启用了防火墙的攻击防范功能后才能实现。

 

7.1  攻击防范与报文统计简介

7.1.1  攻击防范简介

通常的网络攻击,一般是侵入或破坏网络上的服务器(主机),盗取服务器的敏感数据或干扰、破坏服务器对外提供的服务;也有直接破坏网络设备的网络攻击,这种破坏影响较大,会导致网络服务异常,甚至中断。路由器的攻击防范功能能够检测出多种类型的网络攻击,并能采取相应的措施保护内部网络免受恶意攻击,保证内部网络及系统的正常运行。

7.1.2  网络攻击的种类

网络攻击可分为拒绝服务型攻击、扫描窥探攻击和畸形报文攻击三大类:

1. 拒绝服务型攻击

拒绝服务型(DoS,Denial of Service)攻击是使用大量的数据包攻击系统,使系统无法接受正常用户的请求,或者主机挂起不能提供正常的工作。主要的DoS攻击有SYN Flood、Fraggle等。拒绝服务攻击和其他类型的攻击不同之处在于:攻击者并不是去寻找进入内部网络的入口,而是阻止合法用户访问网络资源。

2. 扫描窥探攻击

扫描窥探攻击是利用ping扫射(包括ICMP和TCP)来标识网络上存活着的系统,从而准确的指出潜在的目标。利用TCP和UDP端口扫描,就能检测出操作系统和监听着的潜在服务。攻击者通过扫描窥探就能大致了解目标系统提供的服务种类和潜在的安全漏洞,为进一步侵入系统做好准备。

3. 畸形报文攻击

畸形报文攻击是通过向目标系统发送有缺陷的IP报文,使得目标系统在处理这样的IP报文时会崩溃,给目标系统带来损失。主要的畸形报文攻击有Ping of Death、Teardrop等。

7.1.3  典型的网络攻击

1. IP地址欺骗(IP Spoofing)攻击

为了获得访问权,入侵者生成一个带有伪造源地址的报文。对于使用基于IP地址验证的应用来说,此攻击方法可以导致未被授权的用户可以访问目的系统,甚至是以root权限来访问。即使响应报文不能到达攻击者,同样也会造成对被攻击对象的破坏。这就造成IP Spoofing攻击。

2. Land攻击

所谓Land攻击,就是把TCP SYN包的源地址和目标地址都配置成受害者的IP地址。这将导致受害者向它自己的地址发送SYN-ACK消息,结果这个地址又返回ACK消息并创建一个空连接,每一个这样的连接都将保留直到超时掉。各种受害者对Land攻击反应不同,许多UNIX主机将崩溃,Windows NT主机会变的极其缓慢。

3. Smurf攻击

简单的Smurf攻击,用来攻击一个网络。方法是发ICMP应答请求,该请求包的目标地址配置为受害网络的广播地址,这样该网络的所有主机都对此ICMP应答请求作出答复,导致网络阻塞。

高级的Smurf攻击主要用来攻击目标主机。方法是将上述ICMP应答请求包的源地址改为受害主机的地址,最终导致受害主机崩溃。攻击报文的发送需要一定的流量和持续时间,才能真正构成攻击。理论上讲,网络的主机越多,攻击的效果越明显。Smurf攻击的另一个变体为Fraggle攻击。

4. WinNuke攻击

WinNuke攻击通常向装有Windows系统的特定目标的NetBIOS端口(139)发送OOB(out-of-band)数据包,引起一个NetBIOS片断重叠,致使目标主机崩溃。还有一种是IGMP分片报文,一般情况下,IGMP报文是不会分片的,所以,不少系统对IGMP分片报文的处理有问题。如果收到IGMP分片报文,则基本可判定受到了攻击。

5. SYN Flood攻击

由于资源的限制,TCP/IP栈只能允许有限个TCP连接。而SYN Flood攻击正是利用这一点,它伪造一个SYN报文,其源地址是伪造的或者是一个不存在的地址,向服务器发起连接,服务器在收到报文后用SYN-ACK应答,而此应答发出去后,不会收到ACK报文,造成一个半连接。如果攻击者发送大量这样的报文,会在被攻击主机上出现大量的半连接,消耗尽其资源,使正常的用户无法访问。直到半连接超时。在一些创建连接不受限制的实现里,SYN Flood具有类似的影响,它会消耗掉系统的内存等资源。

6. ICMP和UDP Flood攻击

这种攻击短时间内用大量的ICMP消息(如ping)和UDP报文向特定目标不断请求回应,致使目标系统负担过重而不能处理合法的传输任务。

7. 地址扫描与端口扫描攻击

运用扫描工具探测目标地址和端口,对此作出响应的表示其存在,用来确定哪些目标系统确实存活着并且连接在目标网络上,这些主机使用哪些端口提供服务。

8. Ping of Death攻击

所谓Ping of Death,就是利用一些尺寸超大的ICMP报文对系统进行的一种攻击。IP报文的长度字段为16位,这表明一个IP报文的最大长度为65535。对于ICMP 回应请求报文,如果数据长度大于65507,就会使ICMP数据+IP头长度(20)+ICMP头长度(8)> 65535。对于有些路由器或系统,在接收到一个这样的报文后,由于处理不当,会造成系统崩溃、死机或重启。

7.1.4  报文统计分析功能简介

对于路由器来说,不仅要对数据流量进行监控,还要对内外部网络之间的连接发起情况进行检测,因此要进行大量的统计计算与分析。路由器的统计分析一方面可以通过专门的分析软件对日志信息进行事后分析;另一方面,路由器系统本身可以完成一部分分析功能,它表现在具有一定的实时性。比如,通过分析外部网络向内部网络发起的TCP或UDP连接总数是否超过设定的阈值,可以确定是否需要限制该方向的新连接发起,或者限制向内部网络某一IP地址发起新连接。

下图是路由器的一个典型应用,当启动了外部网络到DMZ区域的基于IP地址的统计分析功能时,如果外部网络对服务器发起的TCP连接数超过了设定的阈值,路由器将限制外部网络向该服务器发起新连接,直到连接数降到正常的范围。

图7-1 路由器拒绝外部网络向服务器发起过多的连接

7.2  攻击防范配置

攻击防范的配置包括:

l              使能攻击防范功能

l              使能ARP Flood攻击防范功能

l              使能ARP反向查询攻击防范功能

l              使能ARP欺骗攻击防范功能

l              使能IP欺骗攻击防范功能

l              使能Land攻击防范功能

l              使能Smurf攻击防范功能

l              使能WinNuke攻击防范功能

l              使能Fraggle攻击防范功能

l              使能Frag Flood攻击防范功能

l              使能SYN Flood攻击防范功能

l              使能ICMP Flood攻击防范功能

l              使能UDP Flood攻击防范功能

l              使能ICMP重定向报文控制功能

l              使能ICMP不可达报文控制功能

l              使能地址扫描攻击防范功能

l              使能端口扫描攻击防范功能

l              使能带源路由选项IP报文控制功能

l              使能带路由记录选项IP报文控制功能

l              使能Tracert报文控制功能

l              使能Ping of Death攻击防范功能

l              使能Teardrop攻击防范功能

l              使能TCP报文合法性检测功能

l              使能IP分片报文检测功能

l              使能超大ICMP报文控制功能

7.2.1  使能/关闭防火墙攻击防范功能

请在系统视图下进行下列配置。

表7-1 使能/关闭防火墙攻击防范功能

操作

命令

使能防火墙攻击防范功能

firewall defend enable

关闭防火墙攻击防范功能

undo firewall defend enable

 

缺省为关闭防火墙攻击防范功能。所有的攻击防范只有在使能防火墙防范攻击后生效。

7.2.2  使能/关闭ARP Flood攻击防范功能

请在系统视图下进行下列配置。

表7-2 使能/关闭ARP Flood攻击防范功能

操作

命令

使能ARP Flood攻击防范功能

firewall defend arp-flood [ max-rate rate-number ]

关闭ARP Flood攻击防范功能

undo firewall defend arp-flood

 

缺省为关闭ARP Flood攻击防范功能。ARP报文的最大连接速率为10,000,缺省为100。

7.2.3  使能/关闭ARP反向查询攻击防范功能

请在系统视图下进行下列配置。

表7-3 使能/关闭ARP反向查询攻击防范功能

操作

命令

使能ARP反向查询攻击防范功能

firewall defend arp-reverse-query

关闭ARP反向查询攻击防范功能

undo firewall defend arp-reverse-query

 

缺省为关闭ARP反向查询攻击防范功能。

7.2.4  使能/关闭ARP欺骗攻击防范功能

请在系统视图下进行下列配置。

表7-4 使能/关闭ARP欺骗攻击防范功能

操作

命令

使能ARP欺骗攻击防范功能

firewall defend arp-spoofing

关闭ARP欺骗攻击防范功能

undo firewall defend arp-spoofing

 

缺省为关闭ARP欺骗攻击防范功能。

7.2.5  使能/关闭IP欺骗攻击防范功能

请在系统视图下进行下列配置。

表7-5 使能/关闭IP欺骗攻击防范功能

操作

命令

使能IP欺骗攻击防范功能

firewall defend ip-spoofing

关闭IP欺骗攻击防范功能

undo firewall defend ip-spoofing

 

缺省为关闭IP欺骗攻击防范功能。

7.2.6  使能/关闭Land攻击防范功能

请在系统视图下进行下列配置。

表7-6 使能/关闭Land攻击防范功能

操作

命令

使能Land攻击防范功能

firewall defend land

关闭Land攻击防范功能

undo firewall defend land

 

缺省为关闭Land攻击防范功能。

7.2.7  使能/关闭Smurf攻击防范功能

请在系统视图下进行下列配置。

表7-7 使能/关闭Smurf攻击防范功能

操作

命令

使能Smurf攻击防范功能

firewall defend smurf

关闭Smurf攻击防范功能

undo firewall defend smurf

 

缺省为关闭Smurf攻击防范功能。

7.2.8  使能/关闭WinNuke攻击防范功能

请在系统视图下进行下列配置。

表7-8 使能/关闭WinNuke攻击防范功能

操作

命令

使能WinNuke攻击防范功能

firewall defend winnuke

关闭WinNuke攻击防范功能

undo firewall defend winnuke

 

缺省为关闭WinNuke攻击防范功能。

7.2.9  使能/关闭Fraggle攻击防范功能

请在系统视图下进行下列配置。

表7-9 使能/关闭Fraggle攻击防范功能

操作

命令

使能Fraggle攻击防范功能

firewall defend fraggle

关闭Fraggle攻击防范功能

undo firewall defend fraggle

 

缺省为关闭Fraggle攻击防范功能。

7.2.10  使能/关闭Frag Flood攻击防范功能

请在系统视图下进行下列配置。

表7-10 使能/关闭Frag Flood攻击防范功能

操作

命令

使能Frag Flood攻击防范功能

firewall defend frag-flood [ max-identical-rate max-identical-rate ] [ max-total-rate max-total-rate ]

关闭Frag Flood攻击防范功能

undo firewall defend frag-flood

 

缺省为关闭Frag Flood攻击防范功能。

7.2.11  使能/关闭SYN Flood攻击防范功能

SYN Flood攻击防范功能可对安全域和IP地址分别进行配置,使能该功能需要首先打开SYN Flood攻击防范功能全局开关和使能受保护域(或受保护IP所在域)入方向的IP统计功能为前提。

1. 使能/关闭SYN Flood攻击防范功能

请在系统视图下进行下列配置。

表7-11 使能/关闭SYN Flood攻击防范功能

操作

命令

打开SYN Flood攻击防范功能全局开关

firewall defend syn-flood enable

关闭SYN Flood攻击防范功能全局开关

undo firewall defend syn-flood enable

 

缺省为关闭SYN Flood攻击防范功能全局开关。

2. 配置SYN Flood攻击防范功能

请在系统视图下进行下列配置。

表7-12 配置SYN Flood攻击防范功能

操作

命令

使能对IP的SYN Flood攻击防范功能

firewall defend syn-flood ip ip-address [ max-rate rate-number ] [ tcp-proxy ]

使能对域内所有IP的SYN Flood攻击防范功能

firewall defend syn-flood zone zone-name [ max-rate rate-number ] [ tcp-proxy ]

关闭对某IP的SYN Flood攻击防范功能

undo firewall defend syn-flood ip ip-address

关闭对所有IP的SYN Flood攻击防范功能

undo firewall defend syn-flood ip

关闭对某域内所有IP的SYN Flood攻击防范功能

undo firewall defend syn-flood zone zone-name

关闭对所有域内IP的SYN Flood攻击防范功能

undo firewall defend syn-flood zone

关闭所有的SYN Flood攻击防范功能

undo firewall defend syn-flood

 

缺省为关闭SYN Flood攻击防范功能。SYN包最大连接速率(max-rate)取值范围为1~1,000,000,缺省值为1000;当启用TCP代理时,则当检测到受保护主机或安全区域受到SYN Flood攻击时,TCP代理自动启动,当不再受到攻击时,TCP代理自动关闭。

&  说明:

l      SYN Flood的IP配置的优先级比域配置的优先级高。如果对特定IP配置开启SYN Flood攻击防范功能,同时也对该IP所在的域内的所有IP配置开启了防范功能,则该IP的各检测参数以IP配置为准;若此时取消IP配置,则该IP的各检测参数以域配置为准。

l      MSR 50-06路由器的Flood攻击防范功能(即SYN Flood、ICMP Flood和UDP Flood的总和)最多支持同时配置对1000个IP进行保护。

l      若要对SYN Flood攻击进行防范,则必须配置TCP代理。

 

  注意:

真正开启SYN Flood攻击防范功能必须满足三点:

l      使能受保护域(或受保护IP所在域)入方向的IP统计功能。

l      打开SYN Flood攻击防范功能全局开关。

l      配置具体的SYN Flood攻击防范功能。

 

3. 配置TCP代理

TCP代理(TCP-Proxy)对目的主机或目的区域的所有主机提供保护,用来防范SYN Flood的攻击。当外部主机与启用了TCP代理保护的某个主机或某个安全域中的主机建立TCP连接时,必须先与路由器完成TCP三次握手后,才能与目的主机建立TCP连接。如果不能与路由器完成三次握手,则不允许与目的主机建立TCP连接,有效的防止了内部主机受到恶意攻击。

表7-13 配置TCP代理

操作

命令

配置为特定IP或安全区域启用TCP代理

firewall tcp-proxy { ip ip-address | zone zone-name }

配置为特定IP或安全区域关闭TCP代理

undo firewall tcp-proxy { ip ip-address | zone zone-name }

 

缺省情况下,未对任何IP地址或安全区域启用TCP代理。

&  说明:

如果在配置SYN Flood攻击时也启用了TCP代理,则在此处的配置优先于SYN Flood攻击中的配置,即无论是否受到SYN Flood攻击,都启用TCP代理,对目的主机或目的安全区域进行保护。

 

7.2.12  使能/关闭ICMP Flood攻击防范功能

ICMP Flood攻击防范功能可对安全域和IP分别进行配置,使能该功能须以打开ICMP Flood攻击防范功能全局开关和使能受保护域(或受保护IP所在域)入方向的IP统计功能为前提。

1. 使能/关闭ICMP Flood攻击防范功能

请在系统视图下进行下列配置。

表7-14 使能/关闭ICMP Flood攻击防范功能

操作

命令

打开ICMP Flood攻击防范功能全局开关

firewall defend icmp-flood enable

关闭ICMP Flood攻击防范功能全局开关

undo firewall defend icmp-flood enable

 

缺省为关闭ICMP Flood攻击防范功能全局开关。

2. 配置ICMP Flood攻击防范功能

请在系统视图下进行下列配置。

表7-15 配置ICMP Flood攻击防范功能

操作

命令

使能对IP的ICMP Flood攻击防范功能

firewall defend icmp-flood ip ip-address [ max-rate rate-number ]

使能对域内所有IP的ICMP Flood攻击防范功能

firewall defend icmp-flood zone zone-name [ max-rate rate-number ]

关闭对某IP的ICMP Flood攻击防范功能

undo firewall defend icmp-flood ip ip-address

关闭对所有IP的ICMP Flood攻击防范功能

undo firewall defend icmp-flood ip

关闭对某域内所有IP的ICMP Flood攻击防范功能

undo firewall defend icmp-flood zone zone-name

关闭对所有域内IP的ICMP Flood攻击防范功能

undo firewall defend icmp-flood zone

关闭所有的ICMP Flood攻击防范功能

undo firewall defend icmp-flood

 

缺省为关闭ICMP Flood攻击防范功能。ICMP包最大连接速率(max-rate)取值范围为1~1,000,000,缺省值为1000。

&  说明:

l      ICMP Flood的IP配置的优先级比域配置的优先级高。如果对特定IP配置开启ICMP Flood攻击防范功能,同时也对该IP所在的域内的所有IP配置开启了防范功能,则该IP的各检测参数以IP配置为准;若此时取消IP配置,则该IP的各检测参数以域配置为准。

l      MSR 50-06路由器的Flood攻击防范功能(即SYN Flood、ICMP Flood和UDP Flood的总和)最多支持同时配置对1000个IP进行保护。

 

  注意:

真正开启ICMP Flood攻击防范功能必须满足三点:1. 使能受保护域(或受保护IP所在域)入方向的IP统计功能;2. 打开ICMP Flood攻击防范功能全局开关;3. 配置具体的ICMP Flood攻击防范功能。

 

7.2.13  使能/关闭UDP Flood攻击防范功能

UDP Flood攻击防范功能可对安全域和IP分别进行配置,使能该功能须以打开UDP Flood攻击防范功能全局开关和使能受保护域(或受保护IP所在域)入方向的IP统计功能为前提。

1. 使能/关闭UDP Flood攻击防范功能

请在系统视图下进行下列配置。

表7-16 使能/关闭UDP Flood攻击防范功能

操作

命令

打开UDP Flood攻击防范功能全局开关

firewall defend udp-flood enable

关闭UDP Flood攻击防范功能全局开关

undo firewall defend udp-flood enable

 

缺省为关闭UDP Flood攻击防范功能全局开关。

2. 配置UDP Flood攻击防范功能

请在系统视图下进行下列配置。

表7-17 配置UDP Flood攻击防范功能

操作

命令

使能对IP的UDP Flood攻击防范功能

firewall defend udp-flood ip ip-address [ max-rate rate-number ]

使能对域内所有IP的UDP Flood攻击防范功能

firewall defend udp-flood zone zone-name [ max-rate rate-number ]

关闭对某IP的UDP Flood攻击防范功能

undo firewall defend udp-flood ip ip-address

关闭对所有IP的UDP Flood攻击防范功能

undo firewall defend udp-flood ip

关闭对某域内所有IP的UDP Flood攻击防范功能

undo firewall defend udp-flood zone zone-name

关闭对所有域内IP的UDP Flood攻击防范功能

undo firewall defend udp-flood zone

关闭所有的UDP Flood攻击防范功能

undo firewall defend udp-flood

 

缺省为关闭UDP Flood攻击防范功能。UDP包最大连接速率(max-rate)取值范围为1~1,000,000,缺省值为1000。

&  说明:

l      UDP Flood的IP配置的优先级比域配置的优先级高。如果对特定IP配置开启UDP Flood攻击防范功能,同时也对该IP所在的域内的所有IP配置开启了防范功能,则该IP的各检测参数以IP配置为准;若此时取消IP配置,则该IP的各检测参数以域配置为准。

l      MSR 50-06路由器的Flood攻击防范功能(即SYN Flood、ICMP Flood和UDP Flood的总和)最多支持同时配置对1000个IP进行保护。

 

  注意:

真正开启UDP Flood攻击防范功能必须满足三点:1. 使能受保护域(或受保护IP所在域)入方向的IP统计功能;2. 打开UDP Flood攻击防范功能全局开关;3. 配置具体的UDP Flood攻击防范功能。

 

7.2.14  使能/关闭ICMP重定向报文控制功能

请在系统视图下进行下列配置。

表7-18 使能/关闭ICMP重定向报文控制功能

操作

命令

使能ICMP重定向报文控制功能

firewall defend icmp-redirect

关闭ICMP重定向报文控制功能

undo firewall defend icmp-redirect

 

缺省为关闭ICMP重定向报文控制功能。

7.2.15  使能/关闭ICMP不可达报文控制功能

请在系统视图下进行下列配置。

表7-19 使能/关闭ICMP不可达报文控制功能

操作

命令

使能ICMP不可达报文控制功能

firewall defend icmp-unreachable

关闭ICMP不可达报文控制功能

undo firewall defend icmp-unreachable

 

缺省为关闭ICMP重定向报文控制功能。

7.2.16  使能/关闭地址扫描攻击防范功能

请在系统视图下进行下列配置。

表7-20 使能/关闭地址扫描攻击防范功能

操作

命令

使能地址扫描攻击防范功能

firewall defend ip-sweep [ max-rate rate-number ]

关闭地址扫描攻击防范功能

undo firewall defend ip-sweep

 

缺省为关闭地址扫描攻击防范功能。最大扫描速率(max-rate)取值范围为1~10,000,缺省值为4000。

  注意:

开启地址扫描攻击防范功能必须满足两点:

l       使能连接发起域出方向的IP统计功能;

l       配置地址扫描攻击防范功能。

 

7.2.17  使能/关闭端口扫描攻击防范功能

请在系统视图下进行下列配置。

表7-21 使能/关闭端口扫描攻击防范功能

操作

命令

使能端口扫描攻击防范功能

firewall defend port-scan [ max-rate rate-number ]

关闭端口扫描攻击防范功能

undo firewall defend port-scan

 

缺省为关闭端口扫描攻击防范功能。最大扫描速率(max-rate)取值范围为1~10,000,缺省值为4000。

  注意:

开启端口扫描攻击防范功能必须满足两点:

l      使能连接发起域出方向的IP统计功能;

l       配置端口扫描攻击防范功能。

 

7.2.18  使能/关闭源路由选项IP报文控制功能

请在系统视图下进行下列配置。

表7-22 使能/关闭带源路由选项IP报文控制功能

操作

命令

使能带源路由选项IP报文控制功能

firewall defend source-route

关闭带源路由选项IP报文控制功能

undo firewall defend source-route

 

缺省为关闭源路由选项IP报文控制功能。

7.2.19  使能/关闭路由记录选项攻击防范功能

请在系统视图下进行下列配置。

表7-23 使能/关闭路由记录选项攻击防范功能

操作

命令

使能路由记录选项攻击防范功能

firewall defend route-record

关闭路由记录选项攻击防范功能

undo firewall defend route-record

 

缺省为关闭路由记录选项攻击防范功能。

7.2.20  使能/关闭Tracert报文控制功能

请在系统视图下进行下列配置。

表7-24 使能/关闭Tracert报文控制功能

操作

命令

使能tracert报文控制功能

firewall defend tracert

关闭tracert报文控制功能

undo firewall defend tracert

 

缺省为关闭Tracert报文控制功能。

7.2.21  使能/关闭Ping of Death攻击防范功能

请在系统视图下进行下列配置。

表7-25 使能/关闭Ping of Death攻击防范功能

操作

命令

使能Ping of Death攻击防范功能

firewall defend ping-of-death

关闭Ping of Death攻击防范功能

undo firewall defend ping-of-death

 

缺省为关闭Ping of Death攻击防范功能。

7.2.22  使能/关闭Teardrop攻击防范功能

请在系统视图下进行下列配置。

表7-26 使能/关闭TearDrop攻击防范功能

操作

命令

使能TearDrop攻击防范功能

firewall defend teardrop

关闭TearDrop攻击防范功能

undo firewall defend teardrop

 

缺省为关闭TearDrop攻击防范功能。

7.2.23  使能/关闭TCP报文标志合法性检测功能

请在系统视图下进行下列配置。

表7-27 使能/关闭TCP报文标志合法性检测功能

操作

命令

使能TCP报文标志合法性检测功能

firewall defend tcp-flag

关闭TCP报文标志合法性检测功能

undo firewall defend tcp-flag

 

缺省为关闭TCP报文标志合法性检测功能。

7.2.24  使能/关闭IP分片报文检测功能

请在系统视图下进行下列配置。

表7-28 使能/关闭IP分片报文检测功能

操作

命令

使能IP分片报文检测功能

firewall defend ip-fragment

关闭IP分片报文检测功能

undo firewall defend ip-fragment

 

缺省为关闭IP分片报文检测功能。

7.2.25  使能/关闭超大ICMP报文控制功能

请在系统视图下进行下列配置。

表7-29 使能/关闭超大ICMP报文控制功能

操作

命令

使能超大ICMP报文控制功能

firewall defend large-icmp [ length ]

关闭超大ICMP报文控制功能

undo firewall defend large-icmp

 

缺省为关闭超大ICMP报文攻击防范功能。报文最大长度取值范围为28~65535字节,缺省值为4000。

7.3  设置路由器连接数量和连接速率监控的告警级别

路由器的系统统计功能可以对连接数量和连接速率进行监控。路由器对于连接数量或连接速率超过所设定的限制时将会进行告警。告警级别分为两种,一种为“告警”,是指当连接数量和连接速率超过设置的上限阈值时,仅输出告警信息;另一种为“丢弃”,是指当连接数量或连接速率超过设置的上限阈值时,输出告警信息,并且后续报文将以一定比例被丢弃。仅当连接数量或连接速率恢复到设置的下限阈值时,不再丢弃报文。

请在系统视图下进行下列配置。

表7-30 设置路由器连接数量和连接速率监控的告警级别

操作

命令

设置告警级别为输出告警信息,并丢弃报文

firewall statistic warning-level drop

 

缺省情况下,告警级别为仅输出告警信息。

7.4  系统统计功能的配置

在配置流量限制功能前,必须开启对应的统计功能。对应的统计功能关闭后,相关的限制告警功能也相应失效。

统计功能配置包括:

l              使能系统统计功能

l              使能系统连接数量监控

l              使能系统报文比率异常告警检测

7.4.1  使能/关闭系统统计功能

使能系统统计,可以对所有流经路由器的数据进行统计。

请在系统视图下进行下列配置。

表7-31 使能/关闭系统统计功能

操作

命令

使能系统统计功能

firewall statistic system enable

关闭系统统计功能

undo firewall statistic system enable

 

缺省情况下,系统统计功能为关闭。

  注意:

请慎重使用关闭系统统计功能的命令!关闭系统统计功能后,和系统统计相关的检测功能也失效。在有流量的情况下,关闭统计功能后,很可能导致以后的统计功能不准,并连带影响与统计相关的功能。

 

7.4.2  使能/关闭系统连接量监控

配置系统的TCP连接和UDP连接总数的上限阈值和下限阈值。当路由器系统的TCP或UDP连接个数超过设定的阈值上限后,路由器将输出日志进行告警,而当TCP、UDP连接个数降到设定的阈值下限时,表示连接数恢复到正常。

请在系统视图下进行下列配置。

表7-32 使能/关闭系统连接数限制

操作

命令

使能系统连接数限制

firewall statistic system connect-number { tcp | udp } high high-value low low-value

关闭系统连接数限制

undo firewall statistic system connect-number { tcp | udp }

 

缺省情况下,系统连接数限制功能为打开,使用缺省值进行限制。基于系统的TCP和UDP连接的上限阈值的缺省值为500000,下限阈值的缺省值为450000。关闭此功能后,系统连接数限制恢复采用缺省值进行限制。

7.4.3  使能/关闭系统报文比率异常告警检测

该命令用来配置不同类型的报文在正常情况下一定时间内所占的百分比以及允许的变动范围,系统定时检测收到的各类报文百分比,并和配置进行比较,如果某类型(TCP、UDP、ICMP或其他)报文百分比超过配置的上限阈值(加波动范围),则系统输出日志告警。

请在系统视图下进行下列配置。

表7-33 使能/关闭系统报文比率异常告警检测

操作

命令

使能系统报文比率异常告警检测

firewall statistic system flow-percent tcp tcp-percent udp udp-percent icmp icmp-percent alternation alternation-percent [ time time-value ]

关闭系统报文比率异常告警检测

undo firewall statistic system flow-percent

 

在缺省情况下,TCP、UDP、ICMP报文分别所占的百分比为75、15、5;各种报文所允许的百分比的波动范围为25;检测周期为60分钟。

此命令TCP、UDP、ICMP三种报文所占百分比需要同时被配置,并且三种报文所占百分比之和不能超过100;如果TCP、UDP、ICMP三种报文百分比之和超过100%,则命令不会生效。

7.5  域统计功能的配置

统计功能配置包括:

l              使能域统计功能

l              使能域连接数量监控

l              使能域连接速率监控

7.5.1  使能/关闭域统计功能

请在域视图下进行下列配置。

表7-34 使能/关闭域统计功能

操作

命令

使能域统计功能

statistic enable zone { inzone | outzone }

关闭域统计功能

undo statistic enable zone { inzone | outzone }

 

缺省情况下,路由器的域统计功能关闭。

  注意:

域统计功能关闭后,配置在域上的流量监控功能也失效。

 

7.5.2  使能/关闭域连接数量监控

该命令用来配置基于域的某一方向上发起的TCP连接和UDP连接总数的上限阈值和下限阈值。通过对域的连接数量的限制,用户可以限制当前域向外发起的连接数量,同时也可以限制外部向当前域发起连接的数量。当连接数超过设定的阈值上限或恢复到阈值下限时,系统将根据firewall statistic warning-level命令的设置采取相应操作。配置了域统计功能使能后,连接数监控功能缺省值自动生效。

请在域视图下进行配置。

表7-35 使能/关闭域连接数量监控

操作

命令

使能域连接数量监控

statistic connect-number zone { inzone | outzone } { tcp | udp } { high high-limit low low-limit }

关闭域连接数量监控

undo statistic connect-number zone { inzone | outzone } { tcp | udp }

 

基于域的连接数限制功能缺省关闭。基于域的TCP和UDP连接的上限阈值的缺省值为500000,下限阈值的缺省值为450000。

  注意:

域上的连接数量检测功能必须先配置使能对应域的统计功能,否则此命令没有效果。

 

7.5.3  使能/关闭域连接速率监控

该命令用来配置域发起的TCP连接和UDP连接速率(每秒)的上限阈值和下限阈值。通过对域的连接速率的限制,用户可以限制当前域向外发起的连接速率,同时也可以限制外部向当前域发起连接的速率。当连接速率超过设定的阈值上限或恢复到阈值下限时,系统将根据firewall statistic warning-level命令的设置采取相应操作。配置了域统计功能使能后,连接速率监控功能缺省值自动生效。

请在域视图下进行配置。

表7-36 使能/关闭域连接速率监控

操作

命令

使能域连接速率监控

statistic connect-speed zone { inzone | outzone } { tcp | udp } { high high-limit low low-limit }

关闭域连接速率监控

undo statistic connect-speed zone { inzone | outzone } { tcp | udp }

 

基于域的连接速率限制功能缺省关闭。基于域的TCP和UDP连接速率的上限阈值的缺省值为10000,下限阈值的缺省值为9000。

  注意:

域上的连接速率检测功能必须先配置使能对应域的统计功能,否则此命令没有效果。

 

7.6  IP统计功能的配置

统计功能配置包括:

l              使能IP统计功能

l              使能IP连接数量监控

l              使能IP连接速率监控

7.6.1  使能/关闭IP统计功能

使能(关闭)路由器基于IP的统计功能。执行使能命令后,将对当前域的出或入方向数据包根据IP地址进行统计。对于当前域的出方向数据包,统计其源地址。对于当前域的入方向数据包,统计其目的地址。

域的入方向指数据包的目的地址为本域,而源地址不为本域。域的出方向指数据包的源地址为本域,而目的地址不为本域。

请在域视图下进行下列配置。

表7-37 使能/关闭IP统计功能

操作

命令

使能IP统计功能

statistic enable ip { inzone | outzone }

禁止IP统计功能

undo statistic enable ip { inzone | outzone }

 

缺省情况下,路由器的IP统计功能关闭。

  注意:

IP统计功能关闭后,基于IP的流量监控功能也失效。

 

7.6.2  使能/关闭IP连接数量监控

基于本域IP地址的某一方向(本域出/入方向),可以配置发起的TCP/UDP连接总数的上限阈值和下限阈值。

该命令用来在本域配置IP地址的某一方向(本域出入方向)上,限制发起的TCP连接和UDP连接总数的上限阈值和下限阈值。通过对基于IP的连接数量的限制,用户可以限制当前域的IP向外发起的连接数量,同时也可以限制外部向当前域的IP发起连接的数量。当连接数量超过设定的阈值上限或恢复到阈值下限时,系统将根据firewall statistic warning-level命令的设置采取相应操作。配置了域统计功能使能后,连接数量监控功能缺省值自动生效。

请在域视图下进行配置。

表7-38 使能/关闭IP连接数量监控

操作

命令

使能基于安全区域出方向的IP连接数量监控

statistic connect-number ip outzone { tcp | udp } high high-limit low low-limit

statistic connect-number id id ip outzone { tcp | udp } high high-limit low low-limit acl-number acl-number

关闭基于安全区域出方向的IP连接数量监控

undo statistic connect-number [ id id ] ip outzone { tcp | udp }

使能基于安全区域入方向的IP连接数量监控

statistic connect-number ip inzone { tcp | udp } high high-limit low low-limit

关闭基于安全区域入方向的IP连接数量监控

undo statistic connect-number ip inzone { tcp | udp }

 

基于IP的连接数量监控功能缺省关闭。基于IP的TCP和UDP连接的上限阈值的缺省值为10240,下限阈值的缺省值为9000。

  注意:

IP上的连接数量监控功能必须先配置使能对应IP的统计功能,否则此命令没有效果。

 

7.6.3  使能/关闭IP连接速率监控

该命令用来在本域配置IP地址的某一方向(本域出/入方向)上,限制发起的TCP连接和UDP连接速率的上限阈值和下限阈值。通过对基于IP的连接速率的限制,用户可以限制当前域的IP向外发起的连接速率,同时也可以限制外部向当前域的IP发起连接的速率。当连接速率超过设定的阈值上限或恢复到阈值下限时,系统将根据firewall statistic warning-level命令的设置采取相应操作。配置了域统计功能使能后,连接数速率监控功能缺省值自动生效。

请在域视图下进行配置。

表7-39 使能/关闭IP的连接速率监控功能

操作

命令

使能基于安全区域出方向的IP连接速率监控

statistic connect-speed ip outzone { tcp | udp } high high-limit low low-limit

statistic connect-speed id id ip outzone { tcp | udp } high high-limit low low-limit acl-number acl-number

关闭基于安全区域出方向的IP连接速率监控

undo statistic connect-speed [ id id ] ip outzone { tcp | udp }

使能基于安全区域入方向的IP连接速率监控

statistic connect-speed ip inzone { tcp | udp } high high-limit low low-limit

关闭基于安全区域入方向的IP连接速率监控

undo statistic connect-speed ip inzone { tcp | udp }

 

基于IP的连接速率监控功能缺省关闭。基于IP的TCP和UDP连接速率的上限阈值的缺省值为10000,下限阈值的缺省值为9000。

7.7  攻击防范与报文统计显示与调试

7.7.1  攻击防范显示与调试

在完成上述配置后,在所有视图下执行display命令可以显示攻击防范的配置情况,通过查看显示信息验证配置的效果。在用户视图下执行debugging命令可对攻击防范进行调试。

表7-40 攻击防范显示与调试

操作

命令

显示当前攻击防范的配置情况

display firewall defend { flag | arpquerynumber | arpspoofnumber | arptable }

显示TCP代理的会话信息

display firewall tcp-proxy session [ zone zone-name | ip ip-address ]

打开所有攻击防范调试开关

debugging firewall defend all

打开ARP Flood攻击防范调试开关

debugging firewall defend arp-flood

打开ARP反向查询攻击防范调试开关

debugging firewall defend arp-reverse-query

打开ARP欺骗攻击防范调试开关

debugging firewall defend arp-spoofing

打开IP欺骗攻击防范调试开关

debugging firewall defend ip-spoofing

打开Land攻击防范调试开关

debugging firewall defend land

打开Smurf攻击防范调试开关

debugging firewall defend smurf

打开Fraggle攻击防范调试开关

debugging firewall defend fraggle

打开Frag Flood攻击防范调试开关

debugging firewall defend frag-flood

打开WinNuke攻击防范调试开关

debugging firewall defend winnuke

打开SYN Flood攻击防范调试开关

debugging firewall defend syn-flood

打开ICMP Flood攻击防范调试开关

debugging firewall defend icmp-flood

打开UDP Flood攻击防范调试开关

debugging firewall defend udp-flood

打开ICMP重定向报文攻击防范调试开关

debugging firewall defend icmp-redirect

打开ICMP不可达报文攻击防范调试开关

debugging firewall defend icmp-unreachable

打开地址扫描攻击防范调试开关

debugging firewall defend ip-sweep

打开端口扫描攻击防范调试开关

debugging firewall defend port-scan

打开路由记录选项攻击防范调试开关

debugging firewall defend route-record

打开带源路由选项报文攻击防范调试开关

debugging firewall defend source-route

打开tracert攻击防范调试开关

debugging firewall defend tracert

打开Ping of Death攻击防范调试开关

debugging firewall defend ping-of-death

打开TearDrop攻击防范调试开关

debugging firewall defend teardrop

打开TCP标志合法性检测调试开关

debugging firewall defend tcp-flag

打开IP分片报文检测调试开关

debugging firewall defend ip-fragment

打开超大ICMP报文攻击防范调试开关

debugging firewall defend large-icmp

 

7.7.2  报文统计显示与调试

可在所有视图下使用display命令,请在用户视图下使用reset命令。

表7-41 统计信息显示命令

操作

命令

显示路由器统计信息

display firewall statistic { system | zone zone-name { inzone | outzone } | ip { ip-address { source-ip | destination-ip | both } | which } }

显示路由器系统的统计信息

display firewall statistic system [ defend | flow-percent [ default ] ]

清除路由器统计信息

reset firewall statistic system [ defend | current ]

清除路由器域统计信息

reset firewall statistic zone zone-name { inzone | outzone }

清除路由器IP统计信息

reset firewall statistic ip ip-address { source-ip | destination-ip }

 

7.8  攻击防范与报文统计典型配置举例

7.8.1  使能Land攻击防范功能

1. 组网需求

将路由器的以太网口GigabitEthernet 1/0配置为Trust域,以太网口GigabitEthernet 3/0配置为Untrust域,以太网口GigabitEthernet 2/0配置为DMZ区。

2. 组网图

图7-2 路由器攻击防范功能配置组网图

3. 配置步骤

配置路由器:

# 配置路由器接口GigabitEthernet 1/0。

[H3C] interface gigabitethernet 1/0

[H3C-GigabitEthernet1/0] ip address 192.168.1.1 255.255.255.0

# 配置路由器接口GigabitEthernet 3/0。

[H3C] interface gigabitethernet 3/0

[H3C-GigabitEthernet3/0] ip address 202.1.0.1 255.255.0.0

# 配置路由器接口GigabitEthernet 2/0。

[H3C] interface gigabitethernet 2/0

[H3C-GigabitEthernet2/0] ip address 10.0.0.1 255.0.0.0

# 配置接口GigabitEthernet 1/0加入路由器Trust域。

[H3C] firewall zone trust

[H3C-zone-trust] add interface gigabitethernet 1/0

# 配置接口GigabitEthernet 3/0加入路由器Untrust域。

[H3C] firewall zone untrust

[H3C-zone-untrust] add interface gigabitethernet 3/0

# 配置接口GigabitEthernet 2/0加入路由器DMZ域。

[H3C] firewall zone DMZ

[H3C-zone-DMZ] add interface gigabitethernet 2/0

#使能防火墙防范攻击功能。

[H3C] firewall defend enable

# 使能Land攻击防范功能。

[H3C-zone-DMZ] quit

[H3C] firewall defend land

7.8.2  使能SYN Flood攻击防范功能

1. 组网需求

将路由器的以太网口E0/0/0配置为Trust域,以太网口E2/0/0配置为Untrust域,以太网口E1/0/0配置为DMZ区。需要对DMZ域内的服务器进行SYN Flood攻击防范。

2. 组网图

参见图7-2

3. 配置步骤

# 配置路由器接口GigabitEthernet 1/0。

[H3C] interface gigabitethernet 1/0

[H3C-GigabitEthernet1/0] ip address 192.168.1.1 255.255.255.0

# 配置路由器接口GigabitEthernet 3/0。

[H3C] interface gigabitethernet 3/0

[H3C-GigabitEthernet3/0] ip address 202.1.0.1 255.255.0.0

# 配置路由器接口GigabitEthernet 2/0。

[H3C] interface gigabitethernet 2/0

[H3C-GigabitEthernet2/0] ip address 10.0.0.1 255.0.0.0

# 配置接口GigabitEthernet 1/0加入路由器Trust域。

[H3C] firewall zone trust

[H3C-zone-trust] add interface gigabitethernet 1/0

# 配置接口GigabitEthernet 3/0加入路由器Untrust域。

[H3C] firewall zone untrust

[H3C-zone-untrust] add interface gigabitethernet 3/0

# 配置接口GigabitEthernet 2/0加入路由器DMZ域。

[H3C] firewall zone DMZ

[H3C-zone-DMZ] add interface gigabitethernet 2/0

# 使能DMZ域入方向的IP统计功能。

[H3C] firewall zone DMZ

[H3C-zone-DMZ] statistic enable ip inzone

#使能防火墙防范攻击功能。

[H3C] firewall defend enable

# 打开SYN Flood攻击防范功能全局开关。

[H3C-zone-trust] quit

[H3C] firewall defend syn-flood enable

# 配置对服务器10.110.1.1进行SYN Flood攻击防范,配置SYN包的最大连接速率为500包/秒,手工启动TCP代理。

[H3C] firewall defend syn-flood ip 10.110.1.1 max-rate 500 tcp-proxy

7.8.3  使能地址扫描攻击防范功能

1. 组网需求

将路由器的以太网口GigabitEthernet1/0配置为Trust域,以太网口GigabitEthernet3/0配置为Untrust域,以太网口GigabitEthernet2/0配置为DMZ区。需要对Untrust域进行地址扫描攻击检测。

2. 组网图

参见图7-2

3. 配置步骤

# 配置路由器接口GigabitEthernet 1/0。

[H3C] interface gigabitethernet 1/0

[H3C-GigabitEthernet1/0] ip address 192.168.1.1 255.255.255.0

# 配置路由器接口GigabitEthernet 3/0。

[H3C] interface gigabitethernet 3/0

[H3C-Ethernet2/0/0] ip address 202.1.0.1 255.255.0.0

# 配置路由器接口GigabitEthernet 2/0。

[H3C] interface gigabitethernet 2/0

[H3C-GigabitEthernet2/0] ip address 10.0.0.1 255.0.0.0

# 配置接口GigabitEthernet 1/0加入路由器Trust域。

[H3C] firewall zone trust

[H3C-zone-trust] add interface gigabitethernet 1/0

# 配置接口GigabitEthernet 3/0加入路由器Untrust域。

[H3C] firewall zone untrust

[H3C-zone-untrust] add interface gigabitethernet 3/0

# 配置接口GigabitEthernet 2/0加入路由器DMZ域。

[H3C] firewall zone DMZ

[H3C-zone-DMZ] add interface gigabitethernet 2/0

# 使能Untrust域出方向的IP统计功能。

[H3C] firewall zone untrust

[H3C-zone-untrust] statistic enable ip outzone

[H3C-zone-untrust] quit

# 配置地址扫描攻击检测,配置最大扫描速率为1000包/秒。

[H3C] firewall defend ip-sweep max-rate 1000

7.8.4  监控基于域的连接数量

1. 组网需求

将路由器的以太网口GigabitEthernet 1/0配置为Trust域,以太网口GigabitEthernet 3/0配置为Untrust域,以太网口GigabitEthernet 2/0配置为DMZ区。需要对Trust域向外发起的连接数目和其他域向Trust域发起的连接数目分别进行限制。

2. 组网图

图7-3 路由器统计功能配置组网图

3. 配置步骤

# 配置路由器接口GigabitEthernet 1/0。

[H3C] interface gigabitethernet 1/0

[H3C-GigabitEthernet1/0] ip address 192.168.1.1 255.255.255.0

# 配置路由器接口GigabitEthernet 3/0。

[H3C] interface gigabitethernet 3/0

[H3C-GigabitEthernet3/0] ip address 202.1.0.1 255.255.0.0

# 配置路由器接口GigabitEthernet 2/0。

[H3C] interface gigabitethernet 2/0

[H3C-GigabitEthernet2/0] ip address 10.0.0.1 255.0.0.0

# 配置接口GigabitEthernet 1/0加入路由器Trust域。

[H3C] firewall zone trust

[H3C-zone-trust] add interface gigabitethernet 1/0

# 配置接口GigabitEthernet 3/0加入路由器Untrust域。

[H3C] firewall zone untrust

[H3C-zone-untrust] add interface gigabitethernet 3/0

# 配置接口GigabitEthernet 2/0加入路由器DMZ域。

[H3C] firewall zone dmz

[H3C-zone-dmz] add interface gigabitethernet 2/0

# 使能Trust域的出方向报文统计。

[H3C] firewall zone trust

[H3C-zone-trust] statistic enable zone outzone

# 使能Trust域的入方向报文统计。

[H3C-zone-trust] statistic enable zone inzone

# 配置Trust域的入方向TCP连接数量限制上限为120000。

[H3C-zone-trust] statistic enable zone inzone tcp high 120000 low 10000

# 配置Trust域的出方向TCP连接数量限制上限为200000。

[H3C-zone-trust] statistic enable zone outzone tcp high 200000 low 10000

7.8.5  显示指定IP的统计信息

1. 组网需求

将路由器的以太网口GigabitEthernet 1/0配置为Trust域,以太网口GigabitEthernet 3/0配置为Untrust域,以太网口GigabitEthernet 2/0配置为DMZ区。

2. 组网图

参见图7-3

3. 配置步骤

# 配置路由器接口GigabitEthernet 1/0。

[H3C] interface gigabitethernet 1/0

[H3C-GigabitEthernet1/0] ip address 192.168.1.1 255.255.255.0

# 配置路由器接口GigabitEthernet 3/0。

[H3C] interface gigabitethernet 3/0

[H3C-GigabitEthernet3/0] ip address 202.1.0.1 255.255.0.0

# 配置路由器接口GigabitEthernet 2/0。

[H3C] interface gigabitethernet 2/0

[H3C-GigabitEthernet2/0] ip address 10.0.0.1 255.0.0.0

# 配置接口GigabitEthernet 1/0加入路由器Trust域。

[H3C] firewall zone trust

[H3C-zone-trust] add interface gigabitethernet 1/0

# 配置接口GigabitEthernet 3/0加入路由器Untrust域。

[H3C] firewall zone untrust

[H3C-zone-untrust] add interface gigabitethernet 3/0

# 配置接口GigabitEthernet 2/0加入路由器DMZ域。

[H3C] firewall zone dmz

[H3C-zone-dmz] add interface gigabitethernet 2/0

# 进入域视图。

[H3C] firewall zone trust

# 使能域的IP数据包出方向报文统计功能,统计源地址。

[H3C-zone-trust] statistic enable ip outzone

# 使能域的IP数据包入方向报文统计功能,统计目的地址。

[H3C-zone-trust] statistic enable ip inzone

# 显示Trust域的地址192.168.1.3向外部发起连接的统计数据。

<H3C> display firewall statistic ip 192.168.1.3 source-ip

# 显示外部向Trust域的地址192.168.1.3发起连接的统计数据。

<H3C> display firewall statistic ip 192.168.1.3 destination-ip

7.9  攻击防范故障诊断与排除

1. 故障之一:SYN Flood攻击防范功能未起作用。

故障排除:可以按如下步骤进行。

(1)        检查是否打开防火墙攻击防范的使能。

(2)        检查是否打开针对目的域(或目的IP)的SYN Flood攻击防范功能。

(3)        检查SYN Flood攻击防范功能全局开关是否打开。

(4)        检查目的域(或目的IP所在的域)入方向的IP统计功能是否使能。

2. 故障之二:地址扫描攻击防范功能未起作用。

故障排除:可以按如下步骤进行。

(1)        检查是否打开防火墙攻击防范使能。

(2)        检查是否打开地址扫描攻击检测功能。

(3)        检查扫描源所在域出方向的IP统计功能是否使能。

 


第8章  日志维护

8.1  日志简介

1. 日志种类划分

日志特性能够将系统消息或包过滤的动作等信息存入缓冲区或定向发送到日志主机上。对日志内容的分析和归档,能够使管理员检查路由器的安全漏洞、网络攻击的类型、何时何人试图违背安全策略,实时的日志记录还可以用来检测正在进行的入侵。

MSR 50-06路由器统一考虑各种攻击、事件,将它们的各种日志输出格式、统计信息等内容进行规范,从而保证了日志风格的统一和日志功能的严谨性。

MSR 50-06路由器包括以下几种日志信息:

l              NAT/ASPF日志

l              攻击防范日志

l              流量监控日志

l              地址绑定日志

2. MSR 50-06上的日志输出原理

对于上述这些日志,根据日志输出方式的不同可以分为二进制流日志、Syslog日志两种。日志种类和日志输出方式之间的对应关系如下图所示:

图8-1 MSR 50-06路由器上的日志输出原理

在MSR 50-06路由器中,攻击防范、流量监控和地址绑定产生的日志信息量小,因此采用Syslog方式以文本格式进行输出。这些日志信息必须通过Comware平台的信息中心进行日志管理和输出重定向,或者显示在终端屏幕上,或将SysLog日志发送给日志主机进行存储和分析。

8.2  Syslog日志配置

Syslog日志的配置包括:

l              配置Syslog日志输出格式

l              配置Syslog日志缓冲区的扫描时间

l              配置信息中心的日志重定向

8.2.1  配置Syslog日志输出格式

该命令用来配置日志的输出模式为文本格式。

请在系统视图下进行下列配置。

表8-1 配置日志的输出模式为文本格式

操作

命令

配置流日志输出模式为文本格式

firewall session log-type syslog

配置流日志的输出方式为缺省方式

undo firewall session log-type

 

缺省情况下,日志的输出模式为syslog模式。

8.2.2  配置Syslog日志缓冲区的扫描时间

请在系统视图下进行下列配置。

表8-2 配置Syslog日志缓冲区的扫描时间

操作

命令

配置攻击防范的日志缓冲区的扫描频率

firewall defend log-time time

配置会话表项的日志缓冲区的扫描频率

firewall session log-time time

配置流量监控的日志缓冲区的扫描频率

firewall statistic log-time time

恢复攻击防范的日志缓冲区的扫描频率为缺省值

undo firewall defend log-time

恢复会话表项的日志缓冲区的扫描频率为缺省值

undo firewall session log-time

恢复流量监控的日志缓冲区的扫描频率为缺省值

undo firewall statistic log-time

 

缺省情况下,日志缓冲区的扫描时间为30秒。

8.2.3  配置信息中心的日志重定向

通常情况下,输出到信息中心的日志信息会通过以下几种方式进行重定向:

l              通过Console口向本地控制台输出信息。

l              向远程Telnet终端输出信息,此功能有助于远程维护。

l              在MSR 50-06路由器内部分配适当大小的日志缓冲区,用于记录信息。

l              配置日志主机(Log Server),信息中心直接将信息发往日志主机,并在其上以文件的形式保存起来,供随时查看。

l              在MSR 50-06路由器内部分配适当大小的告警缓冲区,用于记录信息。

l              向SNMP Agent输出信息。

请在系统视图下进行下列配置。

表8-3 配置信息中心的日志重定向

操作

命令

向Console方向输出信息

info-center console channel { channel-number | channel-name }

向Telnet终端或哑终端输出信息

info-center monitor channel { channel-number | channel-name }

向SNMP输出信息

info-center snmp channel { channel-number | channel-name }

设置日志缓冲区的大小,设置向日志缓冲区输出信息的通道

info-center logbuffer [ channel { channel-number | channel-name } | size buffersize ] *

设置向日志主机输出信息的信息通道以及其它参数

info-center loghost X.X.X.X [ channel { channel-number | channel-name } | facility local-number | language { chinese | english } ] *

设置告警缓冲区的大小,设置向告警缓冲区输出信息的通道

info-center trapbuffer [ channel { channel-number | channel-name } | size buffersize ] *

 

详细配置请参见本手册的“基础配置”部分。

8.3  日志的清除

在用户视图下,执行reset命令可清除路由器的日志缓冲区。

表8-4 日志显示和调试

操作

命令

清除路由器的日志缓冲区

reset firewall log-buf { defend | session | statistic }

 

8.4  日志典型配置举例

8.4.1  输出攻击防范日志到日志主机

1. 组网需求

将路由器的以太网口GigabitEthernet 1/0配置为Trust域,以太网口GigabitEthernet 2/0配置为Untrust域,以太网口GigabitEthernet 3/0配置为DMZ区。

2. 组网图

图8-2 路由器日志功能配置组网图

3. 配置步骤

# 配置路由器接口GigabitEthernet 1/0。

[H3C] interface gigabitethernet 1/0

[H3C-GigabitEthernet1/0] ip address 192.168.1.1 255.255.255.0

# 配置路由器接口GigabitEthernet 2/0。

[H3C] interface gigabitethernet 2/0

[H3C-GigabitEthernet2/0] ip address 202.1.0.1 255.255.0.0

# 配置路由器接口GigabitEthernet 3/0。

[H3C] interface gigabitethernet 3/0

[H3C-GigabitEthernet3/0] ip address 10.0.0.1 255.0.0.0 

# 配置接口GigabitEthernet 1/0加入路由器Trust域。

[H3C] firewall zone trust

[H3C-zone-trust] add interface gigabitethernet 1/0

# 配置接口GigabitEthernet 2/0加入路由器Untrust域。

[H3C] firewall zone untrust

[H3C-zone-untrust] add interface gigabitethernet 2/0

# 配置接口GigabitEthernet 3/0加入路由器DMZ域。

[H3C] firewall zone dmz

[H3C-zone-dmz] add interface gigabitethernet 3/0

# 开启信息中心,配置Trust区域内的日志主机IP地址为192.168.1.10。

[H3C] info-center enable

[H3C] info-center loghost 192.168.1.10 language english

 

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

新华三官网
联系我们