20-SMA配置
本章节下载: 20-SMA配置 (360.57 KB)
目 录
SMA(State Machine based Anti-spoofing,基于状态机的伪造源地址检查)是一种IPv6自治系统间端到端的源地址验证方案,用来防止伪造源IPv6地址的攻击。
SMA体系结构主要由ACS(AS Control Server,AS控制服务器)和AER(AS Edge Router,AS边界路由器)构成,如图1-1所示。
图1-1 SMA体系结构
· 子信任联盟:彼此信任的一组AD(Addrees Domain,地址域)组成的集合,通过子信任联盟号来标识,比如上图中的sub-alliance 1。
· 信任联盟:SMA体系中所有AD的集合。
· AD(Addrees Domain,地址域):同一个机构下所管理的所有IP地址部署的范围,是子信任联盟管理的对象,通过地址域编号来标识,比如,上图中的AD 1101、AD 1200和AD 1201。同一个子联盟内的不同的地址域可以分成不同的地址域层级,最多可以划分为4层。比如,上图中的Level 0、Level 1和Level 2。其中,Level 0为最高地址级别,Level 2为最低地址级别。例如,首先以县市为单位划分多个一级地址域,再以机构为单位划分多个二级地址域(比如学校、企事业单位),以楼宇或部门为单位划分三级地址域。
¡ 边界地址域:当前层级的地址域中与其他层级相连的地址域。比如,上图中的AD 1201。
¡ 非边界地址域:除了边界地址域的其他地址域。
当一个地址域划分了更低级别的地址域后,原地址域中所有的设备都必须从属于更低级别的地址域中。如上图所示,Level 0的地址域中划分了低一级别的地址域Level 1,那么属于Level 0的所有设备都必须从属于划分后的Level 2地址域。
· ACS(AS Control Server,AS控制服务器):每个层级的地址域都需要有相应的ACS,用于和其它地址域内的ACS交互信息,并向本地址域内的AER宣告与更新注册信息、前缀信息以及状态机信息。具体来讲,ACS具有如下功能:
¡ 与属于相同信任联盟中各子信任联盟的其他ACS建立连接,交互各地址域内的IPv6地址前缀、状态机等信息。
¡ 向本地址域AER宣告和更新联盟映射关系、地址前缀信息以及标签信息。
· AER(AS Edge Router,AS边界路由器):负责接收ACS通告的IPv6地址前缀、标签等信息,并在地址域之间转发报文。一个AER可以是多个不同层级ACS的边界路由器。AER上的接口分为两类:
¡ Ingress接口:连接到本地址域内部未使能SMA特性的路由器的接口。
¡ Egress接口:连接其他地址域的AER的Egress接口。
· 目前,设备只能作为AER。
· 为了提高安全性,ACS与ACS之间、ACS与AER之间的通信均可配置为基于SSL(Secure Sockets Layer,安全套接字层)的连接。
SMA通过在AER上检查报文的源IPv6地址和报文标签实现对伪造源IPv6地址攻击的防御。
AER接收到报文后,处理过程如图1-2所示。
(1) 检查接收报文的接口类型是否为Ingress。
¡ 若接口类型是Ingress,则进入步骤(2)。
¡ 若接口类型是Egress,则进入步骤(3)。
¡ 若属于当前地址域,则继续按照IPv6路由表转发该报文。
¡ 若不属于当前地址域,则丢弃报文。
(3) 检查报文目的IPv6地址是否属于本子联盟:
¡ 若不属于本子联盟,则继续按照IPv6路由表转发该报文。
¡ 若属于本子联盟,则进入步骤(4)。
(4) 检查报文的目的IPv6地址是否属于本地址域以及本域内更低级别地址域:
¡ 若不属于,则继续按照IPv6路由表转发该报文。
¡ 若属于,则进入步骤(5)。
¡ 校验成功,进入步骤(6)。
¡ 校验失败,丢弃该报文。
¡ 若不需要,删除报文标签后,继续按照IPv6路由表转发该报文。
¡ 若需要,则将报文标签替换为低级别地址域标签,继续按照IPv6路由表转发该报文。
低级别地址域内的AER收到报文后,继续按照如上步骤进行处理。
图1-2 AER接收报文时的处理过程
当AER收到源自本地址域的报文并发往其他地址域时,处理过程如图1-3所示。
(1) 判断报文源地址前缀是否属于当前地址域:
¡ 若属于,对报文添加标签后,继续按照IPv6路由表转发该报文。
¡ 若不属于,则进入步骤(2)。
¡ 若是,则需要校验标签,进入步骤(3)。
¡ 若不是,则继续按照IPv6路由表转发该报文。
¡ 校验成功,替换为高级别地址域标签后,继续按照IPv6路由表转发该报文。
¡ 校验失败,丢弃该报文。
图1-3 AER发送报文时的处理过程
SMA运行过程中,需要保证联盟内各设备(ACS和AER)的时间同步。因此在配置SMA功能之前,请确保各设备的系统时间一致。AER设备的系统时间可以使用命令clock datetime配置,关于该命令的详细介绍,请参见“基础配置指导”中的“设备管理”。
本功能仅在下表所列单板上配置生效。
表1-1 单板信息一览表
单板类型 |
单板丝印 |
CEPC单板 |
CEPC-XP4LX、CEPC-XP24LX、CEPC-XP48RX、CEPC-CP4RX、CEPC-CP4RX-L、CEPC-CQ8L、CEPC-CQ16L1 |
CSPEX单板 |
CSPEX-1304X、CSPEX-1304S、CSPEX-1404X、CSPEX-1404S、CSPEX-1502X、CSPEX-1504X、CSPEX-1504S、CSPEX-1602X、CSPEX-1804X、CSPEX-1512X、CSPEX-1612X、CSPEX-1812X、CSPEX-1802XB、CSPEX-1802X、CSPEX-1812X-E、CSPEX-2304X-G、CSPEX-2612X-E |
SPE单板 |
RX-SPE200、RX-SPE200-E |
SMA配置任务如下:
(1) 配置SMA基本功能
(2) 开启AER设备报文过滤功能
(1) 进入系统视图。
system-view
(2) 开启SMA功能。
sma-anti-spoof ipv6 enable
缺省情况下,SMA功能处于关闭状态。
(3) 配置AER与指定级别的地址域中的ACS之间建立连接。
sma-anti-spoof ipv6 server ipv6-address client client-ipv6-address [ ssl-client-policy policy-name ] address-domain-level level-value
缺省情况下,AER与指定级别的地址域中的ACS之间未建立连接。
如果未指定SSL客户端策略,则AER与ACS之间建立的是TCP连接。SSL客户端策略的配置方法,请参见“安全配置指导”中的“SSL”。
(4) 配置AER设备所属的地址域。
sma-anti-spoof ipv6 address-domain domain-id
缺省情况下,AER设备未加入地址域。
(5) 配置AER设备所属的子信任联盟号。
sma-anti-spoof ipv6 sub-alliance sub-alli-number
缺省情况下,AER设备未加入子信任联盟。
(6) 进入接口视图。
interface interface-type interface-number
(7) 配置SMA的接口类型。
sma-anti-spoof ipv6 port-type { egress level level-value | ingress }
缺省情况下,未配置SMA的接口类型。
在SMA组网中,ACS与ACS之间的通信是属于跨地址域的通信,因此,当目的地址域的AER出现问题时,可能会阻断ACS之间的通信、进而使得问题无法恢复。为解决这一问题,目的地址域内的AER对发往本地址域中的ACS的报文不检查标签的正确性,而只是去除SMA-Option后将报文直接转发给ACS。
不检查ACS报文标签的准确性会使SMA组网产生安全问题。开启本功能后,AER会对发往本地址域中的ACS的报文进行标签检验,并且丢弃校验失败的报文,这就可以解决网络安全问题。
(1) 进入系统视图。
system-view
(2) 开启AER设备报文过滤功能。
sma-anti-spoof ipv6 filter enable
缺省情况下,AER设备报文过滤功能处于关闭状态。
在完成上述配置后,在任意视图下执行display命令可以显示配置后AER的运行情况,通过查看显示信息验证配置的效果。
表1-2 SMA显示和维护
操作 |
命令 |
显示IPv6地址前缀信息 |
(独立运行模式) display sma-anti-spoof ipv6 address-prefix [ acs address-domain-level level-value ] [ slot slot-number [ cpu cpu-number ] ] (IRF模式) display sma-anti-spoof ipv6 address-prefix [ acs address-domain-level level-value ] [ chassis chassis-number slot slot-number [ cpu cpu-number ] ] |
显示所有地址域对的标签信息 |
(独立运行模式) display sma-anti-spoof ipv6 packet-tag [ acs address-domain-level level-value ] [ slot slot-number [ cpu cpu-number ] ] (IRF模式) display sma-anti-spoof ipv6 packet-tag [ acs address-domain-level level-value ] [ chassis chassis-number slot slot-number [ cpu cpu-number ] ] |
· AER b是二级地址域AD 1200的边界路由器,AER c是二级地址域AD 1201的边界路由器;AER d是一级地址域AD 1100和二级地址域AD 1201的边界路由器,AER e是一级地址域AD 1101的边界路由器。AD 1201是AD 1100的边界地址域,AD 1100、AD 1101和AD 1200是非边界地址域。AD 1100、AD 1101和AD 1200和AD 1201同属于子联盟1。
· ACS和AER之间使用SSL建立连接,在AER上可以收到由ACS发送的IPv6地址前缀及标签信息。AER将根据该地址前缀及标签信息检查报文,防止伪造源IPv6地址的攻击。
图1-4 SMA使用SSL连接基本组网图
设备 |
接口 |
IP地址 |
设备 |
接口 |
IP地址 |
AER e |
XGE3/1/1 |
1101::2/4 |
AER c |
XGE3/1/1 |
1100:1201::3/4 |
AER d |
XGE3/1/1 |
1100::2/4 |
AER b |
XGE3/1/3 |
1100:1200::2/4 |
|
XGE3/1/2 |
1100:1201::2/4 |
|
|
|
配置SMA之前,请保证联盟内各设备系统时间同步。
(1) 配置ACS
# ACS配置参见相关资料,具体配置过程略。
(2) 配置AER b
# 按照组网图配置AER b的接口地址,配置过程略。
# 在AER b上配置名称为sma的SSL客户端策略。
<AERb> system-view
[AERb] ssl client-policy sma
# 缺省情况下,SSL客户端需要对SSL服务器端进行基于数字证书的身份验证,确认服务器身份是否合法。如果不需要对服务器端进行验证,可以选择关闭该功能。
[AERb-ssl-client-policy-sma] undo server-verify enable
[AERb-ssl-client-policy-sma] quit
# 在AER b上开启SMA功能并与ACS 5建立SSL连接。
[AERb] sma-anti-spoof ipv6 enable
[AERb] sma-anti-spoof ipv6 server 1100:1200::1 client 1100:1200::2 ssl-client-policy sma address-domain-level 2
# 配置AER b所属的地址域为 1200。
[AERb] sma-anti-spoof ipv6 address-domain 1200
# 配置AER b所属的子联盟号为1。
[AERb] sma-anti-spoof ipv6 sub-alliance 1
# 指定AER b的SMA接口类型。
[AERb] interface ten-gigabitethernet 3/1/2
[AERb-Ten-GigabitEthernet3/1/2] sma-anti-spoof ipv6 port-type ingress
[AERb-Ten-GigabitEthernet3/1/2] quit
[AERb] interface ten-gigabitethernet 3/1/3
[AERb-Ten-GigabitEthernet3/1/3] sma-anti-spoof ipv6 port-type egress level 2
[AERb-Ten-GigabitEthernet3/1/3] quit
(3) 配置AER c
# 按照组网图配置AER c的接口地址,配置过程略。
# 在AER c上配置名称为sma的SSL客户端策略。
<AERc> system-view
[AERc] ssl client-policy sma
# 缺省情况下,SSL客户端需要对SSL服务器端进行基于数字证书的身份验证,确认服务器身份是否合法。如果不需要对服务器端进行验证,可以选择关闭该功能。
[AERc-ssl-client-policy-sma] undo server-verify enable
[AERc-ssl-client-policy-sma] quit
# 在AER c上开启SMA功能并与ACS 6建立SSL连接。
[AERc] sma-anti-spoof ipv6 enable
[AERc] sma-anti-spoof ipv6 server 1100:1201::1 client 1100:1201::3 ssl-client-policy sma address-domain-level 2
# 配置AER c所属的地址域为1201。
[AERc] sma-anti-spoof ipv6 address-domain 1201
# 配置AER c所属的子联盟号为1。
[AERc] sma-anti-spoof ipv6 sub-alliance 1
# 指定AER c 的SMA接口类型。
[AERc] interface ten-gigabitethernet 3/1/2
[AERc-Ten-GigabitEthernet3/1/2] sma-anti-spoof ipv6 port-type egress level 2
[AERc-Ten-GigabitEthernet3/1/2] quit
(4) 配置AER d
# 按照组网图配置AER d的接口地址,配置过程略。
# 在AER d上配置名称为sma的SSL客户端策略。
<AERd> system-view
[AERd] ssl client-policy sma
# 缺省情况下,SSL客户端需要对SSL服务器端进行基于数字证书的身份验证,确认服务器身份是否合法。如果不需要对服务器端进行验证,可以选择关闭该功能。
[AERd-ssl-client-policy-sma] undo server-verify enable
[AERd-ssl-client-policy-sma] quit
# 在AER d上开启SMA功能并与ACS 6、ACS 2建立SSL连接。
[AERd] sma-anti-spoof ipv6 enable
[AERd] sma-anti-spoof ipv6 server 1100:1201::1 client 1100:1201::2 ssl-client-policy sma address-domain-level 2
[AERd] sma-anti-spoof ipv6 server 1100::1 client 1100::2 ssl-client-policy sma address-domain-level 1
# 配置AER d所属的地址域为 1201。
[AERd] sma-anti-spoof ipv6 address-domain 1201
# 配置AER d所属的子联盟号为1。
[AERd] sma-anti-spoof ipv6 sub-alliance 1
# 指定AER d的SMA接口类型。
[AERd] interface ten-gigabitethernet 3/1/3
[AERd-Ten-GigabitEthernet3/1/3] sma-anti-spoof ipv6 port-type egress level 1
[AERd-Ten-GigabitEthernet3/1/3] quit
(5) 配置AER e
# 按照组网图配置AER e的接口地址,配置过程略。
# 在AER e上配置名称为sma的SSL客户端策略。
<AERe> system-view
[AERe] ssl client-policy sma
# 缺省情况下,SSL客户端需要对SSL服务器端进行基于数字证书的身份验证,确认服务器身份是否合法。如果不需要对服务器端进行验证,可以选择关闭该功能。
[AERe-ssl-client-policy-sma] undo server-verify enable
[AERe-ssl-client-policy-sma] quit
# 在AER e上开启SMA功能并与ACS 4建立SSL连接。
[AERe] sma-anti-spoof ipv6 enable
[AERe] sma-anti-spoof ipv6 server 1101::1 client 1101::2 ssl-client-policy sma address-domain-level 2
# 配置AER e所属的地址域为 1101。
[AERe] sma-anti-spoof ipv6 address-domain 1101
# 配置AER e所属的子联盟号为1。
[AERe] sma-anti-spoof ipv6 sub-alliance 1
# 指定AER e的SMA接口类型。
[AERe] interface ten-gigabitethernet 3/1/2
[AERe-Ten-GigabitEthernet3/1/2] sma-anti-spoof ipv6 port-type egress level 1
[AERe-Ten-GigabitEthernet3/1/2] quit
# 配置完成后,在AER上可以看到从ACS接收到的地址前缀和标签信息。AER将根据获取到的地址前缀及标签信息检查IPv6报文,实现防止伪造源IPv6地址攻击的功能。
[AERe] display sma-anti-spoof ipv6 address-prefix
Alliance number: 1
ACS address-domain level: 1
Address-domain ID: 1100
IPv6 prefix: 1100::/16
Effective at: Oct 1 00:00:00 2020
Address-domain level: 1
Common level: 0
Address-domain cnt: 2
Address-domain list: 1 1100
IPv6 prefix: 11A0:1000::/32
Effective at: Oct 1 00:00:00 2020
Address-domain level: 1
Common level: 0
Address-domain cnt: 2
Address-domain list: 1 1100
[AERe] display sma-anti-spoof ipv6 packet-tag
Alliance number: 1
ACS address-domain level: 1
Source address-domain ID: 1100
Destination address-domain ID: 1101
Tag: 0xBB66D753D858E1ED
Transition interval: 10s
Source address-domain ID: 1101
Destination address-domain ID: 1100
Tag: 0x1D447D157A3EC032
Transition interval: 10s
Source address-domain ID: 1101
Destination address-domain ID: 2147483649
Tag: 0x58420DA937580F19
Transition interval: 10s
Source address-domain ID: 2147483649
Destination address-domain ID: 1101
Tag: 0x3DBB48D95D463C1B
Transition interval: 10s
· AER b是二级地址域AD 1200的边界路由器,AER c是二级地址域AD 1201的边界路由器;AER d是一级地址域AD 1100和二级地址域AD 1201的边界路由器,AER e是一级地址域AD 1101的边界路由器。AD 1201是AD 1100的边界地址域,AD 1100、AD 1101和AD 1200是非边界地址域。AD 1100、AD 1101和AD 1200和AD 1201同属于子联盟1。
· ACS和AER之间使用TCP建立连接,在AER上可以收到由ACS发送的IPv6地址前缀及标签信息。AER将根据该地址前缀及标签信息检查报文,防止伪造源IPv6地址的攻击。
图1-5 SMA使用TCP连接基本组网图
设备 |
接口 |
IP地址 |
设备 |
接口 |
IP地址 |
AER e |
XGE3/1/1 |
1101::2/4 |
AER c |
XGE3/1/1 |
1100:1201::3/4 |
AER d |
XGE3/1/1 |
1100::2/4 |
AER b |
XGE3/1/3 |
1100:1200::2/4 |
|
XGE3/1/2 |
1100:1201::2/4 |
|
|
|
配置SMA之前,请保证联盟内各设备系统时间同步。
(1) 配置ACS
# ACS配置参见相关资料,具体配置过程略。
(2) 配置AER b
# 按照组网图配置AER b的接口地址,配置过程略。
# 在AER b上开启SMA功能并与ACS 5建立TCP连接。
[AERb] sma-anti-spoof ipv6 enable
[AERb] sma-anti-spoof ipv6 server 1100:1200::1 client 1100:1200::2 address-domain-level 2
# 配置AER b所属的地址域为 1200。
[AERb] sma-anti-spoof ipv6 address-domain 1200
# 配置AER b所属的子联盟号为1。
[AERb] sma-anti-spoof ipv6 sub-alliance 1
# 指定AER b的SMA接口类型。
[AERb] interface ten-gigabitethernet 3/1/2
[AERb-Ten-GigabitEthernet3/1/2] sma-anti-spoof ipv6 port-type ingress
[AERb-Ten-GigabitEthernet3/1/2] quit
[AERb] interface ten-gigabitethernet 3/1/3
[AERb-Ten-GigabitEthernet3/1/3] sma-anti-spoof ipv6 port-type egress level 2
[AERb-Ten-GigabitEthernet3/1/3] quit
(3) 配置AER c
# 按照组网图配置AER c的接口地址,配置过程略。
# 在AER c上开启SMA功能并与ACS 6建立TCP连接。
[AERc] sma-anti-spoof ipv6 enable
[AERc] sma-anti-spoof ipv6 server 1100:1201::1 client 1100:1201::3 address-domain-level 2
# 配置AER c所属的地址域为1201。
[AERc] sma-anti-spoof ipv6 address-domain 1201
# 配置AER c所属的子联盟号为1。
[AERc] sma-anti-spoof ipv6 sub-alliance 1
# 指定AER c的SMA接口类型。
[AERc] interface ten-gigabitethernet 3/1/2
[AERc-Ten-GigabitEthernet3/1/2] sma-anti-spoof ipv6 port-type egress level 2
[AERc-Ten-GigabitEthernet3/1/2] quit
(4) 配置AER d
# 按照组网图配置AER d的接口地址,配置过程略。
# 在AER d上开启SMA功能并与ACS 6、ACS 2建立TCP连接。
[AERd] sma-anti-spoof ipv6 enable
[AERd] sma-anti-spoof ipv6 server 1100:1201::1 client 1100:1201::2 address-domain-level 2
[AERd] sma-anti-spoof ipv6 server 1100::1 client 1100::2 address-domain-level 1
# 配置AER d所属的地址域为 1201。
[AERd] sma-anti-spoof ipv6 address-domain 1201
# 配置AER d所属的子联盟号为1。
[AERd] sma-anti-spoof ipv6 sub-alliance 1
# 指定AER d的SMA接口类型。
[AERd] interface ten-gigabitethernet 3/1/3
[AERd-Ten-GigabitEthernet3/1/3] sma-anti-spoof ipv6 port-type egress level 1
[AERd-Ten-GigabitEthernet3/1/3] quit
(5) 配置AER e
# 按照组网图配置AER e的接口地址,配置过程略。
# 在AER e上开启SMA功能并与ACS 4建立TCP连接。
[AERe] sma-anti-spoof ipv6 enable
[AERe] sma-anti-spoof ipv6 server 1101::1 client 1101::2 address-domain-level 2
# 配置AER e所属的地址域编号为1101。
[AERe] sma-anti-spoof ipv6 address-domain 1101
# 配置AER e所属的子联盟号为1。
[AERe] sma-anti-spoof ipv6 sub-alliance 1
# 指定AER e的SMA接口类型。
[AERe] interface ten-gigabitethernet 3/1/2
[AERe-Ten-GigabitEthernet3/1/2] sma-anti-spoof ipv6 port-type egress level 1
[AERe-Ten-GigabitEthernet3/1/2] quit
# 配置完成后,在AER上可以看到从ACS接收到的地址前缀和标签信息。AER将根据获取到的地址前缀及标签信息检查IPv6报文,实现防止伪造源IPv6地址攻击的功能。
[AERe] display sma-anti-spoof ipv6 address-prefix
Alliance number: 1
ACS address-domain level: 1
Address-domain ID: 1100
IPv6 prefix: 1100::/16
Effective at: Oct 1 00:00:00 2020
Address-domain level: 1
Common level: 0
Address-domain cnt: 2
Address-domain list: 1 1100
IPv6 prefix: 11A0:1000::/32
Effective at: Oct 1 00:00:00 2020
Address-domain level: 1
Common level: 0
Address-domain cnt: 2
Address-domain list: 1 1100
[AERe] display sma-anti-spoof ipv6 packet-tag
Alliance number: 1
ACS address-domain level: 1
Source address-domain ID: 1100
Destination address-domain ID: 1101
Tag: 0xBB66D753D858E1ED
Transition interval: 10s
Source address-domain ID: 1101
Destination address-domain ID: 1100
Tag: 0x1D447D157A3EC032
Transition interval: 10s
Source address-domain ID: 1101
Destination address-domain ID: 2147483649
Tag: 0x58420DA937580F19
Transition interval: 10s
Source address-domain ID: 2147483649
Destination address-domain ID: 1101
Tag: 0x3DBB48D95D463C1B
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!