B模块 安全通信网络 第一门课 园区网实现与安全-2-ACL

今日目标

01 ACL概述

02 ACL原理

03 基本ACL配置

04 高级ACL配置

05 高级ACL之ICMP

06 基本ACL之Telnet


1 ACL概述

安全问题日益严峻

  • 随着网络的飞速发展,网络安全问题日益突出
    √ 企业重要服务器资源被随意访问,机密信息容易泄露,存在安全隐患
    √ Internet病毒肆意侵略企业内网,内网环境的安全性堪忧
    √ 网络带宽被各类业务占用,导致重要的业务带宽得不到保障
    √ 如何提高网络安全性和服务质量,如何对网络中数据报文进行过滤和控制?
  • ACL(Access Control List),访问控制列表
    √ ACL是一个包含了多个"规则"的列表
    √ 不同规则通过"规则号"进行区分
    √ 每条"规则"都包含:动作+条件两部分内容
    √ 动作分为:允许(permit)和拒绝(deny)
    √ 条件分为:地址和端口等···
    √ ACL可以对网络中数据报文进行识别和控制、防止攻击和提高带宽利用率,保障网络的安全性和可靠性

ACL应用场景

  • 企业需求:
    √ 为保证财务数据安全,禁止行政部门访问财务服务器,允许总裁办访问
    √ 禁止PC1访问财务服务器,允许P℃2访问财务服务器
  • 解决方案
    √ 配置ACL,控制数据包转发

02 ACL原理

ACL组成

  • ACL编号
    √ ACL编号:每个ACL都需要分配一个编号,用来标识ACL
  • 规则:
    √ 一个ACL通常由若干条"permit/deny"语句组成,每条语句就是一条规则
  • 规则编号:
    √ 每条规则都有一个的编号,用来标识ACL规则,
    √ 规则编号可以自定义,也可以自动分配。
    √ 规则的编号范围是0~4294967294,所有规则均按照规则编号从小到大进行排序
  • 动作:
    √ permit指"允许",deny指"拒绝"
  • 匹配项:
    √ ACL定义了极其丰富的匹配项
    √ 如:二层的MAC地址、三层的P地址和协议号、四层的TCP/UDP端口号等。

ACL命令解析

  • ACL配置命令举例
    √ acl 2000
    rule 10 permit source 192.168.1.1 0.0.0.0
    ・ACL命令解析
    √ 2000:表示的是"ACL的名字",可以通过ID表示,也可通过字符表示
    √ rule:表示的是"规则"
    √ 10:表示的是"规则号",取值范围是0-4294967294
    √ Permit:表示的是动作-允许;(deny表示的是动作-拒绝)
    √ Source:表示当前的"规则"检查的是数据包的"源"地址
    √ 192.168.1.1:表示的是"源P地址段"
    √ 0.0.0.0:表示的是"与源P地址对应的通配符掩码"

ACL通配符

  • 通配符
    √ 通配符是一个32比特长度的数值,用于标识P地址中,哪些比特位需要匹配,哪些比特位无需匹配
    √ 通配符通常采用类似网络掩码的点分十进制形式表示,但是含义与网络掩码不同
  • 匹配规则:
    √ 0表示严格匹配
    √ 1表示任意
  • 如何匹配192.168.1.1/24对应网段的地址

ACL配置机制

  • ACL配置顺序
    √ 根据ACL规则编号从小到大匹配(编号越小越优先被匹配)
  • ACL配置机制
    √ 匹配即停止
    √ 如果没有匹配到第一条规则,向下查找第二条规则,如果匹配,则按照第二条规则的动作去执行
    √ 如果所有的规则都无法匹配,则执行隐含规则

ACL的应用

  • ACL的应用位置

ACL类型

  • 基本ACL:
    √ 只能匹配"源P地址"
    √ 匹配数据不精准
    √ ACL的D取值范围是:2000-2999
  • 高级ACL:
    √ 可以匹配:源和目的P地址、协议号、源和目的端口号等
    √ 匹配的数据更加精准
    √ ACL的D取值范围是:3000-3999

03 基本ACL配置

配置思路

  • 企业需求:禁止PC1访问财务服务器,允许PC2访问

ACL配置命令

√ 配置ACL

bash 复制代码
acl 2000                   #创建acl2000
rule10 deny source192.168.1.00.0.0.255     #配置acl规则
interface go/0/0
traffic-filter outbound acl 2000     #在接口上调用acl

验证与测试

·验证与测试

bash 复制代码
√ PC1>ping  192.168.100.1    不通
√ PC1>ping 192.168.2.1       通
√ PC2>ping 192.168.100.1     通

04 高级ACL配置

实验需求

  • 实验需求:
    √ 售后部主机仅仅能访问Serverl上的Web服务,不能访问其他服务
    √ 售后部主机可以访问行政部的所有设备的任何服务
    √ 除了上述权限外,售后部主机不能访问网络中的其他任何主机

配置命令

  • 配置路由条目
bash 复制代码
[R1]ip route-static 0.0.0.0 0 192.168.12.2

[R2]ip route-static 192.168.1.0 24 192.168.12.1
[R2]ip route-static 192.168.3.0 24 192.168.23.3

[R3]ip route-static 0.0.0.0 0 192.168.23.2
  • ·高级ACL配置-在R1上配置
bash 复制代码
# 配置ACL规则:
acl 3000
rule 10 permit tcp source 192.168.1.1 0 destination 192.168.3.1 0 destination-port eq 80
rule 20 permit ip source 192.168.1.1 0 destination 192.168.2.0 0.0.0.255
rule 30 deny ip source 192.168.1.1 0 destination any
# 在接口上调用ACL:
interface go/0/2
traffic-filter inbound acl 3000

验证与测试

  • 验证与测试

    √ [Rl]display acl all,查看设备上所有的AcL

    √ [Rl]display traffic-filter applied-record,查看设备上已经被调用的ACL

    √ PCl通过http客户端访问Server1.,成功

    √ PC1通过ping访问Server1,失败

    √ PC1 ping PC2,成功

    √ PC1访问其他网段,失败

  • 一条ACL可以由多条"deny|permit"规则组成

  • 当一个ACL中存在多条规则时,数据的匹配顺序是按照rule号从小到大依次匹配,既:规则号越小越优先

  • 高级ACL匹配数据更加精准,适合细分业务流量的管理控制

  • 高级ACL尽量调用在距离"源设备"近的设备/接口上

05 高级ACL之ICMP

实验需求

  • 实验需求
    √ 售后部主机仅仅能ping通 Serverl,不能访问Serverl其他服务
    √ 售后部主机可以访问行政部的所有设备的任何服务
    √ 除了上述权限外,售后部主机不能访问网络中的其他任何主机

配置命令

  • 配置路由条目
bash 复制代码
[Rl]ip route-static 0.0.0.0 0 192.168.12.2
[R2]ip route-static 192.168.1.0 24 192.168.12.1
[R2]ip route-static 192.168.3.0 24 192.168.23.3
[R3]ip route-static 0.0.0.0 0 192.168.23.2
  • 配置高级ACL-在R1上配置
bash 复制代码
# 配置ACL规则:acl3000
rule 10 permit icmp source 192.168.1.1 0 destination 192.168.3.1 0
rule 20 permit ip source 192.168.1.1 0 destination 192.168.2.0 0.0.0.255
rule 30 deny ip source 192.168.1.1 0 destination any
# 在接口上调用ACL
interface gi0/0/2
traffic-filter inbound acl 3000

验证与测试

  • 验证与测试ACL
    √ [R1]display acl all ,查看设备上所有的 ACL
    √ [R1] display traffic-filterapplied-record,查看设备上已经被调用的ACL
    √ PC1通过 http客户端访问Server1,失败
    √ PC1通过 ping访问Serverl,成功
    √ PClpingPC2,成功
    √ PC1访问其他网段,失败

06 基本ACL之Telnet

实现需求

  • 为了便于设备管理,为设备开启远程管理功能,登录密码:HCIE
  • 仅仅允许R1的 192.168.1.254远程登录 R2,其他设备不可以
  • 拒绝 R1的任何IP地址远程登录 R3,其他设备都可以

配置命令

  • 配置路由条目
bash 复制代码
[Rl]ip route-static 0.0.0.0 0 192.168.12.2

[R2]ip route-static 192.168.1.0 24 192.168.12.1
[R2]ip route-static 192.168.3.0 24 192.168.23.3

[R3]ip route-static 0.0.0.0 0 192.168.23.2
  • 配置R2的远程访问功能
bash 复制代码
user-interface vty 0 4
	authentication-mode password
	 pleaseconfigure the login password (maximum length 16): HCIE
  • 配置R3的远程访问功能
bash 复制代码
user-interface vty 0 4
	authentication-mode password
		pleaseconfigure the login password (maximum length 16): HCIE
  • 配置基本ACL-在R2上配置
bash 复制代码
配置基本ACL规则:
acl2000
	rule 10 permit source 192.168.1.254 0
	
# 在虚接口上调用ACL:
user-interface vty 0 4
	acl2000 inbound
  • 配置基本ACL-在R3上配置
bash 复制代码
配置基本ACL规则:
acl2000
	rule 10 deny source 192.168.1.254 0
	rule 20 deny source 192.168.12.1 0
	rule 30 permit source any
在虚接口上调用ACL:
user-interface vty 0 4
	acl2000 inbound

验证与测试

  • 验证与测试ACL
bash 复制代码
[R2]display acl all,查看设备上所有的ACL
[R3]displayacl all,查看设备上所有的ACL
<R1>telnet-a192.168.1.254 192.168.12.2,登陆成功
<R1>telnet 192.168.12.2,登录失败
<R1>telnet 192.168.23.3,登录失败
<Rl>telnet -a192.168.1.254 192.168.23.3,登录失败
<R2>telnet 192.168.23.3.登录成功

小结

  • ACL最后有一个隐含的动作是"拒绝
  • 所有但是用 traffic-filter 调用时,ACL默认行为是"允许所有"
  • 远程登录一个设备时,设备使用"虚拟接口"-vty 接口

NTD CAMPUS DAY02 实验案例

1 基本ACL配置

2 高级ACL配置

3 高级ACL之ICMP

4 基本ACL之Telnet

1 基本ACL配置

1.1 需求

1)如图配置IP地址

2)PC1不能访问 Server

3)PC2允许访问 Server

4)允许其他所有的访问流量

1.2 方案

搭建实验环境,如图所示。

1.3 步骤

实现此案例需要按照如下步骤进行。

1)配置终端设备 - PC1

  • 地址: 192.168.1.1

    掩码: 255.255.255.0

    网关: 192.168.1.254

2)配置终端设备 - PC2

  • 地址: 192.168.2.1

    掩码: 255.255.255.0

    网关: 192.168.2.254

3)配置终端设备 - Server

  • 地址: 192.168.100.1

    掩码: 255.255.255.0

    网关: 192.168.100.254

4)配置网络设备 - R1

bash 复制代码
[R1]interface gi0/0/1   //连接 PC1
[R1-GigabitEthernet0/0/1]ip address 192.168.1.254 24     //配置IP地址
[R1-GigabitEthernet0/0/1]quit
[R1]interface gi0/0/2   //连接 PC2
[R1-GigabitEthernet0/0/2]ip address 192.168.2.254 24     //配置 IP 地址
[R1-GigabitEthernet0/0/2]quit
[R1]interface gi0/0/0   //连接 PC2
[R1-GigabitEthernet0/0/0]ip address 192.168.100.254 24     //配置 IP 地址
[R1-GigabitEthernet0/0/0]quit

5)配置 ACL

bash 复制代码
[R1]acl 2000   //创建基本 ACL
[R1-acl-basic-2000]rule 10 deny source 192.168.1.1 0.0.0.255  //拒绝源为 PC1的流量
[R1-acl-basic-2000]quit
[R1]interface g0/0/0 //连接 Server1 的接口
[R1-GigabitEthernet0/0/0]traffic-filter outbound acl 2000  //调用在端口的出方向
[R1-GigabitEthernet0/0/0]quit

6)测试

bash 复制代码
display acl all  //查看设备上所有的 ACL 
display acl 2000 //查看 ACL 2000 的内容
PC1不能ping通Server1
PC2可以ping通Server1
PC1可以ping通 PC2

2 高级ACL配置

2.1 需求

1)如图配置IP地址,配置路由,确保各设备互通

2)售后部仅仅能访问 Server1上的Web服务,不能访问其他服务

3)售后部可以访问行政部的所有设备的任何服务

4)除了上述权限外,售后部不能访问网络中的其他任何地方

2.2 方案

搭建实验环境,如图所示。

2.3 步骤

实现此案例需要按照如下步骤进行。

1)配置终端设备 -- 售后服务部

地址:192.168.1.1

掩码:255.255.255.0

网关:192.168.1.254

2)配置终端设备 -- 行政部

地址:192.168.2.1

掩码:255.255.255.0

网关:192.168.2.254

3)配置终端设备 -- Web服务器

地址:192.168.3.1

掩码:255.255.255.0

网关:192.168.3.254

配置web服务:指定web服务器目录,启动 web 服务

4)配置网络设备 -- R1

bash 复制代码
[R1]interface gi0/0/2   
[R1-GigabitEthernet0/0/2] ip address 192.168.1.254 24
[R1-GigabitEthernet0/0/2] quit 
[R1]interface gi0/0/0   
[R1-GigabitEthernet0/0/0] ip address 192.168.12.1 24
[R1-GigabitEthernet0/0/0] quit 
[R1]ip route-static 0.0.0.0 0.0.0.0 192.168.12.2  //去往其他网段的默认路由

5)配置网络设备 -- R2

bash 复制代码
[R2]interface gi0/0/2   
[R2-GigabitEthernet0/0/2] ip address 192.168.2.254 24
[R2-GigabitEthernet0/0/2] quit 
[R2]interface gi0/0/1   
[R2-GigabitEthernet0/0/1] ip address 192.168.12.2 24
[R2-GigabitEthernet0/0/1] quit 
[R2]interface gi0/0/0   //连接 R3 的接口
[R2-GigabitEthernet0/0/0] ip address 192.168.23.2 24
[R2-GigabitEthernet0/0/0] quit 
[R2]ip route-static 192.168.1.0 255.255.255.0  192.168.12.1  //去往售后部的网段
[R2]ip route-static 192.168.3.0 255.255.255.0  192.168.23.3  //去往服务器的网段

6)配置网络设备 -- R3

bash 复制代码
[R3]interface gi0/0/2  
[R3-GigabitEthernet0/0/2] ip address 192.168.3.254 24
[R3-GigabitEthernet0/0/2] quit 
[R3]interface gi0/0/1   
[R3-GigabitEthernet0/0/1] ip address 192.168.23.3 24
[R3-GigabitEthernet0/0/1] quit 
[R3]ip route-static 0.0.0.0  0.0.0.0  192.168.23.2 //去往其他网段的默认路由

7)在 R1 上配置并调用 ACL

bash 复制代码
[R1] acl 3000
[R1-acl-adv-3000]rule 10 permit tcp source 192.168.1.1 0 destination 192.168.3.1 0 destination-port eq 80
[R1-acl-adv-3000]rule 20 permit ip source 192.168.1.1 0 destination 192.168.2.0 0.0.0.255
[R1-acl-adv-3000]rule 30 deny ip source 192.168.1.1 0 destination any
[R1] interface  gi0/0/2
[R1-GigabitEthernet0/0/2] traffic-filter  inbound  acl  3000   //在该接口入向调用ACL

8)验证

bash 复制代码
[R1]display  acl  all ,查看设备上所有的 ACL
[R1] display  traffic-filter applied-record,查看设备上已经被调用的ACL
PC1通过 http 客户端访问 Server1 
PC1通过 ping 访问 Server1
PC1 ping PC2 
PC1 访问其他网段

3 高级ACL之ICMP

3.1 需求

1)如图配置IP地址

2)售后部仅仅能 ping 通 Server1上,不能访问其他服务

3)售后部可以访问行政部的所有设备的任何服务

4)除了上述权限外,售后部不能访问网络中的其他任何地方

3.2 方案

搭建实验环境,如图所示。

3.3 步骤

实现此案例需要按照如下步骤进行。

1)配置终端设备 -- 售后服务部

地址:192.168.1.1

掩码:255.255.255.0

网关:192.168.1.254

2)配置终端设备 -- 行政部

地址:192.168.2.1

掩码:255.255.255.0

网关:192.168.2.254

3)配置终端设备 -- Web服务器

地址:192.168.3.1

掩码:255.255.255.0

网关:192.168.3.254

配置web服务:指定web服务器目录,启动 web 服务

4)配置网络设备 -- R1

bash 复制代码
[R1]interface gi0/0/2  
[R1-GigabitEthernet0/0/2] ip address 192.168.1.254 24
[R1-GigabitEthernet0/0/2] quit 
[R1]interface gi0/0/0  
[R1-GigabitEthernet0/0/0] ip address 192.168.12.1 24
[R1-GigabitEthernet0/0/0] quit 
[R1]ip route-static 0.0.0.0 0.0.0.0 192.168.12.2  

5)配置网络设备 -- R2

bash 复制代码
[R2]interface gi0/0/2  
[R2-GigabitEthernet0/0/2] ip address 192.168.2.254 24
[R2-GigabitEthernet0/0/2] quit 
[R2]interface gi0/0/1   
[R2-GigabitEthernet0/0/1] ip address 192.168.12.2 24
[R2-GigabitEthernet0/0/1] quit 
[R2]interface gi0/0/0   
[R2-GigabitEthernet0/0/0] ip address 192.168.23.2 24
[R2-GigabitEthernet0/0/0] quit 
[R2]ip route-static 192.168.1.0 255.255.255.0  192.168.12.1  
[R2]ip route-static 192.168.3.0 255.255.255.0  192.168.23.3  

6)配置网络设备 -- R3

bash 复制代码
[R3]interface gi0/0/2   
[R3-GigabitEthernet0/0/2] ip address 192.168.3.254 24
[R3-GigabitEthernet0/0/2] quit 
[R3]interface gi0/0/1  
[R3-GigabitEthernet0/0/1] ip address 192.168.23.3 24
[R3-GigabitEthernet0/0/1] quit 
[R3]ip route-static 0.0.0.0  0.0.0.0  192.168.23.2 

7)在 R1 上配置并调用 ACL

bash 复制代码
[R1] acl 3000
[R1-acl-adv-3000]rule 10 permit icmp source 192.168.1.1 0 destination 192.168.3.1 0 
[R1-acl-adv-3000]rule 20 permit ip source 192.168.1.1 0 destination 192.168.2.0 0.0.0.255
[R1-acl-adv-3000]rule 30 deny ip source 192.168.1.1 0 destination any
[R1] interface  gi0/0/2
[R1-GigabitEthernet0/0/2] traffic-filter  inbound  acl  3000 //在该接口入向调用ACL 

8)验证

bash 复制代码
[R1]display  acl  all ,查看设备上所有的 ACL
[R1] display  traffic-filter applied-record,查看设备上已经被调用的ACL
PC1通过 http 客户端访问 Server1 
PC1通过 ping 访问 Server1
PC1 ping PC2 
PC1 访问其他网段

4 基本ACL之Telnet

4.1 需求

1)如图配置IP地址,配置路由,确保各设备互通

2)为了便于设备管理,为设备开启远程管理功能,登录密码:HCIE

3)仅仅允许 192.168.1.254 远程登录 R2,其他设备不可以

4)拒绝 R1的任何IP地址远程登录 R3,其他设备都可以

4.2 方案

搭建实验环境,如图所示。

4.3 步骤

实现此案例需要按照如下步骤进行。

1)配置终端设备 -- 售后服务部

地址:192.168.1.1

掩码:255.255.255.0

网关:192.168.1.254

2)配置终端设备 -- 行政部

地址:192.168.2.1

掩码:255.255.255.0

网关:192.168.2.254

3)配置终端设备 -- Web服务器

地址:192.168.3.1

掩码:255.255.255.0

网关:192.168.3.254

配置web服务:指定web服务器目录,启动 web 服务

4)配置网络设备 -- R1

bash 复制代码
[R1]interface gi0/0/2   
[R1-GigabitEthernet0/0/2] ip address 192.168.1.254 24
[R1-GigabitEthernet0/0/2] quit 
[R1]interface gi0/0/0   
[R1-GigabitEthernet0/0/0] ip address 192.168.12.1 24
[R1-GigabitEthernet0/0/0] quit 
[R1]ip route-static 0.0.0.0 0.0.0.0 192.168.12.2 

5)配置网络设备 -- R2

bash 复制代码
[R2]interface gi0/0/2   
[R2-GigabitEthernet0/0/2] ip address 192.168.2.254 24
[R2-GigabitEthernet0/0/2] quit 
[R2]interface gi0/0/1   
[R2-GigabitEthernet0/0/1] ip address 192.168.12.2 24
[R2-GigabitEthernet0/0/1] quit 
[R2]interface gi0/0/0   
[R2-GigabitEthernet0/0/0] ip address 192.168.23.2 24
[R2-GigabitEthernet0/0/0] quit 
[R2]ip route-static 192.168.1.0 255.255.255.0  192.168.12.1  
[R2]ip route-static 192.168.3.0 255.255.255.0  192.168.23.3  
[R2]user-interface vty  0 4    
[R2-ui-vty0-4]authentication-mode password     
Please configure the login password (maximum length 16):HCIE
[R2-ui-vty0-4]user privilege level 15
[R2-ui-vty0-4]protocol inbound all

6)配置网络设备 -- R3

bash 复制代码
[R3]interface gi0/0/2   
[R3-GigabitEthernet0/0/2] ip address 192.168.3.254 24
[R3-GigabitEthernet0/0/2] quit 
[R3]interface gi0/0/1   
[R3-GigabitEthernet0/0/1] ip address 192.168.23.3 24
[R3-GigabitEthernet0/0/1] quit 
[R3]ip route-static 0.0.0.0  0.0.0.0  192.168.23.2 
[R3]user-interface vty  0 4    
[R3-ui-vty0-4]authentication-mode password    
Please configure the login password (maximum length 16):HCIE 
[R2-ui-vty0-4]user privilege level 15  
[R2-ui-vty0-4]protocol inbound all

7)在 R2 上配置并调用 ACL

bash 复制代码
[R2]acl 2000    
[R2-acl-basic-2000]rule 10 permit source  192.168.1.254 0
[R2-acl-basic-2000]quit
[R2]user-interface vty  0 4
[R2-ui-vty0-4]acl 2000 inbound 
[R2-ui-vty0-4]quit

8)在 R3 上配置并调用 ACL

bash 复制代码
[R3]acl 2000
[R3-acl-basic-2000]rule 10 deny source 192.168.1.254 0
[R3-acl-basic-2000]rule 20 deny  source  192.168.12.1 0 
[R3-acl-basic-2000]rule 30 permit source any 
[R3-acl-basic-2000]quit
    
[R3]user-interface vty  0 4
[R3-ui-vty0-4]acl 2000 inbound 
[R3-ui-vty0-4]quit

9)验证-测试远程连接

相关推荐
爬山算法1 小时前
Redis(135)Redis的网络模型是什么?
网络·数据库·redis
海域云-罗鹏1 小时前
电商掘金日本:SDWAN专线刚需原因
服务器·网络·网络协议
2501_941149502 小时前
数据隐私与安全:数字化时代的护城河与挑战
网络
WayneJoon.H3 小时前
Java反序列化 CC7链分析
java·安全·网络安全·cc链·反序列化
三七吃山漆3 小时前
攻防世界——easy_web
安全·网络安全·web·ctf
努力的小帅3 小时前
Linux_进程控制(Linux入门到精通)
linux·网络·shell·进程创建·linux入门
前端小L3 小时前
图论专题(十八):“逆向”拓扑排序——寻找图中的「最终安全状态」
数据结构·算法·安全·深度优先·图论·宽度优先
发光小北4 小时前
SG-TCP-Profibus (M)(ModbusTCP 转 Profibus DP 网关)
网络·网络协议·tcp/ip
q***42824 小时前
IPV6公网暴露下的OPENWRT防火墙安全设置(只允许访问局域网中指定服务器指定端口其余拒绝)
服务器·安全·php