热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

第10章网络安全(5)_访问控制列表ACL

6.访问控制列表ACL6.1标准访问控制列表(1)标准ACL①标准ACL是基于IP数据包的源IP地址作为转发或是拒绝的条件。即,所有的条件都是基于源IP地址的。②基本不允许或拒绝整个协议组

6. 访问控制列表ACL

6.1 标准访问控制列表

(1)标准ACL

  ①标准ACL是基于IP数据包的源IP地址作为转发或是拒绝的条件。即,所有的条件都是基于源IP地址的。

  ②基本不允许或拒绝整个协议组。它不区分IP流量类型。如Telnet、UDP等服务。

(2)实战:只允许部分计算机访问Internet

 

  ①目标: 在Router0上定义标准ACL,只允许市场部(PC7例外)和财务部的计算机能够访问Internet。而服务器组中的计算机拒绝访问Internet

  ②在Router0的S3/0接口的出站访问控制

Router>en
Router#config t
//进入全局配置模式
Router(config)#access-list ?
<1-99> IP standard access list //标准ACL的编号范围是1-99
<100-199> IP extended access list //扩展ACL的编号范围是100-199

//1. 在Router0上创建标准ACL,列表编号为10(可以是1-99之间的任何值)。
// A.允许192.168.2.0/24、192.168.1.0/24两个网段的数据包通过,注意使用
// 的是反转掩码
// B.控制列表的any与反转掩码0.0.0.0等价
// C.路由器在应用访问控制列表的规则时顺序很重要,它会从上到下检查,如
// 果匹配就不再检查ACL后面的设置。其原则是更加具体的地址放最前面。因
// 此被拒绝的主机要放前面,允许的放后面。ACL的最后一条会默认为拒绝所有!
// D.删除某个10号列表:Router(config)#no access-list 10
Router(config)#access-list 10 deny host 192.168.2.2 //第1条,要先写!
Router(config)#access-list 10 permit 192.168.2.0 0.0.0.255 //第2条
Router(config)#access-list 10 permit 192.168.1.0 0.0.0.255 //第3条
Router(config)#exit

Router#show access
-list 10 //查看ACL的10号列表
Standard IP access list 10
deny host
192.168.2.2 //第1条
permit 192.168.2.0 0.0.0.255 //第2条
permit 192.168.1.0 0.0.0.255 //第3条
Router(config)#access-list 10 permit 192.168.2.0 0.0.0.255
Router(config)#access
-list 10 permit 192.168.1.0 0.0.0.255

//2. 将ACL10绑定到Router0的S3/0出口
Router(config)#interface serial 3/0
Router(config
-if)#ip access-group 10 ?
in inbound packets //in 表示进入接口时检查
out outbound packets //out 表示出接口时检查
Router(config-if)#ip access-group 10 out //将列表绑定到S3/0出口
//取消绑定:no ip access-group 10 out
Router(config-if)#

  ③测试,分别从PC3、PC4、PC7和服务器组的ftp主机去ping 10.0.0.2。会发现PC3、PC4是会通的,但PC7和ftp主机ping不通。可见ACL列表己经完全起作用了。

6.2 扩展访问控制列表

(1)扩展ACL

  ①基于IP数据包的源地址、目标地址、协议和端口这些条件来决定是否转发数据包。

  ②比标准ACL的控制粒度更细。

  ③扩展ACL的语法:

    access-list 编号{permit | deny} {TCP | UDP} 源地址 目标地址 eq 目标端口

    access-list 编号{permit | deny} {IP | ICMP} 源地址 目标地址  //没目标端口!

【说明】如果协议是IP或ICMP,则后面没有目标端口;如果允许IP协议,就等同于允了所有TCP、UDP以及ICMP协议的流量

(2)实验环境:

 

  ①目标:在Router0定义扩展ACL,使得市场部能访问Internet,财务部只能访问Internet上的Web服务器。服务器组中的计算机能ping通Internet中任何计算机

  ②路由器上设置ACL

//1. 在Router0上创建扩展ACL
Router#conf t
Router(config)#access
-list 101 permit ip 192.168.2.0 0.0.0.255 any //市场部允许访问Internet
Router(config)#access-list 101 permit tcp 192.168.1.0 0.0.0.255 10.0.0.0 0.255.255.255 eq ?
<0-65535> Port number
ftp File Transfer Protocol (
21)
pop3 Post Office Protocol v3 (
110)
smtp Simple Mail Transport Protocol (
25)
telnet Telnet (
23)
www World Wide Web (HTTP,
80) //eq后面可以是端口或应用层协议名称!
//财务部计算机只允许访问10.0.0.0/8网段的Web服务器
Router(config)#access-list 101 permit tcp 192.168.1.0 0.0.0.255 10.0.0.0 0.255.255.255 eq 80
//服务器组的计算机只能ping internet的计算机
Router(config)#access-list 101 permit icmp 192.168.0.0 0.0.0.255 any

//2. 将扩展ACL绑定到Router0的S3/0接口
Router(config)#interface serial 3/0
Router(config
-if)#ip access-gr
Router(config
-if)#ip access-group 101 out
Router(config
-if)#exit

  ③验证扩展ACL。市场部的PC7能ping通Internet上的任何计算机(包括访问WebServer的网页)。财务部的PC2不能ping通Internet上的任何计算机,但能访问WebServer网站。服务器组的计算机能ping通Internet上任何计算机,但不能访问WebServer。

6.3 使用ACL保护路由

(1)保护路由器安全

  ①路由器一般都开启telnet功能,以便远程管理。

  ②路由器的任一接口都允许telnet,不可能为每个接口的入口都绑定ACL,可以使用标准ACL来控制访问VTY线路

(2)实战:使用ACL保护路由器安全(要事先设置Router的telnet密码和enable密码)

 

  ①目标:只允许ITG部门的计算机能够telnet中路由器Router0

  ②在Router0上创建标准ACL,并绑定到VTY线路。

Router#conf t
Router(config)#access
-list 12 permit 192.168.1.0 0.0.0.255 //定义ACL,只允许192.168.1.0/24网段
Router(config)#line vty 0 15 //进入VTY虚接口,0和15分别表示起始和结束的vty的0-15号接口。
Router(config
-line)#access-class 12 in //将编号为12的ACL绑定到vty
Router(config-line)#

  ③验证:在PC7上telnet 192.168.2.1会失败。但PC3上telnet 192.168.1.1会成功,只要输入正确的telnet密码和enable密码。

6.4 访问控制列表的位置

(1)标准ACL:尽可能靠近目的地址的位置。这是因为我们并不真正的要在自己的网络内使用表内的控制规则。不能将标准ACL放置在靠近源主机的位置,因为这样会过滤基于源地址的流量,而导致不能转发任何流量。

(2)扩展ACL:尽可能放置在靠近源地址的位置。它可以过滤每个特定的地址和协议,所以我们不希望流量穿过整个网络后再被拒绝,它可在使用有限的带宽之前过滤掉此流量。


推荐阅读
  • 深入解析Tomcat:开发者的实用指南
    深入解析Tomcat:开发者的实用指南 ... [详细]
  • 在CentOS上部署和配置FreeSWITCH
    在CentOS系统上部署和配置FreeSWITCH的过程涉及多个步骤。本文详细介绍了从源代码安装FreeSWITCH的方法,包括必要的依赖项安装、编译和配置过程。此外,还提供了常见的配置选项和故障排除技巧,帮助用户顺利完成部署并确保系统的稳定运行。 ... [详细]
  • 本文详细介绍了如何在 Grafana 中独立于 Alertmanager 配置邮件和微信告警。具体步骤包括配置 SMTP 服务器以实现邮件告警,以及设置微信告警的集成方式。通过这些配置,用户可以更灵活地管理和接收来自 Grafana 的告警通知,确保及时响应系统异常。文章还提供了详细的配置示例和常见问题的解决方案,帮助用户顺利完成设置。 ... [详细]
  • Spring Boot 实战(一):基础的CRUD操作详解
    在《Spring Boot 实战(一)》中,详细介绍了基础的CRUD操作,涵盖创建、读取、更新和删除等核心功能,适合初学者快速掌握Spring Boot框架的应用开发技巧。 ... [详细]
  • 本文详细介绍了使用响应文件在静默模式下安装和配置Oracle 11g的方法。硬件要求包括:内存至少1GB,具体可通过命令`grep -i memtotal /proc/meminfo`进行检查。此外,还提供了详细的步骤和注意事项,确保安装过程顺利进行。 ... [详细]
  • 在Spring与Ibatis集成的环境中,通过Spring AOP配置事务管理至服务层。当在一个服务方法中引入自定义多线程时,发现事务管理功能失效。若不使用多线程,事务管理则能正常工作。本文深入分析了这一现象背后的潜在风险,并探讨了可能的解决方案,以确保事务一致性和线程安全。 ... [详细]
  • Ceph API微服务实现RBD块设备的高效创建与安全删除
    本文旨在实现Ceph块存储中RBD块设备的高效创建与安全删除功能。开发环境为CentOS 7,使用 IntelliJ IDEA 进行开发。首先介绍了 librbd 的基本概念及其在 Ceph 中的作用,随后详细描述了项目 Gradle 配置的优化过程,确保了开发环境的稳定性和兼容性。通过这一系列步骤,我们成功实现了 RBD 块设备的快速创建与安全删除,提升了系统的整体性能和可靠性。 ... [详细]
  • 本文详细介绍了如何在Linux系统中搭建51单片机的开发与编程环境,重点讲解了使用Makefile进行项目管理的方法。首先,文章指导读者安装SDCC(Small Device C Compiler),这是一个专为小型设备设计的C语言编译器,适合用于51单片机的开发。随后,通过具体的实例演示了如何配置Makefile文件,以实现代码的自动化编译与链接过程,从而提高开发效率。此外,还提供了常见问题的解决方案及优化建议,帮助开发者快速上手并解决实际开发中可能遇到的技术难题。 ... [详细]
  • Go语言实现Redis客户端与服务器的交互机制深入解析
    在前文对Godis v1.0版本的基础功能进行了详细介绍后,本文将重点探讨如何实现客户端与服务器之间的交互机制。通过具体代码实现,使客户端与服务器能够顺利通信,赋予项目实际运行的能力。本文将详细解析Go语言在实现这一过程中的关键技术和实现细节,帮助读者深入了解Redis客户端与服务器的交互原理。 ... [详细]
  • Liferay Portal 中 AutoEscape 构造函数的应用与实例代码解析 ... [详细]
  • 深入解析零拷贝技术(Zerocopy)及其应用优势
    零拷贝技术(Zero-copy)是Netty框架中的一个关键特性,其核心在于减少数据在操作系统内核与用户空间之间的传输次数。通过避免不必要的内存复制操作,零拷贝显著提高了数据传输的效率和性能。本文将深入探讨零拷贝的工作原理及其在实际应用中的优势,包括降低CPU负载、减少内存带宽消耗以及提高系统吞吐量等方面。 ... [详细]
  • DHCP三层交换机设置方式全局模式和接口模式设置方式和命令resetsave回车输入yreboot输入n输入y重启后就恢复默认设置了默认用户名密码adminAdmin@huawei ... [详细]
  • 本文探讨了如何在 Google Sheets 中通过自定义函数实现 AJAX 调用。具体介绍了编写脚本的方法,以便在电子表格中发起 AJAX 请求,从而实现数据的动态获取与更新。这种方法不仅简化了数据处理流程,还提高了工作效率。 ... [详细]
  • HBase在金融大数据迁移中的应用与挑战
    随着最后一台设备的下线,标志着超过10PB的HBase数据迁移项目顺利完成。目前,新的集群已在新机房稳定运行超过两个月,监控数据显示,新集群的查询响应时间显著降低,系统稳定性大幅提升。此外,数据消费的波动也变得更加平滑,整体性能得到了显著优化。 ... [详细]
  • 本文深入探讨了 Python Watchdog 库的使用方法和应用场景。通过详细的代码示例,展示了如何利用 Watchdog 监控文件系统的变化,包括文件的创建、修改和删除等操作。文章不仅介绍了 Watchdog 的基本功能,还探讨了其在实际项目中的高级应用,如日志监控和自动化任务触发。读者将能够全面了解 Watchdog 的工作原理及其在不同场景下的应用技巧。 ... [详细]
author-avatar
火星人平凡五哥
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有