打印本文 打印本文  关闭窗口 关闭窗口  
路由器基本原理与安全设置技巧
作者:陈鹏  文章来源:eNet  点击数  更新时间:2009/9/9 21:08:24  文章录入:陈鹏  责任编辑:陈鹏

BT是近年来比较热门的基于P2P技术的分布式数据共享与传播软件,不同的人对这类应用有不同的看法。支持的人说它完满地体现了我为人人,人人为我的思想,任何一个人都可以在网络上向别人提供自己的文档或软件下载,当下载的人越多时它的下载的速度也越来越快;反对的人说它侵犯了软件作者的版权以及耗费了大量的网络带宽,应该给予禁止。不管人们对这个软件的看法如何,作为一个主要从事教育的大学来讲,首先要保护作者的知识产权不会受到侵犯,另外还要保证学校的网络资源能够被合理利用,以保障教学及其它应用的正常开展。对任何一所大学来说它的网络带宽资源是十分宝贵的,但是BT软件的使用耗费了大量的带宽,使得原来一些需要保证的应用受到影响,使用理论的说教往往不能使喜欢这类软件的人放弃这种喜好,所以有必要对此类软件从技术手段上进行限制。下面来分析一下BT下载类软件的工作原理,找到可以用来限制此类应用的依据,然后再进行限制。

  首先BT类下载软件一般使用的端口是固定的一个范围,常用的范围是:6881~6890,如果我们能够在路由器中对这一段的端口进行限制,就可以对此类软件进行限制了。但是也有一些BT软件,可以自动更新端口。此类软件有一个共同的特点是在工作时占用的带宽很大,往往要超过正常的应用,所以我们从两个方面对此类软件进行限制:一个是限制它应用的端口,一个是对异常的流量进行限制。下面就这两个方面进行配置:

  一.使用基于类的路由策略进行控制

  1.端口限制: www.2000year.com

  access-list 101 deny tcp any eq range 6881 6890 any range 6881 6890
  access-list 101 permit any any

  2.流量限制:

  class-map match-all bt_updown
  match access-group 101
  policy-map drop-bt_updown
  class bt_updown
  police 1024000 51200 51200 conform-action drop exceed-action drop violate-action drop

  二.使用上述的基于类的策略在对付自动变更端口的BT类软件时有些力不从心,为此,CISCO 路由器提供了专门的PDLM(Packet Description Language Module)包描述语言模块从协议层上进行对此类软件使用的协议进行了描述。因此,路由器可以对数据包使用的协议进行分析,当传输的数据包符合该协议的描述时路由器可以识别,配合相应的类策略对数据进行控制(如允许通过或丢弃等),从而根本上解决了动态端口的控制弊病。但是由于PDLM模块属于非公开资源,CISCO 公司对该资源的下载和传播进行了严格的控制,必须具有CCO资格的路由器用户方可下载使用。由于该PDLM不属于路由器的启动加载项,所以重新启动路由器时,必须通过TFTP 进行进行手动加载:

  ip nbar pdlm tftp://192.168.100.2/bittorrent.pdlm //bittorent.pdlm为下载的pdlm模块文件名
  class-map match-all bt_updown //定义类 bt_updown
  match protocol bittorrent //匹配bittorrent协议

  policy-map limit-bt //定义策略图 limit_bt
  class bt_updown //将类 bt_updown 加载到策略图中作为触发事件
  police cir 240000 conform-action transmit exceed-action drop //定义符合和超载传输流大小为  240000 bits
  police cir 8000 conform-action transimit exceed-action drop

  在路由器相应端口上加载服务策略:
 service-policy input limit-bit //限制下载,流入
 service-policy output limit-bit //限制上传,流出

  2001年出现的尼姆达病毒(Nimda)、红色代码病毒均是蠕虫病毒,这些病毒借助于网络进行传播,传播的速度快,对感染的计算机破坏强。用户一旦感染了这种病毒,只要所处的网络中存在有此类的病毒,一般情况下是很难清除的。这里不想对病毒的工作原理及如何清除这些病毒进行过多的论述,而主要讨论这些病毒的网络行为如何在路由器中被识别出来并且使用相应的策略对这些数据包加以阻止或丢弃。

  尼姆达病毒在网络中传播的主要特征有:

  1、利用病毒宿主通过网络短时间内发送大量的含有“readme.exe”附件的“readme.eml”电子邮件;

  2、搜寻以前的IIS蠕虫病毒留下的后门程序曾经或已经感染红色代码病毒(Code Red)并留下了病毒后门,尼姆达病毒就会利用后门程序进行漏洞扫描; www.2000year.com

  3、通过大量含有病毒的电子邮件的发送和扫描将导致网络服务产生拒绝服务(DoS)。

  在分析尼姆达病毒的主要特征后,可以在路由器上有针对性进行配置以防范和阻止尼姆达病毒的传播:

  a.阻塞端口
  access-list 101 deny tcp any eq 25 any eq 25 //阻塞SMTP协议端口
  access-list 101 deny tcp any eq 69 any eq 69 //阻塞TFTP端口
  access-list 101 deny tcp any eq 135 any eq 135 //阻塞NetBIOS协议
  access-list 101 deny tcp any eq 445 any eq 445 //阻塞NetBIOS协议
  access-list 101 deny tcp any eq range 138 139 any range 138 139 //阻塞NetBIOS协议
  access-list 101 permit any any

  b.配置策略图
  class-map match-all nimda //定义类 nimda
  match protocol http url "*.ida*" //匹配HTTP协议中的url地址中含有.ida关键词
  match protocol http url "*cmd.exe*" //匹配HTTP协议中的url地址中含有cmd.exe关键词
  match protocol http url "*root.exe*" //匹配HTTP协议中的url地址中含有root.exe关键词
  match protocol http url "*readme.eml*" //匹配HTTP协议中的url地址中含有readme.eml关键词
  policy-map block_nimda //定义策略图 block_nimda
  class nimda //将类 nimda 加载到策略图中作为触发事件
  police 512000 128000 256000 conform-action transmit exceed-action drop violate-action drop //定义路由器速率限制策略

  结束语:上述所有基于QoS的路由器配置在思科2621XM路由器上测试通过。通过测试,不但可以明显减轻BT、Nimda等病毒对网络的冲击和对网络资源的大量消耗,保护正常计算机用户对网络资源的需求,同时也可以有效防止其他类似的网络蠕虫病毒的攻击,实际价值非常明显。

  路由器工作原理

  路由器是工作在IP协议网络层实现子网之间转发数据的设备。路由器内部可以划分为控制平面和数据通道。在控制平面上,路由协议可以有不同的类型。路由器通过路由协议交换网络的拓扑结构信息,依照拓扑结构动态生成路由表。在数据通道上,转发引擎从输入线路接收IP包后,分析与修改包头,使用转发表查找输出端口,把数据交换到输出线路上。转发表是根据路由表生成的,其表项和路由表项有直接对应关系,但转发表的格式和路由表的格式不同,它更适合实现快速查找。转发的主要流程包括线路输入、包头分析、数据存储、包头修改和线路输出。

  路由协议根据网络拓扑结构动态生成路由表。IP协议把整个网络划分为管理区域,这些管理区域称为自治域,自治域区号实行全网统一管理。这样,路由协议就有域内协议和域间协议之分。域内路由协议,如OSPF、IS-IS,在路由器间交换管理域内代表网络拓扑结构的链路状态,根据链路状态推导出路由表。域间路由协议相邻节点交换数据,不能使用多播方式,只能采用指定的点到点连接。

  路由器结构体系

  路由器的控制平面,运行在通用CPU系统中,多年来一直没有多少变化。在高可用性设计中,可以采用双主控进行主从式备份,来保证控制平面的可靠性。路由器的数据通道,为适应不同的线路速度,不同的系统容量,采用了不同的实现技术。 路由器的结构体系正是根据数据通道转发引擎的实现机理来区分。简单而言,可以分为软件转发路由器和硬件转发路由器。软件转发路由器使用CPU软件技术实现数据转发,根据使用CPU的数目,进一步区分为单CPU的集中式和多CPU的分布式。硬件转发路由器使用网络处理器硬件技术实现数据转发,根据使用网络处理器的数目及网络处理器在设备中的位置,进一步细分为单网络处理器的集中式、多网络处理器的负荷分担并行式和中心交换分布式。

  路由器安全设置

  对于黑客来说,利用路由器的漏洞发起攻击通常是一件比较容易的事情。路由器攻击会浪费CPU周期,误导信息流量,使网络陷于瘫痪。好的路由器本身会采取一个好的安全机制来保护自己,但是仅此一点是远远不够的。保护路由器安全还需要网管员在配置和管理路由器过程中采取相应的安全措施。

  堵住安全漏洞

  限制系统物理访问是确保路由器安全的最有效方法之一。限制系统物理访问的一种方法就是将控制台和终端会话配置成在较短闲置时间后自动退出系统。避免将调制解调器连接至路由器的辅助端口也很重要。一旦限制了路由器的物理访问,用户一定要确保路由器的安全补丁是最新的。漏洞常常是在供应商发行补丁之前被披露,这就使得黑客抢在供应商发行补丁之前利用受影响的系统,这需要引起用户的关注。

  避免身份危机

  黑客常常利用弱口令或默认口令进行攻击。加长口令、选用30到60天的口令有效期等措施有助于防止这类漏洞。另外,一旦重要的IT员工辞职,用户应该立即更换口令。用户应该启用路由器上的口令加密功能,这样即使黑客能够浏览系统的配置文件,他仍然需要破译密文口令。实施合理的验证控制以便路由器安全地传输证书。在大多数路由器上,用户可以配置一些协议,如远程验证拨入用户服务,这样就能使用这些协议结合验证服务器提供经过加密、验证的路由器访问。验证控制可以将用户的验证请求转发给通常在后端网络上的验证服务器。验证服务器还可以要求用户使用双因素验证,以此加强验证系统。双因素的前者是软件或硬件的令牌生成部分,后者则是用户身份和令牌通行码。其他验证解决方案涉及在安全外壳(SSH)或IPSec内传送安全证书。

  禁用不必要服务

  拥有众多路由服务是件好事,但近来许多安全事件都凸显了禁用不需要本地服务的重要性。需要注意的是,禁用路由器上的CDP可能会影响路由器的性能。另一个需要用户考虑的因素是定时。定时对有效操作网络是必不可少的。即使用户确保了部署期间时间同步,经过一段时间后,时钟仍有可能逐渐失去同步。用户可以利用名为网络时间协议(NTP)的服务,对照有效准确的时间源以确保网络上的设备时针同步。不过,确保网络设备时钟同步的最佳方式不是通过路由器,而是在防火墙保护的非军事区(DMZ)的网络区段放一台NTP服务器,将该服务器配置成仅允许向外面的可信公共时间源提出时间请求。在路由器上,用户很少需要运行其他服务,如SNMP和DHCP。只有绝对必要的时候才使用这些服务。

  限制逻辑访问

  限制逻辑访问主要是借助于合理处置访问控制列表。限制远程终端会话有助于防止黑客获得系统逻辑访问。SSH是优先的逻辑访问方法,但如果无法避免Telnet,不妨使用终端访问控制,以限制只能访问可信主机。因此,用户需要给Telnet在路由器上使用的虚拟终端端口添加一份访问列表。

  控制消息协议(ICMP)有助于排除故障,但也为攻击者提供了用来浏览网络设备、确定本地时间戳和网络掩码以及对OS修正版本作出推测的信息。为了防止黑客搜集上述信息,只允许以下类型的ICMP流量进入用户网络:ICMP网无法到达的、主机无法到达的、端口无法到达的、包太大的、源抑制的以及超出生存时间(TTL)的。此外,逻辑访问控制还应禁止ICMP流量以外的所有流量。

  使用入站访问控制将特定服务引导至对应的服务器。例如,只允许SMTP流量进入邮件服务器;DNS流量进入DSN服务器;通过安全套接协议层(SSL)的HTTP(HTTP/S)流量进入Web服务器。为了避免路由器成为DoS攻击目标,用户应该拒绝以下流量进入:没有IP地址的包、采用本地主机地址、广播地址、多播地址以及任何假冒的内部地址的包。虽然用户无法杜绝DoS攻击,但用户可以限制DoS的危害。用户可以采取增加SYN ACK队列长度、缩短ACK超时等措施来保护路由器免受TCP SYN攻击。

  用户还可以利用出站访问控制限制来自网络内部的流量。这种控制可以防止内部主机发送ICMP流量,只允许有效的源地址包离开网络。这有助于防止IP地址欺骗,减小黑客利用用户系统攻击另一站点的可能性。

  监控配置更改

  用户在对路由器配置进行改动之后,需要对其进行监控。如果用户使用SNMP,那么一定要选择功能强大的共用字符串,最好是使用提供消息加密功能的SNMP。如果不通过SNMP管理对设备进行远程配置,用户最好将SNMP设备配置成只读。拒绝对这些设备进行写访问,用户就能防止黑客改动或关闭接口。此外,用户还需将系统日志消息从路由器发送至指定服务器。

  为进一步确保安全管理,用户可以使用SSH等加密机制,利用SSH与路由器建立加密的远程会话。为了加强保护,用户还应该限制SSH会话协商,只允许会话用于同用户经常使用的几个可信系统进行通信。

  配置管理的一个重要部分就是确保网络使用合理的路由协议。避免使用路由信息协议(RIP),RIP很容易被欺骗而接受不合法的路由更新。用户可以配置边界网关协议(BGP)和开放最短路径优先协议(OSPF)等协议,以便在接受路由更新之前,通过发送口令的MD5散列,使用口令验证对方。以上措施有助于确保系统接受的任何路由更新都是正确的。

  实施配置管理

  用户应该实施控制存放、检索及更新路由器配置的配置管理策略,并将配置备份文档妥善保存在安全服务器上,以防新配置遇到问题时用户需要更换、重装或回复到原先的配置。

  用户可以通过两种方法将配置文档存放在支持命令行接口(CLI)的路由器平台上。一种方法是运行脚本,脚本能够在配置服务器到路由器之间建立SSH会话、登录系统、关闭控制器日志功能、显示配置、保存配置到本地文件以及退出系统;另外一种方法是在配置服务器到路由器之间建立IPSec隧道,通过该安全隧道内的TFTP将配置文件拷贝到服务器。用户还应该明确哪些人员可以更改路由器配置、何时进行更改以及如何进行更改。在进行任何更改之前,制订详细的逆序操作规程。

打印本文 打印本文  关闭窗口 关闭窗口