0

0

一个动态ACL的案例

php中文网

php中文网

发布时间:2016-06-07 15:11:41

|

1696人浏览过

|

来源于php中文网

原创

所在的单位有一台路由器将两个以太网段连到了internet上,路由器是通过串行端口0连到internet上的,而以太网分别通过端口E 0和E 1连到路由器上。假设我们希望允许任何用户都能通过I P访问1 98.78.46.12服务器,并允许2 0 5.131.175.0网络上的用户通过We b浏览

所在的单位有一台路由器将两个以太网段连到了internet上,路由器是通过串行端口0连到internet上的,而以太网分别通过端口E 0和E 1连到路由器上。假设我们希望允许任何用户都能通过I P访问1 98.78.46.12服务器,并允许2 0 5.131.175.0网络上的用户通过We b浏览(h t t p)和F T P访问I n t e r n e t。

useranme test password cisco

!

int serial 0

ip add 175.10.1.1 255.255.255.0

ip access-group 100 in

!

access-list 100 permit tcp any host 175.10.1.1 eq telnet

access-list 100 permit udp any eq 53 205.131.175.0 0.0.0.255 gt 1023

established

access-list 100 permit tcp any eq 21 205.131.175.0 0.0.0.255 gt 1023

established

access-list 100 permit tcp any eq 20 205.131.175.0 0.0.0.255 gt 1023

access-list 100 dynamic test timeout 180 permit ip any host 198.76.46.12 log

!

logging buffered 64000

!

line vty 0 2

login local

autocommand access-enable host timeout 10

line vty 3 4

login local

rotary 1

首先,我们注意到访问表被应用到了串行端口上。将扩展访问表应用到离过滤源最近的

地方,这是一种很好的方法。在本例中,我们的目的是要过滤I n t e r n e t上的主机,所以串行端口是路由器上离被过滤主机最近的端口。访问表应用的方向是向内的,因为从路由器的角度看来, I n t e r n e t来的报文是流向路由器的。如果我们将访问表应用成向外的访问,则过滤的报文将是离开串行接口而通往I n t e r n e t的报文,而这并非我们所希望的。另外,我们还建立了一个用户名“ t e s t”,它可以用来访

问路由器。在实际应用中,我们应该为每个用户建立一对用户名和口令。现在,让我们再分析访问表的每一个表项。

一个表项允许从任何源I P地址来的报文到达主机1 7 5 . 1 0 . 1 . 1,如果其目标端口为t e l n e t(2 3)的话。这样,我们实际上允许了向内的t e l n e t连接到路由器的串行接口。我们可以允许向内的t e l n e t,连接到路由器的其他I P地址,但只允许向内访问路由器的串行接口是一种最佳的选择。

第二个表项允许从任何源I P地址来的报文,如果其源端口是域名系统( domain namesystem, DNS)(UDP 53),且目标网络位于2 0 5 . 1 3 1 . 1 7 5 . 0 / 2 4,

目的端口大于1 0 2 3的话。这将允许D N S应答到达2 0 5 . 1 3 1 . 1 7 5 . 0 / 24网络。所有有效D N S请求的源端口应该为1 0 2 4或更大,因此有效D N S的应答就应发送到此1 0 2 4或更高的端口。如果我们不指定目的端口大于1 0 2 3,则攻击者可以从源端口5 3发送U D P报文到达我们的网络,从而导致对内部服务器的拒绝服务(denial-of-service, DOS)攻击。大量的服务器端口都处于小于1 0 2 4的保留区间内,所以我们应阻塞目的端口小于1 0 2 4的报文,以关闭潜在的安全漏洞。

第三和第四个表项允许具有如下特征的报文进入:源端口为W W W(TCP 80 )或F T P(TCP 21),目标位于2 0 5 . 1 3 1 . 1 7 5 . 0 / 2 4网络,目标端口大于1 0 2 3,且T C P头中设置了A C K和R S T位。这两个表项允许由内部主机发起的W W W和F T P会

话的返回报文。指定源端口和目的端口的原因与第二个表项相同。使用e s t a b l i s h e d意味着只有设置了应答位( A C K)和复位位(R S T)的报文才能够匹配并允许通过访问表项。只有那些已经建立了T C P会话的报文才会设置这些位,这样增加了访问表的安全层次。值得注意的是,攻击者很容易在向内的报文中手工设置这些位,所以这种检测是十分简单的。但是,如果内部网络采用正确的T C P / I P协议栈,它们就会忽略这些带A C K和R S T位的向内报文,因为它们不是主机上合法的T C P会话的一部分,这就是为什么e s t a b l i s h e d关键字仍然十分重要的原因。注意,这

种检验对U D P报文是无用的,这就是为什么在第二个访问表项中没有该关键字的原因。

第五个表项允许那些从源端口为2 0的任何主机向内报文到达网络2 0 5 . 1 3 1 . 1 7 5 . 0 / 2 4的主机,如果其目的端口大于1 0 2 3的话,允许了那些由内部主机发起的F T P部分数据的报文连接到内部主机。F T P协议实现的标准实现需要F T P服务器发回一个到源F T P客户机连接。该连接的初始报文没有设置A C K或R S T位,所以我们在表项中不能使用esta b l i s h e d关键字。有一种版本的F T P称为被动模式( passive mode)的F T P,或称为PA S C,它不需要服务器发起一个向源F T P客户机的连接。在这种模式的FTP中,客户机需要发起到FTP服务器非2 0端口的另一个连接。该端口是大于1 0 2 3的一种随机选择。我们允许所有大于1023 TCP端口的报文通过,是因为我们不能进一步确定F T P服务器会选择哪一个端口(被动模式F T P服务器的数据端口不为2 0,这与普通模式F T P是不同的)。尽管我们不能让该表项如我们所希望的那样确切,established关键字仍能使该表项比允许外部发起向内部网络的会话要安全一些。

第六个表项(也是最后一个表项)为动态访问表项,它允许来自被认证主机的报文到达服务器1 9 8 . 7 8 . 4 6 . 1 2。我们定义的绝对超时时间为3小时( 1 8 0分钟),并对该表项进行了日志记录(我们还开启了路由器缓冲区的日志)。通过将匹配动态表项的报文进行记录,我们可以跟踪用户的行为,并建立一个普通的基线。这样,我们可以发现不正常的行为,并由此判断这是否是由攻击者产生的。我们还将动态访问表项的空闲时间设置成了1 0分钟,这是在v t y线配置中通过a u t o c o m m a n d设置的。

最好是将这两个值都设上,这样我们能减少动态表项处于活跃状态的时间,因此也减少了攻击者冲破动态表项的可能性。

空闲计时器在每有一个报文匹配动态访问表项时进行复位。而绝对计时器是不复位的.即使一个会话仍然处于活跃状态,如果绝对超时达到,动态表项就会被删除,从而用户需要再经过一个认证过程。如果他们有经过路由器的活跃会话,这些会话将被终止。正因如此,我们建议将绝对超时设置得相对大一些,一般为一个小时或更长一些的时间。但我们应该将空闲时间设置得小一些,一般为1 0分钟或更短的时间。我们认为,不应将空闲时间的设置大于3 0钟。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
Python 序列化
Python 序列化

本专题整合了python序列化、反序列化相关内容,阅读专题下面的文章了解更多详细内容。

0

2026.02.02

AO3官网入口与中文阅读设置 AO3网页版使用与访问
AO3官网入口与中文阅读设置 AO3网页版使用与访问

本专题围绕 Archive of Our Own(AO3)官网入口展开,系统整理 AO3 最新可用官网地址、网页版访问方式、正确打开链接的方法,并详细讲解 AO3 中文界面设置、阅读语言切换及基础使用流程,帮助用户稳定访问 AO3 官网,高效完成中文阅读与作品浏览。

91

2026.02.02

主流快递单号查询入口 实时物流进度一站式追踪专题
主流快递单号查询入口 实时物流进度一站式追踪专题

本专题聚合极兔快递、京东快递、中通快递、圆通快递、韵达快递等主流物流平台的单号查询与运单追踪内容,重点解决单号查询、手机号查物流、官网入口直达、包裹进度实时追踪等高频问题,帮助用户快速获取最新物流状态,提升查件效率与使用体验。

27

2026.02.02

Golang WebAssembly(WASM)开发入门
Golang WebAssembly(WASM)开发入门

本专题系统讲解 Golang 在 WebAssembly(WASM)开发中的实践方法,涵盖 WASM 基础原理、Go 编译到 WASM 的流程、与 JavaScript 的交互方式、性能与体积优化,以及典型应用场景(如前端计算、跨平台模块)。帮助开发者掌握 Go 在新一代 Web 技术栈中的应用能力。

11

2026.02.02

PHP Swoole 高性能服务开发
PHP Swoole 高性能服务开发

本专题聚焦 PHP Swoole 扩展在高性能服务端开发中的应用,系统讲解协程模型、异步IO、TCP/HTTP/WebSocket服务器、进程与任务管理、常驻内存架构设计。通过实战案例,帮助开发者掌握 使用 PHP 构建高并发、低延迟服务端应用的工程化能力。

5

2026.02.02

Java JNI 与本地代码交互实战
Java JNI 与本地代码交互实战

本专题系统讲解 Java 通过 JNI 调用 C/C++ 本地代码的核心机制,涵盖 JNI 基本原理、数据类型映射、内存管理、异常处理、性能优化策略以及典型应用场景(如高性能计算、底层库封装)。通过实战示例,帮助开发者掌握 Java 与本地代码混合开发的完整流程。

5

2026.02.02

go语言 注释编码
go语言 注释编码

本专题整合了go语言注释、注释规范等等内容,阅读专题下面的文章了解更多详细内容。

62

2026.01.31

go语言 math包
go语言 math包

本专题整合了go语言math包相关内容,阅读专题下面的文章了解更多详细内容。

55

2026.01.31

go语言输入函数
go语言输入函数

本专题整合了go语言输入相关教程内容,阅读专题下面的文章了解更多详细内容。

27

2026.01.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 8.4万人学习

Git 教程
Git 教程

共21课时 | 3.3万人学习

Django 教程
Django 教程

共28课时 | 3.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号