概述:在网络信息越来越发达的时代,网络上的信息泄漏等安全问题也越来越多,各种安全技术也随之产生。
现在,我对华为网络设备上常用的安全技术做个总结。
一、端口汇聚
端口汇聚是将多个端口汇聚在一起形成一个汇聚组,在汇聚组中的各个成员端口之
间,实现出/入负荷的分担,同时也提供了更高的连接可靠性。
按照汇聚组类型的不同,端口汇聚组可以分为负载分担汇聚组和非负载分担汇聚组。
同一个汇聚组中端口的基本配置必须保持一致,基本配置主要包括 STP、QoS、
VLAN、端口属性等相关配置。
STP 配置一致,包括:端口的 STP 使能/关闭、与端口相连的链路属性(如点
对点或非点对点)、STP 优先级、报文发送速率限制、是否环路保护、是否根
保护、是否为边缘端口。
QoS 配置一致,包括:流量限速、优先级标记、缺省的 802.1p 优先级、带宽
保证、拥塞避免、流重定向、流量统计等。
VLAN 配置一致,包括:端口上允许通过的 VLAN、端口缺省 VLAN ID。
端口属性配置一致,包括:端口的速率、双工模式、链路类型(即 Trunk、Hybrid、
Access 类型)。
在将以太网端口加入汇聚组时,需要注意的是:
镜像目的端口、配置了静态 MAC 地址的端口、配置了静态 ARP 的端口、以及
使能 802.1x 的端口不能加入汇聚组。
当手工汇聚组中只包含一个端口时,不能将该端口从汇聚组中删除,而只能通
过删除汇聚组的方式将该端口从汇聚组中删除。
如果用户在一个汇聚组中配置的端口数大于 4 个,那么端口号较小的前 4 个端
口将实现流量的负载分担,剩余端口将作为链路备份。
端口汇聚典型配置举例
1. 组网需求
以太网交换机 Switch A 使用 3 个端口(Ethernet1/0/1~Ethernet1/0/3)汇聚接入以
太网交换机 Switch B,实现出/入负荷在各成员端口中的负载分担。
2. 组网图
3. 配置步骤
说明:
以下只列出对 Switch A 的配置,对 Switch B 也需要作相应的配置,才能实现端口
汇聚。
# 创建手工汇聚组 1。
<Quidway> system-view
[Quidway] link-aggregation group 1 mode manual
# 将以太网端口 Ethernet1/0/1 至 Ethernet1/0/3 加入汇聚组 1。
[Quidway] interface ethernet1/0/1
[Quidway-Ethernet1/0/1] port link-aggregation group 1
[Quidway-Ethernet1/0/1] interface ethernet1/0/2
[Quidway-Ethernet1/0/2] port link-aggregation group 1
[Quidway-Ethernet1/0/2] interface ethernet1/0/3
[Quidway-Ethernet1/0/3] port link-aggregation group 1
二、端口隔离
通过端口隔离特性,用户可以将需要进行控制的端口加入到一个隔离组中,实现隔
离组中的端口之间二层、三层数据的隔离,既增强了网络的安全性,也为用户提供
了灵活的组网方案。
目前一台设备只支持建立一个隔离组,组内的以太网端口数量不限。
说明:端口隔离特性与以太网端口所属的 VLAN 无关。
端口隔离与端口聚合的关系
当聚合组中的某个端口加入到隔离组后,同一聚合组内的其它端口,均会自动加入
隔离组中。
端口隔离配置举例
1. 组网需求
小区用户 PC2、PC3、PC4 分别与交换机的以太网端口 Ethernet1/0/2、
Ethernet1/0/3、Ethernet1/0/4 相连
交换机通过 Ethernet1/0/1 端口与外部网络相连
小区用户 PC2、PC3 和 PC4 之间不能互通
2. 组网图
3. 配置步骤
# 将以太网端口 Ethernet1/0/2、Ethernet1/0/3、Ethernet1/0/4 加入隔离组。
<Quidway> system-view
System View: return to User View with Ctrl+Z.
[Quidway] interface ethernet1/0/2
[Quidway-Ethernet1/0/2] port isolate
[Quidway-Ethernet1/0/2] quit
[Quidway] interface ethernet1/0/3
[Quidway-Ethernet1/0/3] port isolate
[Quidway-Ethernet1/0/3] quit
[Quidway] interface ethernet1/0/4
[Quidway-Ethernet1/0/4] port isolate
[Quidway-Ethernet1/0/4] quit
[Quidway]
# 显示隔离组中的端口信息。
<Quidway> display isolate port
Isolated port(s) on UNIT 1:
Ethernet1/0/2, Ethernet1/0/3, Ethernet1/0/4
三、MAC地址表的管理与设定
为了快速转发报文,以太网交换机需要维护 MAC 地址转发表。MAC 地址转发表是
一张基于端口的二层转发表,是以太网交换机实现二层报文快速转发的基础。MAC
地址转发表的表项包括:
目的 MAC 地址
端口所属的 VLAN ID
转发端口号
以太网交换机通过查找 MAC 地址转发表得到二层报文的转发端口号,从而实现二
层报文的快速转发。通过mac地址表项的管理与设定,可以实现通过交换机进行的一些安全操作。
MAC 地址转发表中的动态表项(非手工配置)是由以太网交换机学习得来的。
静态 MAC 地址表项:也称为“永久地址”,由用户手工添加和删除,不会随
着时间老化。对于一个设备变动较小的网络,手工添加静态地址表项可以减少
网络中的广播流量。
MAC 地址转发表管理典型配置举例
1. 组网需求
用户通过 Console 口登录到交换机,配置地址表管理。要求设置交换机上动态 MAC
地址表项的老化时间为 500 秒, VLAN1 中的 Ethernet 1/0/2 端口添加一个静态地
在
址 00e0-fc35-dc71。
2. 组网图
3. 配置步骤
# 进入交换机系统视图。
<Quidway> system-view
[Quidway]
# 增加 MAC 地址(指出所属 VLAN、端口、状态)。
[Quidway] mac-address static 00e0-fc35-dc71 interface Ethernet 1/0/2 vlan 1
# 设置交换机上动态 MAC 地址表项的老化时间为 500 秒。
[Quidway] mac-address timer aging 500
# 在系统视图下查看 MAC 地址配置。
[Quidway] display mac-address interface Ethernet 1/0/2
MAC ADDR VLAN ID STATE PORT INDEX AGING TIME(s)
00-e0-fc-35-dc-71 1 Static Ethernet1/0/2 NOAGED
00-e0-fc-17-a7-d6 1 Learned Ethernet1/0/2 AGING
00-e0-fc-5e-b1-fb 1 Learned Ethernet1/0/2 AGING
00-e0-fc-55-f1-16 1 Learned Ethernet1/0/2 AGING
--- 4 mac address(es) found on port Ethernet1/0/2 ---
四、802.1x的配置(dot1x)
IEEE802 LAN/WAN 委员会为解决无线局域网网络安全问题,提出了 802.1x 协议。
后来,802.1x 协议作为局域网端口的一个普通接入控制机制用在以太网中,主要解
决以太网内认证和安全方面的问题。
802.1x 协议是一种基于端口的网络接入控制(Port Based Network Access Control)
协议。“基于端口的网络接入控制”是指在局域网接入控制设备的端口这一级对所
接入的设备进行认证和控制。连接在端口上的用户设备如果能通过认证,就可以访
问局域网中的资源;如果不能通过认证,则无法访问局域网中的资源——相当于连
接被物理断开。
802.1x 提供了一个用户身份认证的实现方案,为了实现此方案,除了配置 802.1x
相关命令外,还需要在交换机上配置 AAA 方案,选择使用 RADIUS 或本地认证方
案,以配合 802.1x 完成用户身份认证:
802.1x 用户通过域名和交换机上配置的 ISP 域相关联。
配置 ISP 域使用的 AAA 方案,包括本地认证方案和 RADIUS 方案。
如果采用 RADIUS 方案,通过远端的 RADIUS 服务器进行认证,则需要在
RADIUS 服务器上配置相应的用户名和密码,然后在交换机上进行 RADIUS
客户端的相关设置。
如果是需要本地认证,则需要在交换机上手动添加认证的用户名和密码,当用
户使用和交换机中记录相同的用户名和密码,启动 802.1x 客户端软件进行认
证时,就可以通过认证。
也可以配置交换机先采用 RADIUS 方案,通过 RADIUS 服务器进行认证,如
果 RADIUS 服务器无效,则使用本地认证。
802.1x 典型配置举例
1. 组网需求
要求在各端口上对用户接入进行认证,以控制其访问 Internet;接入控制模式
要求是基于 MAC 地址的接入控制。
所有接入用户都属于一个缺省的域:aabbcc.net,该域最多可容纳 30 个用户;
认证时,先进行 RADIUS 认证,如果 RADIUS 服务器没有响应再转而进行本
地认证;计费时,如果 RADIUS 计费失败则切断用户连接使其下线;此外,
接入时在用户名后不添加域名,正常连接时如果用户有超过 20 分钟流量持续
小于 2000Bytes 的情况则切断其连接。
由两台 RADIUS 服务器组成的服务器组与交换机相连,其 IP 地址分别为
10.11.1.1 和 10.11.1.2,前者作为主认证/备份计费服务器,后者作为备份认证
/主计费服务器;设置系统与认证 RADIUS 服务器交互报文时的加密密码为
“name”、与计费 RADIUS 服务器交互报文时的加密密码“money”,设置
系统在向 RADIUS 服务器发送报文后 5 秒种内如果没有得到响应就向其重新
发送报文,重复发送报文的次数总共为 5 次,设置系统每 15 分钟就向 RADIUS
服务器发送一次实时计费报文, 指示系统从用户名中去除用户域名后再将之传
给 RADIUS 服务器。
本地 802.1x 接入用户的用户名为 localuser,密码为 localpass,使用明文输入,
闲置切断功能处于打开状态。
2. 组网图
3. 配置步骤
# 开启全局 802.1x 特性。
<Quidway> system-view
[Quidway] dot1x
# 开启指定端口 Ethernet 1/0/1 的 802.1x 特性。
[Quidway] dot1x interface Ethernet 1/0/1
# 设置接入控制方式(该命令可以不配置,因为端口的接入控制在缺省情况下就是
基于 MAC 地址的)。
[Quidway] dot1x port-method macbased interface Ethernet 1/0/1
# 创建 RADIUS 方案 radius1 并进入其视图。
[Quidway] radius scheme radius1
# 设置主认证/计费 RADIUS 服务器的 IP 地址。
[Quidway-radius-radius1] primary authentication 10.11.1.1
[Quidway-radius-radius1] primary accounting 10.11.1.2
# 设置备份认证/计费 RADIUS 服务器的 IP 地址。
[Quidway-radius-radius1] secondary authentication 10.11.1.2
[Quidway-radius-radius1] secondary accounting 10.11.1.1
# 设置系统与认证 RADIUS 服务器交互报文时的加密密码。
[Quidway -radius-radius1] key authentication name
# 设置系统与计费 RADIUS 服务器交互报文时的加密密码。
[Quidway-radius-radius1] key accounting money
# 设置系统向 RADIUS 服务器重发报文的时间间隔与次数。
[Quidway-radius-radius1] timer 5
[Quidway-radius-radius1] retry 5
# 设置系统向 RADIUS 服务器发送实时计费报文的时间间隔。
[Quidway-radius-radius1] timer realtime-accounting 15
# 指示系统从用户名中去除用户域名后再将之传给 RADIUS 服务器。
[Quidway-radius-radius1] user-name-format without-domain
[Quidway-radius-radius1] quit
# 创建域 aabbcc.net 并进入其视图。
[Quidway] domain default enable aabbcc.net
# 指定 radius1 为该域用户的 RADIUS 方案,若 RADIUS 服务器无效,则使用本地
认证方案。
[Quidway-isp-aabbcc.net] scheme radius-scheme radius1 local
# 设置该域最多可容纳 30 个用户。
[Quidway-isp-aabbcc.net] access-limit enable 30
# 启动闲置切断功能并设置相关参数。
[Quidway-isp-aabbcc.net] idle-cut enable 20 2000
[Quidway-isp-aabbcc.net] quit
# 配置域 aabbcc.net 为缺省用户域。
[Quidway] domain default enable aabbcc.net
# 添加本地接入用户。
[Quidway] local-user localuser
[Quidway-luser-localuser] service-type lan-access
[Quidway-luser-localuser] password simple localpass
四、 system-guard
system-guard 按照设定的***检测时间间隔定期进行检查,在检查期间,如果开启
了防***功能的端口上 CPU 的报文数量超过设定的阈值,将被认为是***端口,交
换机将对该端口进行限速。超过对***端口的控制时间后,会取消端口的限速,在
下一个防***检测时间,重新检查在此期间防***端口上 CPU 的报文数量。
system-guard 典型配置举例
1. 组网需求
S2000-HI-2、S2000-HI-3、S2000-HI-4 下直接下挂业务用户,上行链路均连接到
S2000-HI-1。
2. 组网图
3. 配置步骤
# 配置 S2000-HI-2 软件防护
<S2000-HI-2> system-view
System View: return to User View with Ctrl+Z.
[S2000-HI-2] system-guard enable
[S2000-HI-2] system-guard mode rate-limit 5 256 300
[S2000-HI-2] system-guard permit Ethernet 1/0/1 to Ethernet 1/0/3
# 配置 S2000-HI-3 软件防护
<S2000-HI-3> system-view
System View: return to User View with Ctrl+Z.
[S2000-HI-3] system-guard enable
[S2000-HI-3] system-guard mode rate-limit 5 256 300
[S2000-HI-3] system-guard permit Ethernet 1/0/1 to Ethernet 1/0/3
# 配置 S2000-HI-4 软件防护
<S2000-HI-4> system-view
System View: return to User View with Ctrl+Z.
[S2000-HI-4] system-guard enable
[S2000-HI-4] system-guard mode rate-limit 5 256 300
[S2000-HI-4] system-guard permit Ethernet 1/0/1
# 配置 S2000-HI-1 软件防护
<S2000-HI-1> system-view
System View: return to User View with Ctrl+Z.
[S2000-HI-1] system-guard enable
[S2000-HI-1] system-guard mode rate-limit 2 256 60
[S2000-HI-1] system-guard permit Ethernet 1/0/1 to Ethernet 1/0/3
五、AAA 及 RADIUS 协议
AAA 是 Authentication,Authorization and Accounting(认证、授权和计费)的简
称,它提供了一个对认证、授权和计费这三种安全功能进行配置的一致性框架,实
际上是对网络安全的一种管理。
这里的网络安全主要是指访问控制,包括:
哪些用户可以访问网络服务器。
具有访问权的用户可以得到哪些服务。
如何对正在使用网络资源的用户进行计费。
针对以上问题,AAA 必须提供认证功能、授权功能和计费功能。
1. 认证功能
AAA 支持以下认证方式:
不认证:对用户非常信任,不对其进行合法检查。一般情况下不采用这种方式。
本地认证:将用户信息(包括本地用户的用户名、密码和各种属性)配置在设
备上。本地认证的优点是速度快,可以降低运营成本;缺点是存储信息量受设
备硬件条件限制。
远端认证:支持通过 RADIUS 协议或 HWTACACS 协议进行远端认证,设备
(如 Quidway 系列交换机)作为客户端,与 RADIUS 服务器或 TACACS 服务
器通信。对于 RADIUS 协议,可以采用标准或扩展的 RADIUS 协议。
2. 授权功能
AAA 支持以下授权方式:
直接授权:对用户非常信任,直接授权通过。
本地授权:根据设备上为本地用户帐号配置的相关属性进行授权。
RADIUS 认证成功后授权:RADIUS 协议的认证和授权是绑定在一起的,不能
单独使用 RADIUS 进行授权。
HWTACACS 授权:由 TACACS 服务器对用户进行授权。
3. 计费功能
AAA 支持以下计费方式:
不计费:不对用户计费。
远端计费:支持通过 RADIUS 服务器或 TACACS 服务器进行远端计费。
AAA 一般采用客户端/服务器结构:客户端运行于被管理的资源侧,服务器上集中存
放用户信息。因此,AAA 框架具有良好的可扩展性,并且容易实现用户信息的集中
管理。
AAA 是一种管理框架,因此,它可以用多种协议来实现。在实践中,人们最常使用
RADIUS 协议来实现 AAA。
RADIUS(Remote Authentication Dial-In User Service,远程认证拨号用户服务)
是一种分布式的、客户端/服务器结构的信息交互协议,能保护网络不受未授权访问
的干扰,常被应用在既要求较高安全性,又要求维持远程用户访问的各种网络环境
中。
RADIUS 服务包括三个组成部分:
协议:RFC 2865 和 RFC 2866 基于 UDP/IP 层定义了 RADIUS 帧格式及其消
息传输机制,并定义了 1812 作为认证端口,1813 作为计费端口。
服务器:RADIUS 服务器运行在中心计算机或工作站上,包含了相关的用户认
证和网络服务访问信息。
客户端:位于拨号访问服务器设备侧,可以遍布整个网络。
RADIUS 基于客户端/服务器模型。交换机作为 RADIUS 客户端,负责传输用户信息
到指定的 RADIUS 服务器,然后根据从服务器返回的信息对用户进行相应处理(如
接入/挂断用户)。RADIUS 服务器负责接收用户连接请求,认证用户,然后给交换
机返回所有需要的信息。
RADIUS服务器通常要维护三个数据库
第一个数据库“Users”用于存储用户信息(如用户名、口令以及使用的协议、
IP 地址等配置)。
第二个数据库“Clients”用于存储 RADIUS 客户端的信息(如共享密钥)。
第三个数据库“Dictionary”存储的信息用于解释 RADIUS 协议中的属性和属
性值的含义。
AAA&RADIUS 协议典型配置举例
1. 组网需求
在图示的环境中,需要通过配置交换机实现RADIUS服务器对登录交换机的
Telnet用户进行认证。
一台 RADIUS 服务器(担当认证 RADIUS 服务器的职责)与交换机相连,服
务器 IP 地址为 10.110.91.164;
设置交换机与认证 RADIUS 服务器交互报文时的共享密钥为“expert”。
RADIUS 服务器可使用 CAMS 服务器。 使用第三方 RADIUS 服务器时,RADIUS 方
案中的 server-type 可以选择 standard 类型或 huawei 类型。
在 RADIUS 服务器上设置与交换机交互报文时的共享密钥为“expert”;
设置验证的端口号;
添加 Telnet 用户名及登录密码。
如果 RADIUS 方案中设置交换机不从用户名中去除用户域名而是一起传给 RADIUS
服务器,RADIUS 服务器上添加的 Telnet 用户名应为“userid@isp-name”形式。
2. 组网图
3. 配置步骤
# 配置 Telnet 用户采用 AAA 认证方式。
<Quidway> system-view
[Quidway] user-interface vty 0 4
[Quidway-ui-vty0-4] authentication-mode scheme
# 配置 domain。
[Quidway] domain cams
[Quidway-isp-cams] access-limit enable 10
[Quidway-isp-cams] quit
# 配置 RADIUS 方案。
[Quidway] radius scheme cams
[Quidway-radius-cams] accounting optional
[Quidway-radius-cams] primary authentication 10.110.91.164 1812
[Quidway-radius-cams] key authentication expert
[Quidway-radius-cams] server-type Huawei
[Quidway-radius-cams] user-name-format with-domain
[Quidway-radius-cams] quit
# 配置 domain 和 RADIUS 的关联。
[Quidway] domain cams
[Quidway-isp-cams] scheme radius-scheme cams
Telnet 用户登录时输入用户名 userid @cams,以使用 cams 域进行认证。
六、集中式 MAC 地址认证
集中式 MAC 地址认证是一种基于端口和 MAC 地址对用户访问网络的权限进行控制的认证方法,它不需要用户安装任何客户端软件,交换机在首次检测到用户的 MAC
地址以后,即启动对该用户的认证操作。
集中式 MAC 地址认证有两种方式:
MAC 地址方式:使用用户的 MAC 地址作为认证时的用户名和密码。
固定方式:使用在交换机上预先配置用户名和密码进行认证。此时,要求所有
用户都和交换机上配置的用户名和密码一一对应。
S2000-HI 系列以太网交换机支持通过 RADIUS 服务器或通过本地进行集中式 MAC
地址认证。
集中式 MAC 地址认证配置举例
说明:
集中式 MAC 地址认证的配置与 802.1x 类似,在本例中,二者的区别是:
在端口和全局下使能集中式 MAC 地址认证;
对于 MAC 地址方式,本地认证的用户名和密码需要配置为该用户的 MAC 地址;
对于 MAC 地址方式,RADIUS 服务器上的用户名和密码需要配置为该用户的
MAC 地址。
# 开启指定端口 Ethernet 1/0/2 的集中式 MAC 地址认证特性。
<Quidway> system-view
[Quidway] mac-authentication interface Ethernet 1/0/2
# 配置集中式 MAC 地址认证的方式为 MAC 地址方式,并指定使用带有分隔符的
MAC 地址作为验证的用户名和密码。
[Quidway] mac-authentication authmode usernameasmacaddress userformat
with-hyphen
# 添加本地接入用户。
配置本地用户的用户名和密码。
[Quidway] local-user 00-e0-fc-01-01-01
[Quidway-luser-00-e0-fc-01-01-01] password simple 00-e0-fc-01-01-01
设置本地用户服务类型为 lan-access。
[Quidway-luser-00-e0-fc-01-01-01] service-type lan-access
# 开启全局集中式 MAC 地址认证特性。
[Quidway-luser-00-e0-fc-01-01-01] quit
[Quidway] mac-authentication
# 配置 MAC 地址认证用户所使用的域名为 aabbcc163.net。
[Quidway] mac-authentication domain aabbcc163.net
七、ACL的应用
ACL(Access Control List,访问控制列表)主要用来实现流识别功能。网络设备为
了过滤数据包,需要配置一系列的匹配规则,以识别需要过滤的报文。在识别出特
定的报文之后,才能根据预先设定的策略允许或禁止相应的数据包通过。
ACL 通过一系列的匹配条件对数据包进行分类,这些条件可以是数据包的源地址、
目的地址、端口号等。
由 ACL 定义的数据包匹配规则,可以被其它需要对流量进行区分的功能引用,如
QoS 中流分类规则的定义。
根据应用目的,可将 ACL 分为下面几种:
基本 ACL:只根据三层源 IP 地址制定规则。
高级 ACL:根据数据包的源 IP 地址信息、目的 IP 地址信息、IP 承载的协议类
型、协议特性等三、四层信息制定规则。
二层 ACL:根据源 MAC 地址、目的 MAC 地址、VLAN 优先级、二层协议类
型等二层信息制定规则。
ACL 在交换机上的应用方式
1. ACL 直接下发到硬件中的情况
交换机中 ACL 可以直接下发到交换机的硬件中用于数据转发过程中报文的过滤和
流分类。此时一条 ACL 中多个规则的匹配顺序是由交换机的硬件决定的,用户即使
在定义 ACL 时配置了匹配顺序,该匹配顺序也不起作用。
ACL 直接下发到硬件的情况包括:交换机实现 QoS 功能时引用 ACL、通过 ACL 过
滤转发数据等。
2. ACL 被上层模块引用的情况
交换机也使用 ACL 来对由软件处理的报文进行过滤和流分类。此时 ACL 规则的匹
配顺序有两种:config(指定匹配该规则时按用户的配置顺序)和 auto(指定匹配
该规则时系统自动排序,即按“深度优先”的顺序)。这种情况下用户可以在定义
ACL 的时候指定一条 ACL 中多个规则的匹配顺序。用户一旦指定某一条 ACL 的匹
配顺序,就不能再更改该顺序。只有把该列表中所有的规则全部删除后,才能重新
指定其匹配顺序。
ACL 被软件引用的情况包括:对登录用户进行控制时引用 ACL 等。
基本 ACL配置举例
# 配置 ACL 2000,禁止源地址为 1.1.1.1 的报文通过。
<Quidway> system-view
[Quidway] acl number 2000
[Quidway-acl-basic-2000] rule deny source 1.1.1.1 0
[Quidway-acl-basic-2000] display acl 2000
Basic ACL 2000, 1 rule
Acl's step is 1
rule 0 deny source 1.1.1.1 0
高级 ACL配置举例
# 配置 ACL 3000,允许从 129.9.0.0 网段的主机向 202.38.160.0 网段的主机发送的
端口号为 80 的报文通过。
<Quidway>system-view
[Quidway] acl number 3000
[Quidway-acl-adv-3000] rule permit tcp source 129.9.0.0 0.0.255.255
destination 202.38.160.0 0.0.0.255 destination-port eq 80
[Quidway-acl-adv-3000] display acl 3000
Advanced ACL 3000, 1 rule
Acl's step is 1
rule 0 permit tcp source 129.9.0.0 0.0.255.255 destination 202.38.160.0
0.0.0.255 destination-port eq www
八、Ipsec
IPSec 是一系列网络安全协议的总称,它是由 IETF(Internet Engineering Task
Force,Internet 工程任务组)开发的,可为通讯双方提供访问控制、无连接的完整
性、数据来源认证、反重放、加密以及对数据流分类加密等服务。
IPSec 是网络层的安全机制。通过对网络层包信息的保护,上层应用程序即使没有
实现安全性,也能够自动从网络层提供的安全性中获益。这打消了人们对 ×××
(Virtual Private Network,虚拟专用网络)安全性的顾虑,使得 ××× 得以广泛应
用。
IPSec 的配置包括:
创建加密访问控制列表
定义安全提议
选择加密算法与认证算法
创建安全策略
在接口上应用安全策略组
加密卡实现 IPSec 的配置包括:
创建加密访问控制列表
配置加密卡
使能 VRP 主体软件备份
定义安全提议
选择加密算法与认证算法
创建安全策略
在接口上应用安全策略组
IPSec 典型配置举例
采用手工方式创建安全联盟
1. 配置需求
在路由器 A 和路由器 B 之间建立一个安全隧道对 PC A 代表的子网(10.1.1.x)与
PC B 代表的子网(10.1.2.x)之间的数据流进行安全保护。安全协议采用 ESP 协议,
加密算法采用 DES,认证算法采用 sha1-hmac-96。
2. 组网图
3. 配置步骤
首先确保 RouterA 和 RouterB 能通过串口在网络层互通。
路由器 A 的配置:
(1)
# 配置一个访问控制列表,定义由子网 10.1.1.x 去子网 10.1.2.x 的数据流。
[Router] acl 3001
[Router-acl-3001] rule permit ip source 10.1.1.0 0.0.0.255 destinatio
10.1.2.0 0.0.0.255
[Router-acl-3001] rule deny ip source any destination any
# 创建名为 tran1 的安全提议。
[Router] ipsec proposal tran1
# 报文封装形式采用隧道模式。
[Router-ipsec-proposal-tran1] encapsulation-mode tunnel
# 安全协议采用 ESP 协议。
[Router-ipsec-proposal-tran1] transform esp-new
# 选择认证算法和加密算法。
[Router-ipsec-proposal-tran1] esp-new encryption-algorithm des
[Router-ipsec-proposal-tran1] esp-new authentication-algorithm sha1-hmac-96
# 创建一条安全策略,协商方式为手工方式。
[Router] ipsec policy policy1 10 manual
# 引用访问列表。
[Router-ipsec-policy-policy1-10] security acl 3001
# 引用安全提议。
[Router-ipsec-policy-policy1-10] proposal tran1
# 设置本端与对端地址。
[Router-ipsec-policy-policy1-10] tunnel local 202.38.163.1
[Router-ipsec-policy-policy1-10] tunnel remote 202.38.162.1
# 设置 SPI。
[Router-ipsec-policy-policy1-10] sa outbound esp spi 12345
[Router-ipsec-policy-policy1-10] sa inbound esp spi 54321
# 设置密钥。
[Router-ipsec-policy-policy1-10] sa outbound esp string-key abcdefg
[Router-ipsec-policy-policy1-10] sa inbound esp string-key gfedcba
# 在串口上应用安全策略组。
[Router] interface serial 0
[Router-Serial0] ipsec policy policy1
[Router-Serial0] ip address 202.38.163.1 255.255.255.0
# 配置路由。
[Router] ip route-static 10.1.2.0 255.255.255.0 202.38.162.1
路由器 B 的配置:
(2)
# 配置一个访问列表,定义由子网 10.1.2.x 去子网 10.1.1.x 的数据流。
[Router] acl 3001
[Router-acl-3001] rule permit ip source 10.1.2.0 0.0.0.255 destination
10.1.1.0 0.0.0.255
[Router-acl-3001] rule deny ip source any destination any
# 创建名为 tran1 的安全提议。
[Router] ipsec proposal tran1
# 报文封装形式采用隧道模式。
[Router-ipsec-proposal-tran1] encapsulation-mode tunnel
# 安全协议采用 ESP 协议。
[Router-ipsec-proposal-tran1] transform esp-new
# 选择认证算法和加密算法。
[Router-ipsec-proposal-tran1] esp-new encryption-algorithm des
[Router-ipsec-proposal-tran1] esp-new authentication-algorithm sha1-hmac-96
# 创建一条安全策略,协商方式为手工方式。
[Router] ipsec policy use1 10 manual
# 引用访问列表。
[Router-ipsec-policy-use1-10] security acl 3001
# 引用安全提议。
[Router-ipsec-policy-use1-10] proposal tran1
# 设置本端与对端地址。
[Router-ipsec-policy-use1-10] tunnel local 202.38.162.1
[Router-ipsec-policy-use1-10] tunnel remote 202.38.163.1
# 设置 SPI。
[Router-ipsec-policy-use1-10] sa outbound esp spi 54321
[Router-ipsec-policy-use1-10] sa inbound esp spi 12345
# 设置密钥。
[Router-ipsec-policy-use1-10] sa outbound esp string-key gfedcba
[Router-ipsec-policy-use1-10] sa inbound esp string-key abcdefg
# 进入串口视图。
[Router] interface serial 0
# 在串口上应用安全策略组
[Router-Serial0] ipsec policy use1
[Router-Serial0] ip address 202.38.162.1 255.255.255.0
# 配置路由。
[Router] ip route-static 10.1.1.0 255.255.255.0 202.38.163.1
以上配置完成后,路由器 A 和路由器 B 之间的安全隧道就建立好了,子网 10.1.1.x
与子网 10.1.2.x 之间的数据流将被加密传输。
采用 IKE 协商方式创建安全联盟
1. 配置需求
在路由器 A 和路由器 B 之间建立一个安全隧道,对 PC A 代表的子网(10.1.1.x)与
PC B 代表的子网 (10.1.2.x)之间的数据流进行安全保护。安全协议采用 ESP 协议,
加密算法采用 DES,认证算法采用 sha1-hmac-96。
2. 组网图
同上例。
3. 配置步骤
首先确保 RouterA 和 RouterB 能通过串口在网络层互通。
路由器 A 的配置:
(1)
# 配置一个访问列表,定义由子网 10.1.1.x 去子网 10.1.2.x 的数据流。
[Router] acl 3001
[Router-acl-3001] rule permit ip source 10.1.1.0 0.0.0.255 destination
10.1.2.0 0.0.0.255
[Router-acl-3001] rule deny ip source any destination any
# 创建名为 tran1 的安全提议。
[Router] ipsec proposal tran1
# 报文封装形式采用隧道模式。
[Router-ipsec-proposal-tran1] encapsulation-mode tunnel
# 安全协议采用 ESP 协议。
[Router-ipsec-proposal-tran1] transform esp-new
# 选择认证算法和加密算法。
[Router-ipsec-proposal-tran1] esp-new encryption-algorithm des
[Router-ipsec-proposal-tran1] esp-new authentication-algorithm sha1-hmac-96
# 创建一条安全策略,协商方式为 isakmp。
[Router] ipsec policy policy1 10 isakmp
# 设置对端地址。
[Router-ipsec-policy-policy1-10] tunnel remote 202.38.162.1
# 引用安全提议。
[Router-ipsec-policy-policy1-10] proposal tran1
# 引用访问列表。
[Router-ipsec-policy-policy1-10] security acl 3001
# 配置串口 Serial0。
[Router] interface serial 0
[Router-Serial0] ip address 202.38.163.1 255.255.255.0
# 在串口上应用安全策略组。
[Router-Serial0] ipsec policy policy1
# 配置路由。
[Router] ip route-static 10.1.2.0 255.255.255.0 202.38.162.1
# 相应的 IKE 配置。
[Router] ike pre-shared-key abcde remote 202.38.162.1
路由器 B 的配置:
(2)
# 配置一个访问列表,定义由子网 10.1.2.x 去子网 10.1.1.x 的数据流。
[Router] acl 3001
[Router-acl-3001] rule permit ip source 10.1.2.0 0.0.0.255 destination
10.1.1.0 0.0.0.255
[Router-acl-3001] rule deny ip source any destination any
# 创建名为 tran1 的安全提议。
[Router] ipsec proposal tran1
# 报文封装形式采用隧道模式。
[Router-ipsec-proposal-tran1] encapsulation-mode tunnel
# 安全协议采用 ESP 协议。
[Router-ipsec-proposal-tran1] transform esp-new
# 选择认证算法和加密算法。
[Router-ipsec-proposal-tran1] esp-new encryption-algorithm des
[Router-ipsec-proposal-tran1] esp-new authentication-algorithm sha1-hmac-96
# 创建一条安全策略,协商方式为 isakmp。
[Router] ipsec policy use1 10 isakmp
# 引用访问列表。
[Router-ipsec-policy-policy1-10] security acl 3001
# 设置对端地址。
[Router-ipsec-policy-policy1-10] tunnel remote 202.38.163.1
# 引用安全提议。
[Router-ipsec-policy-policy1-10] proposal tran1
# 配置串口 Serial0。
[Router] interface serial 0
[Router-Serial0] ip address 202.38.162.1 255.255.255.0
# 在串口上应用安全策略组。
[Router-Serial0] ipsec policy use1
# 配置路由。
[Router] ip route-static 10.1.1.0 255.255.255.0 202.38.163.1
# 相应的 IKE 配置。
[Router] ike pre-shared-key abcde remote 202.38.163.1
以上配置完成后,路由器 A 和路由器 B 之间若有子网 10.1.1.x 与子网 10.1.2.x 之间
的报文通过,将触发 IKE 进行协商建立安全联盟。IKE 协商成功并创建了安全联盟
后,子网 10.1.1.x 与子网 10.1.2.x 之间的数据流将被加密传输。
九、IKE
IKE(Internet Key Exchange,因特网密钥交换协议)是基于 ISAKMP(Internet
Security Association Key Management Protocl)框架结构而建立的,它为 IPSec
提供了自动协商交换密钥、建立安全联盟的服务,简化了 IPSec 的使用和管理。
如上章所述,IPSec SA 能够手工建立,但是随着节点数目的日益增加,手工配置过
程将非常烦琐并易于出错。IKE 的应用将解决该问题。
IKE 具有一套自保护机制,可以在不安全的网络上安全的分发密钥、认证身份并建
立 IPSec 安全联盟。
建立安全联盟的双方在建立好安全联盟后。如果对方失效(例如关机)而不能正常
工作时,本地将无法知道。当对方重新开机后,由于本地存在安全联盟,无法发起
协商,只能由对方发起协商,或等到超时后协商。所以 IKE 中 Keepalive 功能将在
对方失效而不能工作时检测并删除无用的安全联盟。
IKE 使用两个阶段的 ISAKMP:
第一阶段:协商创建一个通信信道,并对该信道进行认证,为双方进一步的 IKE
通信提供机密性、消息完整性以及消息源认证服务。
第二阶段,使用已建立的 IKE SA 建立 IPSec SA。
从下图我们可以看出 IKE 和 IPSec 之间的关系。
IKE 典型配置举例
1. 组网需求
主机 A 与 B 之间进行安全通信,在路由器 RouterA 与 RouterB 之间使用 IKE
自动协商建立安全通道。
在 RouterA 上配置一条 IKE 策略,其中策略 10 优先级最高,缺省的 IKE 策略
优先级最低。
认证算法采用 pre-shared-key 方法。
2. 组网图
3. 配置步骤
路由器 RouterA 上的配置:
(1)
# 配置一条 IKE 策略 10。
[RouterA] ike proposal 10
# 指定 IKE 策略使用的散列算法为 MD5。
[RouterA-ike-proposal-10] authentication-algorithm md5
# 使用 pre-shared-key 认证方法。
[RouterA-ike-proposal-10] authentication-method pre-share
# 配置对端 171.69.224.33 的认证字为 “abcde”。
[RouterA] ike pre-share-key abcde remote 171.69.224.33
# 设置 IKE SA 存活时间为 5000 秒。
[RouterA-ike-proposal-10] sa duration 5000
路由器 Router B 上的配置:
(2)
# 在网关 B 上使用缺省的 IKE 策略,并配置对端的认证字。
[RouterB] ike pre-share-key abcde remote 202.38.160.1
以上是对 IKE 协商的配置,若希望建立 IPSec 安全通道进行安全通信,还需要进行
IPSec 的相应配置。
十、Am
端口+MAC
华为交换机H3C端口AM命令
使用特殊的AM User-bind命令,来完成MAC地址与端口之间的绑定。
例如:[SwitchA]am user-bind mac-address 00e0-fc22-f8d3 interface Ethernet 0/1
配置说明:由于使用了端口参数,则会以端口为参照物,即此时端口E0/1只允许PC1上网,而使用其他未绑定的MAC地址的PC机则无法上网。但是PC1使用该MAC地址可以在其他端口上网。
mac-address命令使用mac-address static命令,来完成MAC地址与端口之间的绑定。
例如:[SwitchA]mac-address static 00e0-fc22-f8d3 interface Ethernet 0/1 vlan 1[SwitchA]mac-address max-mac-count 0
配置说明:由于使用了端口学习功能,故静态绑定mac后,需再设置该端口mac学习数为0,使其他PC接入此端口后其mac地址无法被学习。
IP+MAC
华为交换机H3C端口AM命令
使用特殊的AM User-bind命令,来完成IP地址与MAC地址之间的绑定。
例如:[SwitchA]am user-bind ip-address 10.1.1.2 mac-address 00e0-fc22-f8d3配置说明:以上配置完成对PC机的IP地址和MAC地址的全局绑定。即与绑定的IP地址或者MAC地址不同的PC机,在任何端口都无法上网。支持型号:S3026E/EF/C/G/T、S3026C-PWR、E026/E026T、S3050C、E050、S3526E/C/EF、S5012T/G、S5024G
华为交换机H3C端口arp命令
使用特殊的arp static命令,来完成IP地址与MAC地址之间的绑定。
例如:[SwitchA]arp static 10.1.1.2 00e0-fc22-f8d3
配置说明:以上配置完成对PC机的IP地址和MAC地址的全局绑定。
端口+IP+MAC
使用特殊的AM User-bind命令,来完成IP、MAC地址与端口之间的绑定。
例如:[SwitchA]am user-bind ip-address 10.1.1.2 mac-address 00e0-fc22-f8d3 interface Ethernet 0/1。
配置说明:可以完成将PC1的IP地址、MAC地址与端口E0/1之间的绑定功能。由于使用了端口参数,则会以端口为参照物,即此时端口E0/1只允许PC1上网,而使用其他未绑定的IP地址、MAC地址的PC机则无法上网。但是PC1使用该IP地址和MAC地址可以在其他端口上网。
转载于:https://blog.51cto.com/chenyz/822842