Packet Tracer - 配置 IP ACL 来缓解攻击
拓扑图
地址分配表
设备 | 接口 | IP 地址 | 子网掩码 | 默认网关 | 交换机端口 |
R1 | G0/1 | 192.168.1.1 | 255.255.255.0 | 不适用 | S1 F0/5 |
S0/0/0 (DCE) | 10.1.1.1 | 255.255.255.252 | 不适用 | 不适用 | |
R2 | S0/0/0 | 10.1.1.2 | 255.255.255.252 | 不适用 | 不适用 |
S0/0/1 (DCE) | 10.2.2.2 | 255.255.255.252 | 不适用 | 不适用 | |
Lo0 | 192.168.2.1 | 255.255.255.0 | 不适用 | 不适用 | |
R3 | G0/1 | 192.168.3.1 | 255.255.255.0 | 不适用 | S3 F0/5 |
S0/0/1 | 10.2.2.1 | 255.255.255.252 | 不适用 | 不适用 | |
PC-A | NIC | 192.168.1.3 | 255.255.255.0 | 192.168.1.1 | S1 F0/6 |
PC-C | NIC | 192.168.3.3 | 255.255.255.0 | 192.168.3.1 | S3 F0/18 |
目标
· 在配置防火墙之前先验证设备之间的连接。
· 使用 ACL,确保只能 从管理站 PC-C 远程访问路由器。
· 在 R1 和 R3 上配置 ACL 以缓解攻击。
· 验证 ACL 功能。
背景/场景
只允许 从管理站 PC-C 访问路由器 R1、R2 和 R3。PC-C 还可用于 PC-A 的连接测试 ,PC-A 是提供 DNS、SMTP、FTP 和 HTTPS 服务的服务器。
标准操作程序是在边缘 路由器上应用 ACL,以根据源和目的 IP 地址缓解常见威胁。 在本练习中,您需要在边缘路由器 R1 和 R3 上创建 ACL 以实现 此目标。然后,您需要验证内部和外部 主机的 ACL 功能。
路由器已采用以下信息进行预配置:
o 启用 密码:ciscoenpa55
o 控制台 密码:ciscoconpa55
o SSH 登录 用户名和密码:SSHadmin/ciscosshpa55
o IP 寻址
o 静态路由
第1 部分:验证基本网络连接
在配置 IP ACL 之前先验证网络连接。
步骤 1: 从 PC-A 验证与 PC-C 和 R2 的连接。
- 在命令提示符后,对 PC-C (192.168.3.3) 执行 ping 操作。
b. 在命令提示符后,使用用户名 SSHadmin 和密码 ciscosshpa55 与 R2 Lo0 接口 (192.168.2.1) 建立 SSH 会话。 完成后,退出 SSH 会话。
SERVER> ssh -l SSHadmin 192.168.2.1
步骤 2: 从 PC-C 验证与 PC-A 和 R2 的连接。
- 在命令提示符后,对 PC-A (192.168.1.3) 执行 ping 操作。
- 在命令提示符后,使用用户名 SSHadmin 和密码 ciscosshpa55 与 R2 Lo0 接口 (192.168.2.1) 建立 SSH 会话。 完成后关闭 SSH 会话。
C:\>ssh -l SSHadmin 192.168.2.1
- 打开 PC-A 服务器 (192.168.1.3) 的 Web 浏览器以显示 网页。完成后关闭浏览器。
第 2 部分:保护路由器访问的安全
步骤 1: 配置 ACL 10 以阻止除 PC-C 以外对路由器的所有远程访问。
使用 access-list 命令在 R1、R2 和 R3 上创建带编号的 IP ACL。
R1(config)#access-list 10 permit host 192.168.3.3
R2(config)#access-list 10 permit host 192.168.3.3
R3(config)# access-list 10 permit host 192.168.3.3
步骤 2: 向 VTY 线路上的入口流量应用 ACL。
使用 access-class 命令,将该访问 列表应用到 VTY 线路上的入口流量
R1(config)#line vty 0 4
R1(config-line)#access-class 10 in
R2(config)#line vty 0 4
R2(config-line)#access-class 10 in
R3(config)#line vty 0 4
R3(config-line)#access-class 10 in
步骤 3: 验证来自管理站 PC-C 的独占访问。
- 建立从 PC-C 到 192.168.2.1 的 SSH 会话(应该 成功)。
- 建立从 PC-A 到 192.168.2.1 的 SSH 会话(应该失败)。
第 3 部分:在 R1 上创建 编号为 120 的 IP ACL
使用以下规则 创建编号为 120 的 IP ACL:
o 允许任何外部主机访问服务器 PC-A 上的 DNS、SMTP 和 FTP 服务。
o 拒绝任何 外部主机访问 PC-A 上的 HTTPS 服务。
o 允许 PC-C 通过 SSH 访问 R1。
注意:在第 4 部分中进行修改之前,检查结果不显示 ACL 120 的正确 配置。
步骤 1: 验证 PC-C 是否可使用 Web 浏览器通过 HTTPS 访问 PC-A。
务必在 PC-A 上禁用 HTTP 并启用 HTTPS。
步骤 2: 配置 ACL 120 以明确允许和拒绝指定的流量。
使用 access-list 命令创建带编号的 IP ACL。
R1(config)#access-list 120 permit udp any host 192.168.1.3 eq domain
R1(config)#access-list 120 permit tcp any host 192.168.1.3 eq smtp
R1(config)#access-list 120 permit tcp any host 192.168.1.3 eq ftp
R1(config)#access-list 120 deny tcp any host 192.168.1.3 eq 443
R1(config)#access-list 120 permit tcp host 192.168.3.3 host 10.1.1.1 eq 22
步骤 3: 将 ACL 应用到接口 S0/0/0。
使用 ip access-group 命令将该访问 列表应用到接口 S0/0/0 上的传入流量。
R1(config)#interface s0/0/0
R1(config-if)#ip access-group 120 in
步骤 4: 验证 PC-C 无法使用 Web 浏览器通过 HTTPS 访问 PC-A。
第 4 部分:在 R1 上修改 现有 ACL
允许来自外部网络的 ICMP 回应应答和目的地不可达消息(相对于 R1 )。拒绝所有其他 传入的 ICMP 数据包。
R1(config)#access-list 120 permit icmp any any echo-reply
R1(config)#access-list 120 permit icmp any any unreachable
R1(config)#access-list 120 permit ip any any
R1(config)#access-list 120 deny icmp any any
步骤 1: 验证 PC-A 无法成功 ping 通 R2 上的环回接口。
步骤 2: 对 ACL 120 进行任何必要的更改,以允许和拒绝指定的 流量。
使用 access-list 命令创建带编号的 IP ACL。
R1(config)#access-list 120 permit udp any host 192.168.1.3 eq domain
R1(config)#access-list 120 permit tcp any host 192.168.1.3 eq smtp
R1(config)#access-list 120 permit tcp any host 192.168.1.3 eq ftp
R1(config)#access-list 120 permit tcp host 192.168.3.3 host 10.1.1.1 eq 22
R1(config)#access-list 120 deny tcp any host 192.168.1.3 eq 443
步骤 3: 验证 PC-A 可成功 ping 通 R2 上的环回接口。
第 5 部分:在 R3 上创建 编号为 110 的 IP ACL
拒绝源地址超出 R3 上的内部 IP 地址范围的所有出站数据包。
步骤 1: 将 ACL 110 配置为只允许来自内部网络的流量。
使用 access-list 命令创建带编号的 IP ACL。
R3(config)#access-list 110 permit ip 192.168.3.0 0.0.0.255 any
步骤 3: 将 ACL 应用到接口 G0/1。
使用 ip access-group 命令将该访问 列表应用到接口 G0/1 上的传入流量。
R3(config)#interface g0/1
R3(config-if)#ip access-group 110 in
第 6 部分:在 R3 上创建 编号为 100 的 IP ACL
在 R3 上,阻止来自以下地址池的包含源 IP 地址的所有数据包:任何 RFC 1918 专用地址、127.0.0.0/8 以及任何 IP 组播地址。由于 PC-C 将用于远程 管理,因此允许将来自 10.0.0.0/8 网络的 SSH 流量返回到 主机 PC-C。
步骤 1: 将 ACL 100 配置为阻止来自外部 网络的所有指定流量。
如果不是 RFC 1918 地址,您还应阻止来自您自己的 内部地址空间的流量。在本练习中,您的 内部地址空间是 RFC 1918 中指定的专用地址空间的一部分。
使用 access-list 命令创建带编号的 IP ACL。
R3(config)#access-list 100 permit tcp 10.0.0.0 0.255.255.255 eq 22 host 192.168.3.3
R3(config)#access-list 100 deny ip 10.0.0.0 0.255.255.255 any
R3(config)#access-list 100 deny ip 172.16.0.0 0.15.255.255 any
R3(config)#access-list 100 deny ip 192.168.0.0 0.0.255.255 any
R3(config)#access-list 100 deny ip 127.0.0.0 0.255.255.255 any
R3(config)#access-list 100 deny ip 224.0.0.0 15.255.255.255 any
R3(config)#access-list 100 permit ip any any
步骤 2: 将 ACL 应用到接口 Serial 0/0/1。
使用 ip access-group 命令将该访问 列表应用到串行接口 0/0/1 上的传入流量。
R3(config)#interface s0/0/1
R3(config-if)#ip access-group 100 in
步骤 3: 确认已正确处理 进入串行接口 0/0/1 的指定流量。
- 在 PC-C 命令提示符后,对 PC-A 服务器执行 ping 操作。ICMP 回应 应答被 ACL 阻止,因为它们源自 192.168.0.0/16 地址空间。
- 建立从 PC-C 到 192.168.2.1 的 SSH 会话(应该 成功)。
步骤 4: 检查结果。
完成比例应为 100%。点击 CheckResults(检查结果)以查看反馈 并验证已完成的所需组件。
实验具体步骤:
R1:
R1>en
Password:
R1#conf
Configuring from terminal, memory, or network [terminal]?
Enter configuration commands, one per line. End with CNTL/Z.
R1(config)#access-list 10 permit host 192.168.3.3
R1(config)#line vty 0 4
R1(config-line)#access-class 10 in
R1(config-line)#exit
R1(config)#access-list 120 permit udp any host 192.168.1.3 eq domain
R1(config)#access-list 120 permit tcp any host 192.168.1.3 eq smtp
R1(config)#access-list 120 permit tcp any host 192.168.1.3 eq ftp
R1(config)#access-list 120 deny tcp any host 192.168.1.3 eq 443
R1(config)#access-list 120 permit tcp host 192.168.3.3 host 10.1.1.1 eq 22
R1(config)#interface s0/0/0
R1(config-if)#ip access-group 120 in
R1(config-if)#exit
R1(config)#access-list 120 permit icmp any any echo-reply
R1(config)#access-list 120 permit icmp any any unreachable
R1(config)#access-list 120 deny icmp any any
R1(config)#access-list 120 permit ip any any
R1(config)#
R2:
R2>en
Password:
R2#conf
Configuring from terminal, memory, or network [terminal]?
Enter configuration commands, one per line. End with CNTL/Z.
R2(config)#access-list 10 permit host 192.168.3.3
R2(config)#line vty 0 4
R2(config-line)#access-class 10 in
R3:
R3>en
Password:
R3#conf
Configuring from terminal, memory, or network [terminal]?
Enter configuration commands, one per line. End with CNTL/Z.
R3(config)# access-list 10 permit host 192.168.3.3
R3(config)#line vty 0 4
R3(config-line)#access-class 10 in
R3(config-line)#exit
R3(config)#access-list 110 permit ip 192.168.3.0 0.0.0.255 any
R3(config)#interface g0/1
R3(config-if)#ip access-group 110 in
R3(config-if)#exit
R3(config)#access-list 100 permit tcp 10.0.0.0 0.255.255.255 eq 22 host 192.168.3.3
R3(config)#access-list 100 deny ip 10.0.0.0 0.255.255.255 any
R3(config)#access-list 100 deny ip 172.16.0.0 0.15.255.255 any
R3(config)#access-list 100 deny ip 192.168.0.0 0.0.255.255 any
R3(config)#access-list 100 deny ip 127.0.0.0 0.255.255.255 any
R3(config)#access-list 100 deny ip 224.0.0.0 15.255.255.255 any
R3(config)#access-list 100 permit ip any any
R3(config)#interface s0/0/1
R3(config-if)#ip access-group 100 in
实验链接:https://pan.baidu.com/s/13VfrxjqYg9BUzD6Xt6RkMw?pwd=4125
提取码:4125
--来自百度网盘超级会员V2的分享