访问控制列表ACL

✍作者:柒烨带你飞
💪格言:生活的情况越艰难,我越感到自己更坚强;我这个人走得很慢,但我从不后退。
📜系列专栏:网络安全从菜鸟到飞鸟的逆袭


一,ACL 基本概念

ACL文档
ACL配置
1、概述
访问控制列表(ACL)是一种基于包过滤的访问控制技术,它可以根据设定的条件对接口上的数据包进行过滤,允许其通过或丢弃。访问控制列表被广泛地应用于路由器和三层交换机,借助于访问控制列表,可以有效地控制用户对网络的访问,从而最大程度地保障网络安全(数据包的五元组:源IP、目标IP、源端口、目标端口、协议)。
读取第三层(源IP和目的IP)、第四层包头(源端口和目的端口)信息。
根据预先走义好的规则对包进行过滤。
2、工作原理
ACL是由一条或多条规则组成的集合。所谓规则,是指描述报文匹配条件的判断语句,这些条件可以是报文的源地址,目的地址,端口号等。如果规则拒绝,组织报文转发,如果规则允许,则报文正常转发
在这里插入图片描述

  1. ACL的组成
    • 在这里插入图片描述

    • ACL编号:用于标识ACL,表明该ACL是数字型ACL。

      • 根据ACL规则功能的不同,ACL被划分为基本ACL、高级ACL、二层ACL和用户ACL这几种类型,每类ACL编号的取值范围不同。关于每类ACL编号的详细介绍,请参见ACL的分类。 除了可以通过ACL编号标识ACL,设备还支持通过名称来标识ACL,就像用域名代替IP地址一样,更加方便记忆。这种ACL,称为命名型ACL。 命名型ACL实际上是“名字+数字”的形式,可以在定义命名型ACL时同时指定ACL编号。如果不指定编号,则由系统自动分配。例如,下面就是一个既有名字“deny-telnet-login”又有编号“3998”的ACL。

      rule 0 deny tcp source 10.152.0.0 0.0.63.255 destination 10.64.0.97 0 destination-port eq telnet
      rule 5 deny tcp source 10.242.128.0 0.0.127.255 destination 10.64.0.97 0 destination-port eq telnet ```

    • 规则:即描述报文匹配条件的判断语句。

    • 规则编号:用于标识ACL规则。可以自行配置规则编号,也可以由系统自动分配。 ACL规则的编号范围是0~4294967294,所有规则均按照规则编号从小到大进行排序。所以,图1-2中的rule 5排在首位,而规则编号最大的rule 4294967294排在末位。系统按照规则编号从小到大的顺序,将规则依次与报文匹配,一旦匹配上一条规则即停止匹配。

    • 动作:包括permit/deny两种动作,表示允许/拒绝。

    • 匹配项:ACL定义了极其丰富的匹配项。除了图1-2中的源地址和生效时间段,ACL还支持很多其他规则匹配项。例如,二层以太网帧头信息(如源MAC、目的MAC、以太帧协议类型)、三层报文信息(如目的地址、协议类型)以及四层报文信息(如TCP/UDP端口号)等。

分类适用的IP版本规则定义描述编号范围
基本ACLIPv4仅使用报文的源IP地址、分片信息和生效时间段信息来定义规则2000 - 2999
高级ACLIPv4既可使用IPV4报文的源IP地址,也可使用目的IP地址、IP协议类型、ICMP类型、TCP源/目的端口、UDP源/目的端口号、生效时间段等来定义规则3000 - 39999
二层ACLIPv4&IPv6使用报文的以太网帧头信息来定义规则,如根据源MAC(Media Access Control)地址、目的MAC地址、二层协议类型等4000 - 49999
用户自定义ACLIPv4&IPv6使用报文头、偏移位置、字符串掩码和用户自定义字符串来定义规则,即以报文头为基准,指定从报文的第几个字节开始与字符串掩码进行"与"操作,并将提取出的字符串与用户自定义的字符串进行比较,从而过滤出相匹配的报文5000 - 59999
用户ACLIPv4既可使用IPV4报文的源IP地址,也可使用目的IP地址、IP协议类型、ICMMP类型、TCP源端口/目的端口、UDP源端口/目的端口号等来定义规则6000 - 6031
基本ACL6IPv6可使用IPv6报文的源IPV6地址、分片信息和生效时间段来定义规则2000 - 29999
高级ACL6IPv6可以使用IPv6报文的源IPV6地址、目的IPv6地址、IPv6协议类型、ICMPV6类型、TCP源/目的端口、UDP源/目的端口号、生效时间段等来定义规则3000 - 39999

二,示例

基本ACL(IPv4)示例

假设要阻止来自192.168.1.0/24网段的所有IP访问设备,可进行如下配置:

# 创建基本ACL 2000
acl number 2000
# 配置规则,拒绝源IP为192.168.1.0/24网段的流量
rule deny source 192.168.1.0 0.0.0.255

高级ACL(IPv4)示例

若要允许192.168.1.0/24网段的设备访问192.168.2.0/24网段的Web服务(TCP 80端口),但拒绝其他所有访问,配置如下:

# 创建高级ACL 3000
acl number 3000
# 配置规则,允许源IP为192.168.1.0/24网段,目的IP为192.168.2.0/24网段且目的端口为80的TCP流量
rule permit tcp source 192.168.1.0 0.0.0.255 destination 192.168.2.0 0.0.0.255 destination-port eq 80
# 配置规则,拒绝其他所有流量
rule deny ip

二层ACL示例

若要阻止MAC地址为00-01-02-03-04-05的设备通过交换机转发数据,配置如下:

# 创建二层ACL 4000
acl number 4000
# 配置规则,拒绝源MAC地址为00-01-02-03-04-05的流量
rule deny source-mac 0001-0203-0405

用户自定义ACL示例

假设要匹配特定报文头字符串来过滤流量,配置如下:

# 创建用户自定义ACL 5000
acl number 5000
# 配置规则,从报文头第10个字节开始,与字符串掩码000000000000FFFF进行“与”操作,
# 并将提取出的字符串与自定义字符串0000000000000001进行比较,匹配则拒绝
rule deny packet-filter offset 10 mask 000000000000FFFF text 0000000000000001

用户ACL示例

要允许192.168.1.0/24网段的设备访问192.168.2.0/24网段的SSH服务(TCP 22端口),配置如下:

# 创建用户ACL 6000
acl number 6000
# 配置规则,允许源IP为192.168.1.0/24网段,目的IP为192.168.2.0/24网段且目的端口为22的TCP流量
rule permit tcp source 192.168.1.0 0.0.0.255 destination 192.168.2.0 0.0.0.255 destination-port eq 22

基本ACL6(IPv6)示例

阻止来自2001:db8::/32网段的IPv6流量访问设备,配置如下:

# 创建基本ACL6 2000
acl6 number 2000
# 配置规则,拒绝源IPv6地址为2001:db8::/32网段的流量
rule deny source 2001:db8::/32

高级ACL6(IPv6)示例

允许2001:db8:1::/64网段的设备访问2001:db8:2::/64网段的DNS服务(UDP 53端口),配置如下:

# 创建高级ACL6 3000
acl6 number 3000
# 配置规则,允许源IPv6地址为2001:db8:1::/64网段,目的IPv6地址为2001:db8:2::/64网段且目的端口为53的UDP流量
rule permit udp source 2001:db8:1::/64 destination 2001:db8:2::/64 destination-port eq 53

不同厂商设备的ACL配置命令和语法可能有所差异,实际应用中需参考对应设备的操作手册。

博主的其他系列专栏📜📜📜

创作不易,😊如果觉得文章不错或能帮助到你学习,可以点赞👍收藏📁评论📒+关注哦!留下你的看法和建议💕
我们下期见✍️

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值