华为网络配置(ACL)


前言

     ACL本质上是一种报文过滤器,规则是过滤器的滤芯,设备基于这些规则进行报文匹配,可以过滤出特定的报文,并根据应用ACL的业务模块的处理策略来允许或阻止该报文通过

一、ACL概述

1、ACL简介

     ACL是Access Control List的简称,中文是访问控制列表,ACL表中包含了一系列的规则,所谓规则,是指描述报文匹配条件的判断语句,这些条件可以是报文的源地址、目的地址、端口号等,简单来说,ACL其实是人为定义的一组或几组规则,以便设备判断是否执行用户指定的动作,抽象来说,通过ACL,可以对报文进行分类,将具有某类共同特征的报文划分为一类,来为同一类报文提供相同的服务,也可以对不同类的报文提供不同的服务

2、ACL分类

(1)基本ACL

     基本ACL编号范围为2000~2999,规则中只包含源IP地址,对设备的CPU消耗较少,可用于简单的部署,但是使用场景有限,不能提供强大的安全保障

(2)高级ACL

     高级ACL编号范围为3000~3999,相较于基本ACL,高级ACL提供更高的扩展性,可以对流量进行更精细的匹配,通过配置高级ACL,可以阻止特定主机或者整个网段的源或者目标,除此之外,还可以使用协议信息(IP、ICMP、TCP、UDP)去过滤相应的流量

(3)二层ACL

     二层ACL编号范围为4000~4999,可根据报文的以太网帧头信息来定义规则,在公司的内部网络中,想对特定的终端进行访问权限控制,这时就需要二层ACL,使用二层ACL,可以根据源MAC地址、目的MAC地址、802.1p优先级、二层协议类型等二层信息对流量进行管控

(4)用户自定义ACL

     用户自定义ACL编号范围为5000~5999,可根据偏移位置和偏移量从报文中提取出一段内容进行匹配

(5)用户ACL

     用户ACL编号范围为6000~6031,由于企业内部同部门的工作人员的终端不在同一个网段难以管理,需要将其纳入一个用户组,并对其用户组进行访问权限管理,这时候就需要用户ACL,用户ACL在高级ACL的基础上增加了用户组的配置项,可以实现对不同用户组的流量管控

3、ACL组成

(1)ACL标识

     使用数字标识ACL:不同的类型的ACL使用不同的数字进行标识

     使用名称标识ACL:可以使用字符来标识ACL,就像用域名代替IP地址一样,更加方便记忆

(2)ACL规则

     规则编号:用于标识ACL规则,所有规则均按照规则编号从小到大进行排序

     动作:包括permit/deny两种动作,表示设备对所匹配的数据包接受或者丢弃

     匹配项:ACL定义了极其丰富的匹配项,包括生效时间段、IP协议(ICMP、TCP、UDP等)、源/目的地址以及相应的端口号(21、23、80等)

4、ACL匹配机制

     首先系统会查找设备上是否配置了ACL

  • 如果ACL不存在,则返回ACL匹配结果为:不匹配
  • 如果ACL存在,则查找设备是否配置了ACL规则
  • 如果规则不存在,则返回ACL匹配结果为:不匹配
  • 如果规则存在,则系统会从ACL中编号最小的规则开始查找
  • 如果匹配上了permit规则,则停止查找规则,并返回ACL匹配结果为:匹配(允许)
  • 如果匹配上了deny规则,则停止查找规则,并返回ACL匹配结果为:匹配(拒绝)
  • 如果未匹配上规则,则继续查找下一条规则,以此循环,如果一直查到最后一条规则,报文仍未匹配上,则返回ACL匹配结果为:不匹配

     报文与ACL规则匹配后,会产生两种匹配结果:“匹配”和“不匹配”

  • 匹配(命中规则):指存在ACL,且在ACL中查找到了符合匹配条件的规则,不论匹配的动作是“permit”还是“deny”,都称为“匹配”,而不是只是匹配上permit规则才算“匹配”
  • 不匹配(未命中规则):指不存在ACL,或ACL中无规则,再或者在ACL中遍历了所有规则都没有找到符合匹配条件的规则

5、ACL步长

     步长,是指系统自动为ACL规则分配编号时,每个相邻规则编号之间的差值,ACL(特指基本ACL、高级ACL、二层ACL、用户ACL)的缺省步长为5,系统为ACL中首条未手工指定编号的规则分配编号时,使用步长值作为该规则的起始编号;为后续规则分配编号时,则使用大于当前ACL内最大规则编号且是步长整数倍的最小整数作为规则编号,如果重新调整了步长值(例如调整为2),系统则会自动从当前步长值开始重新排列规则编号,规则编号变成2、4、6…,恢复步长值为缺省值后,系统则会立刻按照缺省步长重新调整规则编号,规则编号变成5、10、15…

6、ACL的匹配顺序

     共有两种ACL匹配顺序:配置顺序(config模式)和自动排序(auto模式),缺省的ACL匹配顺序是配置顺序

(1)配置顺序

     系统按照ACL规则编号从小到大的顺序进行报文匹配,规则编号越小越容易被匹配

  • 如果配置规则时指定了规则编号,则规则编号越小,规则插入位置越靠前,该规则越先被匹配
  • 如果配置规则时未指定规则编号,则由系统自动为其分配一个编号,该编号是一个大于当前ACL内最大规则编号且是步长整数倍的最小整数,因此该规则会被最后匹配

(2)自动排序

     自动排序是指系统使用“深度优先”的原则,将规则按照精确度从高到低进行排序,并按照精确度从高到低的顺序进行报文匹配,规则中定义的匹配项限制越严格,规则的精确度就越高,即优先级越高,系统越先匹配

7、ACL应用场景

(1)在NAT中使用ACL

     通过NAT的端口映射可使得外网访问内部网络,考虑到内部的网络安全,不可能允许所有的外部用户访问内部网络,这时可以设置ACL规则并应用在企业路由器上,使得特定的外网用户可以访问内部网络

(2)在防火墙中使用ACL

     防火墙用在内外网络边缘处,防止外部网络对内部网络的入侵,也可以用来保护网络内部大型服务器和重要的资源(如数据),由于ACL直接在设备的转发硬件中配置,在防火墙中配置ACL在保护网络安全的同时不会影响服务器的性能

(3)在QoS中使用ACL

     ACL应用在QoS的流策略中,可以实现不同网段用户之间访问权限的限制,从而避免用户之间随意访问形成安全隐患

8、常见TCP/UDP端口号

(1)TCP

端口号 字符串 协议 说明
7 echo Echo 计算机命令
9 discard Discard 用于连接测试的空服务
13 daytime Daytime 给请求主机发送日期和时间
19 CHARgen Character generator 字符生成服务;发送无止境的字符流
20 ftp-data FTP data connections FTP数据端口
21 ftp File Transfer Protocol(FTP) 文件传输协议(FTP)端口
23 telnet Telnet Telnet服务
25 smtp Simple Mail Transport Protocol(SMTP) 简单邮件传输协议
37 time Time 时间协议
43 whois Nickname(WHOIS) 目录服务
49 tacacs TAC Access Control System (TACACS) 用于基于TCP/IP验证和访问的访问控制系统(TACACS登录主机协议)
53 domain Domain Name Service(DNS) 域名服务
70 gopher Gopher 信息检索协议(互联网文档搜寻和检索)
79 finger Finger 用于用户联系信息的Finger服务,查询远程主机在线用户等信息
80 www World Wide Web(HTTP) 用于万维网(WWW)服务的超文本传输协议(HTTP),用于网页浏览
101 hostname NIC hostname server NIC机器上的主机名服务
109 pop2 Post Office Protocol v2 邮件协议-版本2
110 pop3 Post Office Protocol v3 邮件协议-版本3
111 sunrpc Sun Remote Procedure Call (RPC) SUN公司的远程过程调用(RPC)协议,用于远程命令执行,被网络文件系统(NFS)使用
119 nntp Network News Transport Protocol(NNTP) 网络新闻传输协议,承载USENET通信
179 bgp Border Gateway Protocol (BGP) 边界网关协议
194 irc Internet Relay Chat(IRC) 互联网中继聊天(多线交谈协议)
512 exec Exec (rsh) 用于对远程执行的进程进行验证
513 login Login (rlogin) 远程登录
514 cmd Remote commands 远程命令,不必登录的远程shell(rshell)和远程复制(rcp)
515 lpd Printer service 打印机(lpr)假脱机
517 talk Talk 远程对话服务和客户
540 uucp Unix-to-Unix Copy Program Unix到Unix复制服务
543 klogin Kerberos login Kerberos版本5 (v5)远程登录
544 kshell Kerberos shell Kerberos版本5 (v5)远程shell

(2)UDP

端口号 字符串 协议 说明
7 echo Echo 计算机命令
9 discard Discard 用于连接测试的空服务
37 time Time 时间协议
42 nameserver Host Name Server 主机名服务
53 dns Domain Name Service (DNS) 域名服务
65 tacacs-ds TACACS-Database Service TACACS数据库服务
67 bootps Bootstrap Protocol Server 引导程序协议 (BOOTP)服务端, DHCP服务使用
68 bootpc Bootstrap Protocol Client 引导程序协议 (BOOTP)客户端, DHCP客户使用
69 tftp Trivial File Transfer Protocol (TFTP) 小文件传输协议
90 dnsix DNSIX Security Attribute Token Map DNSIX安全属性标记图
111 sunrpc SUN Remote Procedure Call (SUN RPC) SUN公司的远程过程调用(RPC)协议, 用于远程命令执行, 被网络文件系统(NFS)使用 
123 ntp Network Time Protocol (NTP) 网络时间协议,蠕虫病毒会利用
137 netbios-ns NETBIOS Name Service NETBIOS名称服务
138 netbios-dgm NETBIOS Datagram Service NETBIOS数据报服务
139 netbios-ssn NETBIOS Session Service NETBIOS会话服务
161 snmp SNMP 简单网络管理协议
162 snmptrap SNMPTRAP SNMP陷阱
177 xdmcp X Display Manager Control Protocol (XDMCP) X显示管理器控制协议
434 mobilip-ag MobileIP-Agent 移动IP代理
435 mobilip-mn MobileIP-MN 移动IP管理
512 biff Mail notify 异步邮件,可用来通知用户有邮件到达
513 who Who 登录的用户列表
514 syslog Syslog UNIX系统日志服务
517 talk Talk 远程对话服务器和客户端
520 rip Routing Information Protocol RIP路由协议

二、ACL配置

1、案例

     通过配置ACL禁止客户机1访问FTP服务,允许客户机2正常访问

华为网络配置(ACL)

2、配置过程

(1)AR1

华为网络配置(ACL)

华为网络配置(ACL)

华为网络配置(ACL)

(2)AR2

华为网络配置(ACL)

(3)L2-SW1

华为网络配置(ACL)

3、测试

(1)FTP

华为网络配置(ACL)

(2)客户机1

华为网络配置(ACL)

华为网络配置(ACL)

(3)客户机2

华为网络配置(ACL)

华为网络配置(ACL)

结语

     ACL作为一个过滤器,设备通过应用ACL来阻止和允许特定流量的流入和流出,如果没有它,任何流量都会*流入和流出,使得网络容易受到攻击

上一篇:TCP常见知识点整理


下一篇:.NET应用程序管理服务AMS设计