第13章-网络安全与网络管理

发布时间 2023-07-18 14:02:52作者: Evan-whc

第13章-网络安全与网络管理

13.1.1 ACL的基本原理

根据ACL所具备的特性不同,我们将ACL分成了不同的类型,分别是:基本ACL、高级ACL、二层ACL、用户自定义ACL,其中应用最为广泛的是基本ACL和高级ACL。在网络设备上配置ACL时,每一个ACL都需要分配一个编号,称为ACL编号。基本ACL、高级ACL、二层ACL、用户自定义ACL的编号范围分别为20002999、30003999、40004999、50005999。

配置了ACL的设备在接收到一个报文之后,会将该报文与ACL中的规则逐条进行匹配。如果不能匹配上当前这条规则,则会继续尝试去匹配下一条规则。一旦报文匹配上了某条规则,则设备会对该报文执行这条规则中定义的处理动作(permit或deny),并且不再继续尝试与后续规则进行匹配。如果报文不能匹配上ACL的任何一条规则,则设备会对该报文执行permit这个处理动作。

13.1.2 基本ACL

基本ACL只能基于IP报文的源IP地址、报文分片标记和时间段信息来定义规则。
配置基本ACL规则的命令具有如下的结构。
rule [rule-id] {deny | permit} [source {source-address source-wildcard | any} | fragment | logging | time-range time-name]

针对13-1所示的例子,我们来看看就该如何配置路由器R。首先,我们在R的系统视图下创建一个编号为2000的ACL。

[R] acl 2000
[R-acl-basic-2000] 

然后,在ACL 2000的视图下创建如下的规则。

[R-acl-basic-2000] rule deny source 172.16.10.100  0.0.0.0
[R-acl-basic-2000]

这条规则的含义是:拒绝IP地址为172.16.10.100的IP报文。
最后,使用报文过滤技术中traffic-filter命令将ACL 2000应用在R的GE1/0/3接口的出方向上。

[R-acl-basic-2000] quit
[R] interface g1/0/3
[R-GigabitEthernet1/0/3] traffic-filter outbound acl 2000
[R-GigabitEthernet1/0/3]

通过上面的配置,源IP地址为172.16.10.100的IP报文便无法在出方向上通过R的GE1/0/3接口,这样就实现了我们的安全策略。
确认配置
<Router>display acl 2000

13.1.3 高级ACL

高级ACL可以根据IP报文的源IP地址、IP报文的目的IP地址、IP报文的协议字段的值、IP报文的优先级的值、IP报文的长度值、TCP报文的源端口号值、TCP报文的目的端口号、UDP报文的源端口号、UDP报文的目的端口号等信息来定义规则。基本ACL的功能只是高级ACL的功能的一个子集,高级ACL可以比基本ACL定义出更精准、更复杂、更灵活的规则。

下面是对所有IP报文的一种简化了的配置命令的格式。
rule [rule-id] {deny | permit} ip [destination { destination-address destination-wildcard | any}] [source { source-address source-wildcard | any}]

针对图13-2所示的例子,我们来看看应该如何配置路由器R。首先,我们在R的系统视图下创建一个编号为3000的ACL。

[R] acl 3000
[R-acl-adv-3000]

然后,在ACL 3000的视图下创建如下的规则。

[R-acl-adv-3000] rule deny destination 172.16.10.100 0.0.0.0
[R-acl-adv-3000]

这条规则的含义是:拒绝目的IP地址为172.16.10.100的IP报文。
最后,使用报文过滤技术中的traffic-filter命令将ACL 3000应用在R的GE1/0/3接口的入方向上。

[R-acl-adv-3000]quit
[R] interface gigabitethernet 1/0/3
[R-GigabitEthernet1/0/3] traffic-filter inbound acl 3000
[R-GigabitEthernet1/0/3]

通过上面的配置,目的IP地址为172.17.10.100的IP报文便无法在入方向上通过R的GE1/0/3接口,这样就实现了我们的安全策略。

13.1.4 基本ACL的配置示例

图13-3显示了某公司的网络结构,出于网络安全方面的考虑,我们希望只有网络管理员的PC才能通过Telnet方式登录到路由器Router上,其他PC都不能通过Telnet方式登录到路由器。

1. 配置思路

(1)在路由器Router上创建基本ACL
(2)在基本ACL中制定规则,区分网管人员的PC发出的IP报文与其他PC发出的IP报文。
(3)在VTY(Virtual Type Terminal)上应用所配置的基本ACL。

2. 配置步骤

#配置路由器Router。

<Router>system-view
[Router] acl 2000
[Router-acl-basic-2000]

#配置路由器Router。
[Router-acl-basic-2000] rule permit source 172.16.0.2 0
#配置路由器Router,然后,我们再制定一新规则,其含义是拒绝(deny)源IP地址为任意地址的IP报文。
[Router-acl-basic-2000] rule deny source any
#查看ACL 2000的配置

[Router-acl-basic-2000] quit
[Router]quit
<Router>display acl 2000

#接下来,我们在VTY上应用ACL 2000

<Router> system-view
[Router] user-interface vty 0 4
[Router-ui-vty0-4] user-interface vty 0 4
[Router-ui-vty0-4] 
[Router-ui-vty0-4] acl 2000 inbound
13.2.2 网络管理系统

esight是华为推出的专门针对企业网络及数据中心的新一代网络管理系统。网络管理系统一般具有如下的功能。
(1)网络拓扑图的显示。
(2)网络设备端口状态的监视与分析。
(3)网络性能数据的监视与分析。
(4)故障的报警与诊断。
(5)远程配置。
(6)……
网管员的电脑与被管理的各个设备之间必须通过某种“语言”才能进行管理信息的交流,这种“语言”就是Simple Network Management Protocol(简单网络管理协议),简称SNMP协议。如同DHCP协议一样,SNMP也是一种Client/Server模式的网络协议。
实际上,对于TCP/IP网络来说,网络管理系统总共涉及了3个协议,分别是SNMP协议、SMI(Structure of Manangement Information,管理信息结构)协议和MIB(Management Information Base,管理信息库)协议。在这3个协议中,SNMP是核心协议,但SNMP协议需要用到其他两个协议。

13.2.3 SMI协议

概括地讲,SMI协议的主要内容就是定义了一系列的规则,这些规则分为三个方面:第一方面的规则是关于应该如何给被管理对象命名,即对象的命名规则;第二方面的规则是定义了被管理对象有哪些类型,即对象的类型规则;第三方面的规则是关于如何对被管理对象的各种信息进行编码,即对象的编码规则。

13.2.4 MIB协议

概括地讲,MIB的作用就是在被管理的设备上创建一个数据库,这个数据库中包含了若干个具有名字、具有类型、具有内容的被管理对象,这些对象的名字、类型等属性都必须遵从SMI规范。实质上,在这个数据库中,一个被管理对象(Object)就相当于一个变量(Variable),被管理对象的名字就相当于是变量名,被管理对象的类型就相当于是变量的类型,被管理对象的内容就相当于是变量的取值。

13.2.5 SNMP协议

在SNMP协议中,运行在网管员电脑上的程序称为Manager,也就是SNMP Client;运行在被管理的设备上的程序称为Agent,也就是SNMP Server。SNMP协议定义了若干种SNMP报文(例如,SNMPv3定义了8种类型的SNMP报文,分别是GetRequest、GetNextRequest、GetBulkRequest、SetRequest、Response、Trap、InformRequest、Report),并通过在Manager和Agent之间交换这些报文,从而实现管理信息的交流,进而实现网络管理的目的。

SNMP报文都是封装在UDP报文中的。从Manager去往Agent的SNMP报文,其相应的UDP报文的端口号为161;从Agent去往Manager的SNMP报文,其相应的UDP报文的目的端口号为162。

SNMP所经历的版本有SNMPv1、SNMPv2、SNMPv2c、SNMPv2u、SNMPv3。