中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 网络应用 > 网络技术
ACL管理网络利器
作者:刘安 时间:2007-08-16 21:09 出处:网管员世界 责编:月夜寒箫
              摘要:ACL管理网络利器
笔者所在的单位由一台路由器将两个以太网段连接到Internet上,路由器通过串行端口S0连到Internet上,而以太网分别通过端口E0和E1连到路由器上。假设我们希望允许任何用户都能通过IP访问198.78.46.12服务器,并允许205.131.175.0网络上的用户通过Web浏览和FTP访问Internet。

配置如下:

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

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 80 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



注意:访问表被应用到了串行端口上,将扩展访问表应用到距离过滤源最近的地方,这是一种很好的方法。

在本例中,我们的目的是要过滤Internet上的主机,所以串行端口是路由器上距离被过滤主机最近的端口,访问表应用的方向是向内的,因为从路由器的角度看来, 从Internet来的报文是流向路由器的,如果我们将访问列表应用成向外的访问,则过滤的报文将是离开串行接口而通往Internet的报文,而这并非我们所希望的。另外,我们还建立了一个用户名“test”,它可以用来访问路由器。在实际应用中,我们应该为每个用户建立一对用户名和口令。现在,让我们分析访问列表的每一个表项:

第一个表项允许从任何源I P地址来的报文到达主机175.10.1.1,如果其目标端口为telnet的话,我们实际上允许了向内的telnet连接到路由器的串行接口。我们可以允许向内的telnet连接到路由器的其他IP地址,但只允许向内访问路由器的串行接口是一种最佳的选择。

第二个表项允许从任何源I P地址来的报文,如果其源端口是域名系统,且目标网络位于205.131. 175.0/24,目的端口大于1023的话,这将允许DNS应答到达202.131.175.0/24网络。所有有效DNS请求的源端口应该为1024或更大,因此有效DNS的应答就应发送到此1024或更高的端口。如果我们不指定目的端口大于1023,则攻击者可以从源端口53发送UDP报文到达我们的网络,从而导致对内部服务器的拒绝服务(denia l-of-service, DOS)攻击。大量的服务器端口都处于小于1024的保留区间内,所以我们应阻塞目的端口小于1024的报文,以关闭潜在的安全漏洞。

第三和第四个表项允许具有如下特征的报文进入:源端口为www或FTP,目标位于205.131.175.0/24网络,目标端口大于1023,且TCP头中设置了ACK和RST位。这两个表项允许由内部主机发起的WWW和FTP会话的返回报文。指定源端口和目的端口的原因与第二个表项相同。使用established意味着只有设置了应答位(ack)和复位位(est)的报文才能够匹配并允许通过访问表项。只有那些已经建立了TCP会话的报文才会设置这些位,这样增加了访问表的安全层次。值得注意的是,攻击者很容易在向内的报文中手工设置这些位,所以这种检测是十分简单的。但如果内部网络(下转第136页)(上接第135页)采用正确的TCP/IP协议栈,它们就会忽略这些带ack和est位的向内报文,因为它们不是主机上合法TCP会话的一部分,这就是为什么established关键字仍然十分重要的原因。

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

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

第六个表项(也是最后一个表项)为动态访问表项,它允许来自被认证主机的报文到达服务器198.78.46.12。我们定义的绝对超时时间为3小时(180分钟),并对该表项进行了日志记录(我们还开启了路由器缓冲区的日志)。通过将匹配动态表项的报文进行记录,我们可以跟踪用户的行为,并建立一个普通的基线。这样,我们可以发现不正常的行为,并由此判断这是否是由攻击者产生的。我们还将动态访问表项的空闲时间设置成了10分钟,这是在vty线配置中通过autocommand设置的。最好是将这两个值都设上,这样我们能减少动态表项处于活跃状态的时间,因此也减少了攻击者冲破动态表项的可能性。
空闲计时器在没有一个报文匹配动态访问表项时进行复位,而绝对计时器是不复位的,即使一个会话仍然处于活跃状态,如果绝对超时达到,动态表项就会被删除,用户需要再经过一个认证过程。如果他们有经过路由器的活跃会话,这些会话将被终止。因此,建议将绝对超时设置得相对大一些,一般为一个小时或更长一些时间。但我们应该将空闲时间设置得小一些,一般为10分钟或更短的时间。笔者认为,不应将空闲时间的设置大于30分钟。

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有