Cisco路由器的安全配置

目前大多数的企事业单位和部门连Internet网,通常都是一台路由器与ISP连结实现。这台路由器就是沟通外部Internet和内部网络的桥梁,如果这台路由器能够合理进行安全设置,那么就可以对内部的网络提供一定安全性或对已有的安全多了一层屏障。现在大多数的路由器都是Cisco公司的产品或与其功能近似,本文在这里就针对Cisco路由器的安全配置进行管理。
  考虑到路由器的作用和位置, 路由器配置的好坏不仅影响本身的安全也影响整个网络的安全。目前路由器(以Cisco为例)本身也都带有一定的安全功能,如访问列表、加密等,但是在缺省配置时,这些功能大多数都是关闭的。需要进行手工配置。怎样的配置才能最大的满足安全的需要,且不降低网络的性能?本文从以下几个部分分别加以说明:

一. 口令管理

  口令是路由器是用来防止对于路由器的非授权访问的主要手段,是路由器本身安全的一部分。最好的口令处理方法是将这些口令保存在TACACS+或RADIUS认证服务器上。但是几乎每一个路由器都要有一个本地配置口令进行权限访问。如何维护这部分的安全?

1. 使用enable secret
  enable secret 命令用于设定具有管理员权限的口令。并且如果没有enable secret,则当一个口令是为控制台TTY设置的,这个口令也能用于远程访问。这种情况是不希望的。还有一点就是老的系统采用的是enable password,虽然功能相似,但是enable password采用的加密算法比较弱。

2. 使用service password-encryption
  这条命令用于对存储在配置文件中的所有口令和类似数据(如CHAP)进行加密。避免当配置文件被不怀好意者看见,从而获得这些数据的明文。但是service password-encrypation的加密算法是一个简单的维吉尼亚加密,很容易被破译。这主要是针对enable password命令设置的口令。而enable secret命令采用的是MD5算法,这种算法很难进行破译的。但是这种MD5算法对于字典式攻击还是没有办法。
  所以不要以为加密了就可以放心了,最好的方法就是选择一个长的口令字,避免配置文件被外界得到。且设定enable secret和service password-encryption。

二. 控制交互式访问

  任何人登录到路由器上都能够显示一些重要的配置信息。一个攻击者可以将路由器作为攻击的中转站。所以需要正确控制路由器的登录访问。尽管大部分的登录访问缺省都是禁止的。但是有一些例外,如直连的控制台终端等。
  控制台端口具有特殊的权限。特别注意的是,当路由器重启动的开始几秒如果发送一个Break信号到控制台端口,则利用口令恢复程式可以很容易控制整个系统。这样如果一个攻击者尽管他没有正常的访问权限,但是具有系统重启(切断电源或系统崩溃)和访问控制端口(通过直连终端、Modem、终端服务器)的能力就可以控制整个系统。所以必须保证所有连结控制端口的访问的安全性。
  除了通过控制台登录路由器外还有很多的方法,根据配置和操作系统版本的不同,可以支持如Telnet、rlogin、Ssh以及非基于IP的网络协议如LAT、MOP、X.29和V.120等或者Modem拨号。所有这些都涉及到TTY,本地的异步终端和拨号Modem用标准的"TTYs"。远地的网络连结不管采用什么协议都是虚拟的TTYs,即"VTYs"。要控制路由器的访问,最好就是控制这些TTYs或VTYs,加上一些认证或利用login、no password命令禁止访问。

1.控制TTY
  缺省的情况下一个远端用户可以连结到一个TTY,称为"反向Telnet",允许远端用户和连接到这个TTY上的终端或Modem进行交互。但是这些特征允许一个远端用户连接到一个本地的异步终端口或一个拨入的Modem端口,从而构造一个假的登录过程来偷盗口令或其他的非法活动。所以最好禁止这项功能,可以采用transport input none设置任何异步或Modem不接收来自网络用户的连结。如果可能,不要用相同的Modem拨入和拨出,且禁止反向Telnet拨入。

2.控制VTY
  为了保证安全,任何VTY应该仅允许指定的协议建立连结。利用transport input命令。如一个VTY只支持Telnet服务,可以如下设置transport input telnet。如果路由器操作系统支持SSH,最好只支持这个协议,避免使用明文传送的Telnet服务。如下设置:transport input ssh。也可以利用ip access-class限制访问VTY的ip地址范围。
  因为VTYs的数目有一定的限制,当所有的VTYs用完了,就不能再建立远程的网络连结了。这就有可能被利用进行Dos(拒绝服务攻击)。这里攻击者不必登录进入,只要建立连结,到login提示符下就可以,消耗到所有的VTYs。对于这种攻击的一个好的防御方法就是利用ip access-class命令限制最后一个VTYs的访问地址,只向特定管理工作站打开。而其他的VTYs不限制,从而既保证了灵活性,也保证关键的管理工作不被影响。另一个方法是利用exec-timeout命令,配置VTY的超时。避免一个空闲的任务一直占用VTY。类似的也可以用service tcp-keepalives-in 保证Tcp建立的入连结是活动的,从而避免恶意的攻击或远端系统的意外崩溃导致的资源独占。更好的保护VTY的方法是关闭所有非基于IP的访问,且使用IPSec加密所有的远端与路由器的连结。

三. 管理服务配置

  许多的用户利用协议如Snmp或Http来管理路由器。但是利用这些协议管理服务时,就会存在一定的安全问题。
1. Snmp
  Snmp是最经常用于路由器的管理的协议。目前使用最多的Snmp 版本1,但是这个版本的Snmp存在着很多的安全问题:
  A. 使用明文认证,利用"community"字符串。 
  B. 在周期性轮循时,重复的发送这些"community"。
  C. 采用容易被欺骗的基于数据包的协议。
  所以尽量采用Snmp V2,因为它采用基于MD5的数字认证方式,并且允许对于不同的管理数据进行限制。如果一定要使用Snmp V1,则要仔细的配置。如避免使用缺省的community如public,private等。避免对于每个设备都用相同的community,区别和限制只读和读写commnity。对于Snmp V2,则可能的话对于不同的路由器设定不同的MD5安全值。还有就是最好使用访问列表限定可以使用Snmp管理的范围

[1] [2] [3] 下一页  

文章录入:csh    责任编辑:csh 
2. Http:
  最近的路由器操作系统支持Http协议进行远端配置和监视。而针对Http的认证就相当于在网络上发送明文且对于Http没有有效的基于挑战或一次性的口令保护。这使得用Http进行管理相当危险。
  如果选择使用Http进行管理,最好用ip http access-class命令限定访问地址且用ip http authentication命令配置认证。最好的http认证选择是利用TACACS+或RADIUS服务器。

四. 日志

  利用路由器的日志功能对于安全来说是十分重要的。Cisco路由器支持如下的日志
  1. AAA日志:主要收集关于用户拨入连结、登录、Http访问、权限变化等。这些日志用TACACS+或RADIUS协议送到认证服务器并本地保存下来。这些可以用aaa accouting实现。
  2. Snmp trap 日志:发送系统状态的改变到Snmp 管理工作站。
  3. 系统日志:根据配置记录大量的系统事件。并可以将这些日志发送到下列地方:
   a. 控制台端口 
   b. Syslog 服务器 
   c. TTYs或VTYs
   d. 本地的日志缓存。
  这里最关心的就是系统日志,缺省的情况下这些日志被送到控制台端口,通过控制台监视器来观察系统的运行情况,但是这种方式信息量小且无法记录下来供以后的查看。最好是使用syslog服务器,将日志信息送到这个服务器保存下来。

五.路由安全
1.防止伪造:
  伪造是攻击者经常使用的方法。通过路由器的配置可以在一定程度上防止伪造。通常是利用访问列表,限制通过的数据包的地址范围。但是有下面几点注意的。
  A. 可以在网络的任何一点进行限制,但是最好在网络的边界路由器上进行,因为在网络内部是难于判断地址伪造的。
  B. 最好对接口进入的数据进行访问控制(用ip access-group list in)。因为输出列表过滤只保护了位于路由器后的网络部分,而输入列表数据过滤还保护了路由器本身不受到外界的攻击。
  C. 不仅对外部的端口进行访问控制,还要对内部的端口进行访问控制。因为可以防止来自内部的攻击行为。
  下面是一个是一个访问列表的例子:
  ip access-list number deny icmp any any redirect 拒绝所有的Icmp 重定向
  ip access-list number deny ip host 127.0.0.0 0.255.255.255 any 拒绝Loopback的数据包
  ip access-list number deny ip 224.0.0.0 31.255.255.255 any 拒绝多目地址的数据包
  除了访问列表的限制外,还可以利用路由器的RPF检查(ip verify unicast rpf)。这项功能主要用于检查进入接口的数据包的源地址,根据路由表判断是不是到达这个源地址的路由是不是也经过这个接口转发,如果不是则抛弃。这进一步保证了数据源的正确性。但是这种方式不适合非对称的路由,即A到B的路由与B到A的路由不相同。所以需要判断清楚路由器的具体配置。

2.控制直接广播
  一个IP直接广播是一个目的地为某个子网的广播地址的数据包,但是这个发送主机的不与这个目的子网直接相连。所以这个数据包被路由器当作普通包转发直到目的子网,然后被转换为链路层广播。由于Ip地址结构的特性,只有直接连接到这个子网的路由器能够识别一个直接广播包。针对这个功能,目前存在一种攻击称为"smurf",攻击者通过不断的发送一个源地址为非法地址的直接广播包到攻击的子网。从而导致子网的所有主机向这个非法地址发送响应,最终导致目的网络的广播风暴。
  对于这种攻击可以在路由器的接口上设置no ip directed-broadcast,但是这种直接广播包,要被这个接口转换成链路层的广播而不是抛弃,所以为了更好防止攻击,最好在将所有可能连接到目的子网的路由器都配置no ip directed-broadcast。

3. 防止路由攻击
  源路由攻击一种常用攻击方法,因为一些老的Ip实现在处理源路由包时存在问题,所以可能导致这些机器崩溃,所以最好在路由器上关闭源路由。用命令no ip source-route。
  Icmp 重定向攻击也是一种常用的路由攻击方法。攻击者通过发送错误的重定向信息给末端主机,从而导致末端主机的错误路由。这种攻击可以通过在边界路由器上设定过滤所有icmp重定向数据来实现。但是这只能阻止外部的攻击者,如果攻击者和目的主机在同一个网段则没有办法。
  当路由器采用动态协议时,攻击者可以伪造路由包,破坏路由器的路由表。为了防止这种攻击可以利用访问列表(distribute-list in)限定正确路由信息的范围。并且如果可能则采用认证机制。如Rip 2或ospf支持认证等。

六. 流量管理

  目前大多数的Dos攻击都是通过发送大量的无用包,从而占用路由器和带宽的资源,导致网络和设备过载,这种攻击也称为"洪泛攻击"。对于这种攻击的防范首先要明确瓶颈在哪里。例如:如果攻击导致线路阻塞,则在线路的源路由节点进行过滤可以有效的防止,但是在线路的目的路由端进行过滤,就没有什么效果。并且要注意路由器本身也可能成为攻击的对象,而且这种情况更加糟糕。对于这种类型攻击的防范有如下:
  1. 网络保护:
  利用路由器的Qos功能来分担负载来防止一些洪泛攻击。方式有WFQ,CAR,GTS等。但是要注意的是每种方式的应用不同。如WFQ防止ping 攻击比SYN攻击更有效。所以要正确选择方式,才能有效的防止攻击

上一页  [1] [2] [3] 下一页  

文章录入:csh    责任编辑:csh    2. 路由器本身保护:
  路由器虽然能保护网络中其他部分避免过载,但是本身也需要保护不受到攻击。应有的安全配置有:
  a. 采用CEF交换模式而不是传统的路由表Cache方式,因为采用CEF方式,对于出现的新目的地不需要构筑路由Cache入口。所以这种方式对于SYN攻击能够更好的防止(因为SYN攻击用的是随机的源地址)
  b. 使用scheduler interval 或scheduler allocate。因为当大量的数据包要路由器快速转发情况下,可能路由器花费大量的时间处理网络接口的中断,导致其他的任务无法正常工作。为了避免这种情况,可以使用scheduler interval或scheduler allocate命令路由器在规定的时间间隔内停止处理中断去处理其他事件。这种方式的副作用很小,不会影响网络的正常传输。
  c. 设定缺省路由到空设备(ip route 0.0.0.0 0.0.0.0 null 0 255):
  这个设置可以很好抛弃掉不可达的目的地值得数据包,增加路由器的性能。

七.服务管理

  路由器通常都提供很多的服务如Finger、Telnet等,但是这些服务中一些能够被攻击者利用,所以最好禁止所有不需要的服务。
  1.Cisco路由器提供一些基于TCP和UDP协议的小服务如:echo、chargen和discard。这些服务很少被使用,而且容易被攻击者利用来越过包过滤机制。如echo服务,就可以被攻击者利用它发送数据包,好像这些数据包来自路由器本身。所以最好禁止这些服务,可以利用no service tcp-small-servers 和 no service udp-small-servers命令来实现。
  2.Finger、NTP、CDP:
  Finger服务可能被攻击者利用查找用户和口令攻击。NTP不是十分危险的,但是如果没有一个很好的认证,则会影响路由器正确时间,导致日志和其他任务出错。CDP可能被攻击者利用获得路由器的版本等信息,从而进行攻击。所以对于上面的几种服务如果没有十分必要的需求,最好禁止他们。可以用no service finger、no ntp enabel、no cdp running(或no cdp enable )实现。

  通过采用和遵循上面的配置就可以实现一个路由器的基本的安全,但是这对于一个严格要求的安全环境是不够的,因为还有很多的攻击无法从路由器上过滤,且对于来自内部网络的攻击,路由器是无能力进行保证的。但是通过一个路由器的安全配置,能够为网络的安全建立一个外部的屏障,减轻了内部防火墙的负担,并且保证了路由器本身的安全。所以路由器的安全配置还是十分重

上一页  [1] [2] [3] 

文章录入:csh    责任编辑:csh

(0)

相关推荐

  • Cisco路由器的安全配置

    目前大多数的企事业单位和部门连Internet网,通常都是一台路由器与ISP连结实现.这台路由器就是沟通外部Internet和内部网络的桥梁,如果这台路由器能够合理进行安全设置,那么就可以对内部的网络提供一定安全性或对已有的安全多了一层屏障.现在大多数的路由器都是Cisco公司的产品或与其功能近似,本文在这里就针对Cisco路由器的安全配置进行管理. 考虑到路由器的作用和位置, 路由器配置的好坏不仅影响本身的安全也影响整个网络的安全.目前路由器(以Cisco为例)本身也都带有一定的安全功能,如访

  • Cisco路由器的安全配置简易方案

    Cisco路由器的安全配置简易方案一,路由器访问控制的安全配置1,严格控制可以访问路由器的管理员.任何一次维护都需要记录备案.2,建议不要远程访问路由器.即使需要远程访问路由器,建议使用访问控制列表和高强度的密码控制.3,严格控制CON端口的访问.具体的措施有:A,如果可以开机箱的,则可以切断与CON口互联的物理线路.B,可以改变默认的连接属性,例如修改波特率(默认是96000,可以改为其他的).C,配合使用访问控制列表控制对CON口的访问.如:Router(Config)#Access-lis

  • Cisco路由器的基本配置

    随着IT业的飞速发展,Cisco路由器被广泛应用于各行各业,本文将从基础配置入手,简单介绍一下Cisco路由器的配置方法. 一.配置以太网端口 # conf t 从终端配置路由器(Cisco的各种命令均可以简写,只要不与其他命令重复即可,如configure terminal可以写成conf t). # int e0 指定E0口. # ip addr ABCD XXXX ABCD为以太网地址,XXXX为子网掩码. # ip addr ABCD XXXX secondary E0口可同时支持多个地

  • Cisco路由器的备份配置方法

    Cisco路由器的备份技术有多种.这里介绍一下路由器自身的备份技术及线路备份技术. 一般来说,路由器是建立局域网与广域网连接的桥梁. 所谓的路由器自身的备份技术是为了解决路由器由于自身硬件(如内存.CPU)或软件IOS的某种故障或局域端口的故障,所连接局域设备的端口或线路的故障所导致的网络瘫痪的问题. 路由器的备份要求至少有一台与正在工作的主路由器功能相同的路由器,在主路由器瘫痪的情况下,以某种方式代替主路由器,为局域网用户提供路由服务. 对于局域网的计算机,在主路由器瘫痪的情况下,如何找到备份

  • CISCO路由器的一般配置与调试

    路 由 器 是 计 算 机 网 络 的 桥 梁, 通 过 它 不 仅 可 以 连 通 不 同 的 网 络, 还 能 选 择 数 据 传 送 的 路 经, 并 能 阻 隔 非 法 的 访 问. 路 由 器 的 配 置 对 初 学 者 来 说, 并 不 是 件 容 易 的 事. 现 将 路 由 器 的 一 般 配 置 和 简 单 调 试 介 绍 给 大 家, 供 朋 友 们 在 配 置 路 由 器 时 参 考. ---- 一 . CISCO2501.2522 硬 件 结 构 ---- CISCO 2

  • Cisco路由器安全配置必用10条命令

    当谈到配置一台新的Cisco路由器,多数配置依赖于路由器的类型以及它将服务的用途.然而,每位管理员都有其自己的"正确"配置每台路由器的命令列表.笔者将和你分享他自己配置路由器的十条命令列表. 当谈到配置一台新的Cisco路由器,多数配置依赖于路由器的类型以及它将服务的用途.然而,有一些东西是你在每台新的Cisco路由器上都应该配置的. 有哪个命令的标准是你希望思科在每台路由器上都使用的吗?每位管理员都其自己的"正确"配置每台路由器的命令. 这是我认为你应该在每台路由

  • Cisco路由器配置信息及口令的清除

    Cisco 路由器配置信息及口令的清除 适用范围:所有IOS在10.0及以上版本的Cisco 2000.2500.3000.4000.7000系列路由器.   清除步骤如下:   1.用路由器所带的串口线连接到Console口,以下通过Win95的超级终端进行:   2.路由器加电后60秒内,按下CTRL(如果不行按CTRL-BREAK)键,等待出现"〉"提示符:   3.键入"〉e/s 2000002"命令,并记录下返回值,用在后面"Router(con

  • CISCO路由器初始配置简介

    很多初学路由器知识的网友对路由器的初始配置可能感到很陌生,本人在初学时也很困惑,因为一下出来很多提问不知如何是好,下面将最近刚调试的一台CISCO3640的初始配置整理出来与各位网友交流,如有疏漏之处,还请大家指正. 1.用CISCO随机带CONSOLE线,一端连在CISCO路由器的CONSOLE口,一端连在计算机的COM口. 2.打开电脑,启动超级终端.为您的连接取个名字,比如CISCO_SETUP,下一步选定连接时用COM1,下一步选定第秒位数9600,数据位8,奇偶校验无,停止位1,数据流

  • Cisco路由器交换机配置命令详解

    1. 交换机支持的命令: 交换机基本状态: switch: :ROM状态, 路由器是rommon> hostname> :用户模式 hostname# :特权模式 hostname(config)# :全局配置模式 hostname(config-if)# :接口状态交换机口令设置: switch>enable :进入特权模式 switch#config terminal :进入全局配置模式 switch(config)#hostname :设置交换机的主机名 switch(config

  • Cisco路由器上配置WRED的必要性

    Cisco路由器上配置WRED的必要性 尽管队列提供VoIP QoS的拥塞管理 ,仍需要一些提供拥塞规避的机制,像是WRED.特别的,WRED可以防止输出队列达到极限值,这将导致所有输入数据包的丢失.本文来自于Informit,论述了在Cisco路由器上配置WRED的必要性. 请回忆一下在你早期的网络技术学习中的内容--传输控制协议(TCP)的窗口(windowing)是如何工作的.发送者发送一个信息段,如果发送者收到接收者发出的成功的应答,则它再发送两个信息段(即,两个"窗口大小")

随机推荐