1、路由器的安全配置 2004年4月21日 msn:,路由器的安全配置,创建有效的安全策略 路由器的安全目标 防止对路由器的未经授权的访问 (保护路由器本身) 防止对网络的未经授权的访问 (通过路由器来保护网络) 防止网络数据窃听 防止欺骗性路由更新 路由器的安全配置 路由器访问安全 路由器网络服务安全配置: 访问控制列表和过滤: 路由和路由协议的安全配置 日志和管理 路由网络接入服务的安全性 如何防止DDoS攻击,创建安全策略 安全策略的性质 安全策略的两个级别 部署安全策略的基础,安全策略的性质,安全策略意味着折衷 保证对用户访问和效率的影响最小的情况下提供最大的安全性 安全策略应根据企业需要
2、来确定 由需要来支配制定安全策略 安全策略的动态性 根据业务、技术、资源配置的变化而变化,安全策略的两个级别,需求级安全策略: 定义防止网络资源遭受入侵或破坏的保护程度,并对违反安全策略的代价进行估计。 实施级安全策略 使用具体的技术,以预先定义的方式来实施需求级安全策略。,部署安全策略的基础,找出需要保护的网络资源 确定危险之处 限制访问范围 找出假设情况 确定安全措施的代价 考虑认为因素 保持有限的机密 实施具有普遍性的、可调整的安全策略 了解典型的网络功能 物理安全,路由器的安全策略,路由器的安全目标 *需求级* 防止对路由器的未经授权的访问 (保护路由器本身) 防止对网络的未经授权的访
3、问 (通过路由器来保护网络) 防止网络数据窃听 防止欺骗性路由更新 路由器的安全配置 *实施级* 路由器访问安全 路由器网络服务安全配置: 访问控制列表和过滤: 路由和路由协议的安全配置 日志和管理 路由网络接入服务的安全性 如何防止DDoS攻击,路由器安全的原则和目标,路由器安全的原则和目标防止对路由器的未经授权的访问 (保护路由器本身) 防止对网络的未经授权的访问 (通过路由器来保护网络) 防止网络数据窃听 防止欺骗性路由更新,防止对路由器的未经授权的访问(保护路由器本身) 物理安全 操作系统的安全性 路由配置文件的安全 防止对网络的未经授权的访问(通过路由器来保护网络)基于tcp/ip数
4、据包过滤原理、实行入站过滤和出站过滤 允许要求的协议和服务通过 拒绝有危险的协议和服务 防止网络数据窃听 防止欺骗性路由更新,路由器安全的原则和目标,路由器的安全配置,路由器安全的原则和目标 路由器的安全配置路由器访问安全路由器网络服务安全配置访问控制列表和过滤 路由和路由协议的安全配置 日志和管理 路由网络接入服务的安全性 如何防止DDoS攻击,路由器访问安全,物理访问的严格控制 物理运行环境的安全性 远程访问控制 随时更新IOS操作系统 口令安全管理 交互式访问控制,物理访问的严格控制,只有网络管理员可以接触路由器,由管理员负责路由器的安全性 最好有门卫、管理员或电子监控设备,能够对设备进
5、行7*24小时的监控。 同时不能使授权人员接触路由器的过于困难。,物理攻击的例子,(1)一个管理员或攻击者可以通过简单的终端或主机来连接到console口来可以通过物理接触来达到对一个路由器完全具有管理员权限的权利 具体方法做简单的说明:当路由器重启动的开始几秒如果发送一个Break信号到控制台端口,则利用口令恢复程式可以很容易控制整个系统。这样如果一个攻击者尽管他没有正常的访问权限,具有系统重启(切断电源或系统崩溃)和访问控制端口(通过直连终端、Modem、终端服务器)的能力就可以控制整个系统。所以必须保证所有连结控制端口的访问的安全性。 (2)闪存 一个可以物理接触路由器的攻击者可以通过更
6、换闪存的办法,可以使路由器从他的山村启动,运行攻击者的ios系统版本和配置。对这种攻击的防范只能从限制物理接触来防范。必须保证物理上的安全性。,物理运行环境的安全性,合适的温度和湿度 不受电磁干扰 使用ups电源供电等。,远程访问控制,使用访问控制来限制远程管理的接入主机(从物理安全性来考虑) 可能的话最好用加密的方式来保护路由器与远程主机的通信的机密性。 console和aux (辅助端口) 的安全配置路由器访问IP限制命令: access-list 3 permit 215.17.1.0 0.0.0.255 access-list 3 permit 215.17.34.0 0.0.0.25
7、5 access-list 3 deny any line vty 0 4 access-class 3 in,远程访问控制,主要区别是口令恢复的方法只能用在con口上; 在大多数情况下aux是不用的;设置console 过期时间来保持安全性操作:line con 0exec-timeout 5 0禁止aux (辅助端口) 口:一般不需要操作:line aux 0no exectransport input none,随时更新IOS操作系统,新的ios对旧版本的漏洞或bugs都会作出修复。Cisco Upgrade CBOS 2.4.5http:/http:/ 本地用户名认证 AAA(推荐方法
8、) 最好的口令处理方法是将这些口令保存在TACACS+或RADIUS 或KerBeros认证服务器上。,口令安全管理,线路口令认证 线路口令:(从控制台或VTY登录的时候用) password password login 有效(特权)口令设置命令: Enable secret password ( Enable password password ) 本地用户认证 username routeradmin password 7 0317B21895FE line vty 0 4 login local,本地口令安全配置,使用enable secret 命令 enable secret 命令用
9、于设定进入特权EXEC模式的静态口令。 enable password和enable secret的区别 enable password采用的加密算法比较弱。 而enable secret命令采用的是MD5算法,这种算法很难进行破译的。但是这种MD5算法对于字典式攻击还是没有办法。 使用service password-encryption(密码加密服务)这条命令用于对存储在配置文件中的所有口令和类似数据(如CHAP)进行加密。避免当配置文件被不怀好意者看见,从而获得这些数据的明文。但是service password-encrypation的加密算法是一个简单的维吉尼亚加密,很容易被破译。
10、所以不要以为加密了就可以放心了,最好的方法就是选择一个长的口令字,避免配置文件被外界得到。且设定enable secret和service password-encryption。,多级权限配置,缺省条件下,Cisco IOS只有一个超级权限的口令,可以配置Cisco IOS有多达16个级别的权限及其口令。可以设置通过某个级别的口令登录的用户只允许使用某些命令。设置步骤: 1.设置某条命令属于某个级别,在全局设置模式下privilege mode level 级别 命令关键字no privilege mode level 级别 命令关键字注意:Cisco IOS 可以定制0-15个级别权限。0
11、-15级别中,数字越大,权限越高,权限高的级别继承低权限的所有命令。 2.设置某个级别的口令enable secret level 级别 口令通过多级权限,可以根据管理要求,授予相应的工作以相应的权限。,TACACS认证认证配置,(TACACS认证) aaa new-model aaa authentication login default tacacs+ enable aaa authentication enable default tacacs+ enable(是否可以访问特权级别的命令) aaa accounting exec start-stop tacacs+ ip tacacs
12、 source-interface Loopback0 tacacs-server host 215.17.1.2 tacacs-server host 215.17.34.10 tacacs-server key CKr3t#(对传输的信息进行加密) line vty 0 4 login authentication default local,交互式访问控制,登录路由器的方法 :直连的控制台终端登录Modem拨号登录支持如Telnet、rlogin、Ssh以及非基于IP的网络协议如LAT、MOP、X.29和V.120等 的远程网络登录本地的异步终端和拨号Modem用标准的“TTYs“。 远
13、地的网络连结不管采用什么协议都是虚拟的TTYs,即“VTYs“。,控制VTY(虚拟终端),任何VTY应该仅允许指定的协议建立连结。利用transport input命令。如一个VTY只支持Telnet服务,可以如下设置 transport input telnet。transport input ssh。 仅允许的ip地址范围可以利用ip access-class限制访问VTY的。,控制VTY (虚拟终端),防止对能被利用进行Dos(拒绝服务攻击)。这里攻击者不必登录进入,只要建立连结,到login提示符下就可以,消耗到所有的VTYs。 好的防御方法: 利用ip access-class命令限
14、制最后一个VTYs的访问地址,只向特定管理工作站打开。而其他的VTYs不限制,从而既保证了灵活性,也保证关键的管理工作不被影响。 另一个方法是利用exec-timeout命令,配置VTY的超时。避免一个空闲的任务一直占用VTY。 类似的也可以用service tcp-keepalives-in 保证Tcp建立的连结是活动的,从而避免恶意的攻击或远端系统的意外崩溃导致的资源独占。 更好的保护VTY的方法是关闭所有非基于IP的访问,且使用IPSec加密所有的远端与路由器的连结。,设置timeout,设置timeout (超过这个时间无任何操作,就取消该会话) line con 0 exec-tim
15、eout 5 0 line aux 0 exec-timeout 10 0 line vty 0 4 exec-timeout 5 0 service tcp-keepalives-in,路由器的安全,路由器安全的原则和目标 路由器的安全配置路由器访问安全路由器网络服务安全配置访问控制列表和过滤 路由和路由协议的安全配置 日志和管理 路由网络接入服务的安全性 如何防止DDoS攻击,路由器网络服务安全配置,基于TCP和UDP协议的小服务echo、chargen和discard。 Finger、NTP、CDP等服务,基于TCP和UDP协议的小服务,这些服务很少被使用,而且容易被攻击者利用来越过包过
16、滤机制。如echo服务,就可以被攻击者利用它发送数据包,好像这些数据包来自路由器本身。所以最好禁止这些服务。命令: no service tcp-small-servers no service udp-small-servers,Finger、NTP、CDP等服务,服务作用Finger服务可能被攻击者利用查找用户和口令攻击。 NTP不是十分危险的,但是如果没有一个很好的认证,则会影响路由器正确时间,导致日志和其他任务出错。 CDP可能被攻击者利用获得路由器的版本等信息,从而进行攻击。 安全配置:可以禁止上述服务。命令: no service finger no ntp enabel no c
17、dp run (全局配置) no cdp enable (端口配置) no ip bootp server,以下端口服务通常可以关闭: no ip redirects no ip directed-broadcast,路由器安全的原则和目标 路由器的安全配置路由器访问安全路由器网络服务安全配置访问控制列表和过滤路由和路由协议的安全配置 日志和管理 路由网络接入服务的安全性 如何防止DDoS攻击,访问控制列表和过滤,访问控制列表 配置原则 访问控制列表 配置防止外部IP地址欺骗 防止外部的非法探测 保护路由器不受攻击 阻止对关键端口的非法访问 对内部网的重要服务器进行访问限制,访问控制列表配置原
18、则,可以在网络的任何一点进行限制,但是最好在网络的边界路由器上进行,因为在网络内部是难于判断地址伪造的。最好对接口进入的数据进行访问控制(用ip access-group list in)。因为输出列表过滤只保护了位于路由器后的网络部分,而输入列表数据过滤还保护了路由器本身不受到外界的攻击。不仅对外部的端口进行访问控制,还要对内部的端口进行访问控制。因为可以防止来自内部的攻击行为 所有向内对话应用于路由器外部接口的IN方向,所有向外对话应用于路由器外部接口的OUT方向。,访问控制列表 配置说明,防止外部IP地址欺骗 防止外部的非法探测 保护路由器不受攻击 阻止对关键端口的非法访问 对内部网的重
19、要服务器进行访问限制 针对最新蠕虫防范的访问列表,防止外部IP地址欺骗,access-list 101 deny ip 10.0.0.0 0.255.255.255 any access-list 101 deny ip 192.168.0.0 0.0.255.255 any access-list 101 deny ip 172.16.0.0 0.0.255.255 any 阻止源地址为私有地址的所有通信流。 access-list 101 deny ip 127.0.0.0 0.255.255.255 any 阻止源地址为回环地址的所有通信流。 access-list 101 deny i
20、p 224.0.0.0 7.255.255.255 any 阻止源地址为多目的地址的所有通信流。 access-list 101 deny ip host 0.0.0.0 any 阻止没有列出源地址的通信流。 注:可以在外部接口的向内方向使用101过滤。,防止外部的非法探测,access-list 102 deny icmp any any echo 阻止用ping探测网络。 access-list 102 deny icmp any any time-exceeded 阻止用traceroute探测网络。 注:可在外部接口的向外方向使用102过滤。在这里主要是阻止答复输出,不阻止探测进入。,
21、保护路由器不受攻击,路由器:外部接口serial0的IP为200.200.200.1,内部接口fastethernet0的IP为200.200.100.1 access-list 101 deny tcp any 200.200.200.1 0.0.0.0 eq 23 access-list 101 deny tcp any 200.200.100.1 0.0.0.0 eq 23 access-list 101 deny udp any 200.200.200.1 0.0.0.0 eq 161 access-list 101 deny udp any 200.200.100.1 0.0.0.0
22、 eq 161,阻止对关键端口的非法访问,access-list 101 deny tcp any any eq 135 access-list 101 deny tcp any any eq 137 access-list 101 deny tcp any any eq 138 access-list 101 deny tcp any any eq 139 access-list 101 deny udp any any eq 135 access-list 101 deny udp any any eq 137 access-list 101 deny udp any any eq 138
23、 access-list 101 deny udp any any eq 139,对内部网的重要服务器进行访问限制,允许外部用户到Web服务器的向内连接请求。 允许Web服务器到外部用户的向外答复。 允许外部SMTP服务器向内部邮件服务器的向内连接请求。 允许内部邮件服务器向外部SMTP服务器的向外答复。 允许内部邮件服务器向外DNS查询。 允许到内部邮件服务器的向内的DNS答复。 允许内部主机的向外TCP连接。 允许对请求主机的向内TCP答复。,针对sql-slammer、Netbios_Worm.Dvldr_蠕虫 的访问列表,access-list 110 deny udp any any
24、 eq 1434 access-list 110 deny tcp any any eq 445 access-list 110 deny tcp any any eq 5800 access-list 110 deny tcp any any eq 5900 access-list 110 deny 255 any any access-list 110 deny 0 any any access-list 110 permit ip any any,基本访问列表实现会话过滤,使用基本的标准访问列表和静态扩展访问列表实现会话过滤, 可以通过在permit命令中使用关键字established
25、,近似地实现会话过滤。established关键字根据是否设置了ACK或RST位来过滤TCP包(设置了ACK或RST位后,说明这个包不是会话的第一个包)。 -使用关键字established的第一种方法只适用于TCP上层协议,对其它上层协议(比如UDP、ICMP等等),则要么允许所有输入流量,要么为每个协议定义所有可能的源主机和目的主机或源端口地址和目的端口地址对(它不但是一个不可管理的任务,而且还占用了NVRAM空间)。 -这种过滤标准可以作为访问列表的一部分长期应用到接口上。,反射访问列表与基本访问列表实现会话过滤的区别,使用反射访问列表实现会话过滤反射访问列表提供了一种真正意义的会话过滤
26、, 过滤规则相匹配(例如,除了检查ACK和RST位外,源地址、目的地址和端口号也要被检查),所以反射访问列表能更有力地抵御欺诈。 会话过滤使用临时过滤器,在会话结束时,临时过滤器被删除,这样,就把黑客的攻击机会缩小到了一个更小的时限窗口。,反射访问列表的工作方式,当一个新的IP高层会话(如TCP或UDP)从网络内部发起、并将包传送到外部网络时,反射访问列表被触发。触发后,反射访问列表生成一个新的临时入口,如果外部来的流量是这个会话的一部分,则此入口将允许它进入网络内部,如果不是会话的一部分,则被禁止进入网络内部。 例如,如果有一个TCP包从内部网络往外传送,并且这个包是TCP会话的第一个包,则
27、将产生一个新的临时反射访问列表入口,这个入口附加在应用于输入流量的反射访问列表上, 并具有下述特征: 此入口总是一个允许(permit)入口。 入口指定的协议与初始输出的TCP包的协议相同。,反射访问列表的特点,反射访问列表基于上层会话信息过滤IP包。使用反射访问列表,可以允许源自内部网络的IP会话流量,而拒绝源自外部网络的IP会话流量,这一任务通过反射过滤(一种会话过滤)来完成。反射访问列表只能使用扩展的命名IP访问列表来定义。不可以使用数字名或标准命名的IP访问列表或使用其它协议的访问列表来定义反射访问列表。 可以把反射访问列表和其它标准访问列表或静态访问列表结合起来使用。 反射访问列表对
28、进入网络的外部分组有更强的控制能力。,反射访问列表的特点,反射访问列表和其它访问列表有许多相似之处。反射访问列表包含了用于定义允许IP包规则的条件语句(入口),这些入口按次序求值,当出现一个匹配时,其它入口便不再求值。 反射访问列表也与其它类型的访问列表存在一些重要的差异。反射访问列表只包含临时入口,这些入口在新的会话开始(有一个输出包)时创建,并在会话结束时删除。 反射访问列表自身并不直接应用到接口,而是嵌套地通过扩展命名IP访问列表应用到接口。由于嵌套的原因,反射访问列表的最后不存在隐含的“拒绝所有流量(Deny All Traffic)”语句。,反射访问列表的配置,ip access-l
29、ist extendedname 对于外部接口:指定输出访问列表 对于内部接口:指定输入访问列表 permit protocol any anyreflect name timeoutseconds 使用反射permit入口定义反射访问列表,为每个IP上层协议重复这个步骤,例如,用户既可为TCP会话、也可为UDP会话定义反射过滤。可以在多个协议中使用相同的名字。 ip access-group name out或ip access-group name in 对于外部接口:把扩展访问列表应用于接口的输出型流量 对于内部接口:把扩展访问列表应用于接口的输入型流量,反射访问列表的配置,evalua
30、te name 增加一个指向反射访问列表的入口,为先前定义了名字的每个反射访问列表都增加一个入口ip reflexive-list timeout seconds 更改临时访问列表入口的全局超时值(没有会话数据流后多常时间内,反射访问列表被删除),路由器安全的原则和目标 路由器的安全配置路由器访问安全路由器网络服务安全配置访问控制列表和过滤 路由和路由协议的安全配置 日志和管理 路由网络接入服务的安全性 如何防止DDoS攻击,路由和路由协议的安全,路由的安全防 范 Smurf攻击防止源路由攻击Icmp 重定向攻击 防止盗用内部IP地址防止DDoS攻击 路由协议的安全,这种攻击方法结合使用了IP
31、欺骗和ICMP回复方法使大量网络传输充斥目标系统,引起目标系统拒绝为正常系统进行服务。攻击的过程是这样的:Woodlly Attacker向一个具有大量主机和因特网连接的网络的广播地址发送一个欺骗性Ping分组(echo 请求),这个目标网络被称为反弹站点,而欺骗性Ping分组的源地址就是Woolly希望攻击的系统。这种攻击的前提是,路由器接收到这个发送给IP广播地址(如206.121.73.255)的分组后,会认为这就是广播分组,并且把以太网广播地址FF:FF:FF:FF:FF:FF:映射过来。这样路由器人因特网上接收到该分组,会对本地网段中的所有主机进行广播。,防范Smurf攻击,“smu
32、rf”攻击原理: 攻击者通过不断的发送一个源地址为非法地址的直接广播包到攻击的子网。从而导致子网的所有主机向这个非法地址发送响应,最终导致目的网络的广播风暴。,防范Smurf攻击,阻止从你的网络中发起的Smurf攻击 Access-list 100 permit IP 你的网络号 你的网络子网掩码 any Access-list 100 deny IP any any 防止本网络做为中间代理如果没有必须要向外发送广播数据包的情况,就可以在路由器的每 个接口上设置禁止直接广播,命令如下: no ip directed-broadcast 边界路由器上使用以下命令: ip verify unica
33、st reverse-path 让路由器对具有相反路径的ICMP欺骗数据包进行校验,丢弃那些没有路径存在的包。,Icmp 重定向攻击,Icmp 重定向攻击也是一种常用的路由攻击方法。攻击者通过发送错误的重定向信息给末端主机,从而导致末端主机的错误路由。将本应送到正确目标的信息重定向到它们指定的设备,从而获得有用信息 禁止外部用户使用ICMP重定向的命令如下: interface serial0 no ip redirects,防止外部源路由欺骗,源路由选择是指使用数据链路层信息来为数据报进行路由选择。该技术跨越了网络层的路由信息,使入侵者可以为内部网的数据报指定一个非法的路由,这样原本应该送到
34、合法目的地的数据报就会被送到入侵者指定的地址。 禁止使用源路由的命令如下: no ip source-route,防止盗用内部IP地址,攻击者可能会盗用内部IP地址进行非法访问。针对这一问题,可以利用Cisco路由器的ARP命令将固定IP地址绑定到某一MAC地址之上。具体命令如下: arp 固定IP地址 MAC地址 arpa,路由协议的安全,路由邻接认证 RIP协议的漏洞和防范措施 BGP协议的漏洞和防范措施 OSPF 协议的漏洞和防范措施,邻接认证的必要性,没有邻接认证的危险: 未授权的或故意的恶意路由更新可能危害网络通信的安全性。如果一个非友好的团体转移或者分析网络中的通信流,就会造成安全
35、问题。 例如,未经授权的路由器可以发送假的路由更新信息,使你的路由器确信向一个不正确的目的地发送数据流。 这种转移的通信可以用来进行分析,以掌握网络组织的机密信息, 或者仅仅给组织机构的有效通信造成混乱。 邻接认证的优点: 无论何时在邻接路由器之间交换路由更新信息时,都将进行邻接认证。 确保路由器从可靠的来源接收到可以依赖的路由信息,防止路由更新欺诈。,邻接认证工作原理与工作方式,工作原理: 当在路由器上配置了邻接认证时,该路由器对其收到的每个路由更新包的来源都要进行认证。 认证过程通过交换认证密钥或消息摘要(有时称为口令)完成,该密钥对于发送路由器和接收路由器都是已知的。 认证方式 明文文本
36、认证 消息摘要算法版本5(MD5)认证。这两种认证形式的工作方式完全相同。,明文文本认证,明文文本认证方式: 每台参予邻接认证的路由器必须共享一个认证密钥。该密钥是在配置每个路由器时指定的。 有些协议可以指定多个密钥;每个密钥必须使用一个密钥号标识 认证过程: 步骤1 某个路由器向邻接的路由器发送带密钥及该密钥对应的密钥号的路由更新。在只能有唯一一个密钥的协议中,密钥号总是零。 步骤2 接收(邻接)路由器检查收到的密钥,与存储在自身存储器内的密钥比较,看是否相同。 步骤3 如果两个密钥匹配,则接收路由器接受路由更新包。如果不匹配,则拒绝路由更新包。 下述协议使用明文文本认证: DRP服务代理协
37、议IS-IS协议l OSPF协议 RIP协议版本2,MD5认证,认证方式: 路由器使用MD5算法产生该密钥的一条消息摘要(也叫做散列)。然后发送消息摘要,而不是密钥本身。 确保在信息传输期间,没有人能够在线路上窥视并掌握密钥。MD5认证过程与明文文本认证的过程相同。下述协议使用MD5认证: OSPF协议RIP协议版本2 BGP协议 IP增强的IGRP协议,使用邻接认证的协议,使用邻接认证的协议邻接认证可以配置下述路由协议: 边界网关协议(BGP,Border Gateway Protocol)DRP服务器代理协议(DRP Server Agent)中间系统对中间系统协议(IS-IS,Inter
38、mediate System-to-Intermediate System) IP增强的内部网关路由协议(IGRP,IP Enhanced Interior Gateway RoutingProtocol)开放的最短路径优先协议(OSPF,Open Shortest Path First)第二版路由信息协议(RIP,Routing Information Protocol version 2,RIP协议的基本特点,基于距离矢量的路由协议,其所有路由基于(hop)跳数来衡量。 RIP是作为一种内部网关协议(interior gateway protocol),即在自治系统内部执行路由功能。外部网
39、关路由协议(exterior gateway protocol),如边缘网关协议(BGP),在不同的自治系统间进行路由。 RIP协议对大型网络来说不是一个好的选择,因为它只支持15跳, RIP协议能和其他路由协议共同工作,依照Cisco,RIP 协议经常用来与OSPF协议相关联.,RIP协议的漏洞和脆弱点,RIPv1 天生就有不安全因素,因为它没有使用认证机制并使用不可靠的UDP协议进行传输。 RIP信息包可以很容易的伪造. RIPv2的分组格式中包含了一个选项可以设置16个字符的明文密码字符串(表示可很容的被嗅探到)或者MD5签字。虽然RIP信息包可以很容易的伪造,但在RIPv2中你使用了M
40、D5签字将会使欺骗的操作难度大大提高。RIP更新提交的路由可以通过其他路由协议重新分配,这样如果一攻击者能通过RIP来欺骗路由到网络,然后再通过其他协议如OSPF或者不用验证的BGP协议来重新分配路由,这样攻击的范围将可能扩大。,RIP协议的探测,一个测试者或者攻击者可以通过探测520 UDP端口来判断是否使用RIP,你可以使用熟悉的工具如nmap来进行测试,如下所示,这个端口打开了并没有使用任何访问控制联合任意类型的过滤: roottest# nmap -sU -p 520 -v router.ip.address.2 interesting ports on (router.ip.addr
41、ess2): Port State Service 520/udp open route,攻击的方式,有些工具组合可以比较容易的进行RIP欺骗攻击攻击, 这些工具是使用rprobe来获得远程网络RIP路由表,使用标准的tcpdump或者其他嗅探工具来查看路由表, srip来伪造RIP信息包(v1或者v2), 再用fragrouter重定向路由来通过我们控制的主机,并使用类似dsniff的工具来最后收集一些通信中的明文密码。,防范措施,建议: 采用RIPv2(具有MD5安全机制)代替RIPv1协议; 使用MD5认证的OSPF来提高安全性。,BGP是Exterior Gateway Protoco
42、l (EGP,外部网关协议),BGP协议执行自主系统之间的路由,BGP4是最近的流行标准。 BGP使用几种消息类型,最重要的消息是UPDATE消息类型,这个消息包含了路由表的更新信息,全球INTERNET大部分依靠BGP,BGP协议相关的漏洞和防范措施,u 由于BGP使用了TCP的传输方式,它就会使BGP引起不少关于TCP方面的问题,如很普遍的SYN Flood攻击,序列号预测,一般拒绝服务攻击等。 u 部分BGP的实现默认情况下没有使用任何的认证机制,而有些可能存在和RIP同样的问题就是使用了明文密码。这样假如认证方案不够强壮的话,攻击者发送UPDATE信息来修改路由表的远程攻击的机会就会增
43、加许多,导致进一步的破坏扩大。 u BGP也可以传播伪造的路由信息,如果攻击者能够从一协议如RIP中修改或者插入路由信息并由BGP重新分配。这个缺陷是存在与信任模块中而不是其协议本身。,BGP协议相关的漏洞和防范措施,BGP使用TCP 179端口来进行通信,因此nmap必须探测TCP 179端口来判断BGP的存在。 roottest# nmap -sS -p 179 -v router.ip.address.2 Interesting ports on (router.ip.address2): Port State Service 179/tcp open bgp -一个开放的BGP端口,更
44、容易被攻击 roottest# nmap -sS -n -p 179 router.ip.address.6 Interesting ports on (router.ip.address.6): Port State Service 179/tcp filtered bgp BGP端口被过滤了,对攻击有一定的抵抗力。,BGP协议相关的漏洞和防范措施,建议: 要使BGP更安全,你最好对端口179采用访问列表控制,使用MD5认证。,OSPF是动态连接状态路由协议,其保持整个网络的一个动态的路由表并使用这个表来判断网络间的最短路径; OSPF是内部使用连接状态路由协议,协议通过向同层结点发送连接状
45、态信息(LSA)工作,当路由器接收到这些信息时,它就可以根据SPF算法计算出到每个结点的最短路了。; 一旦路由器接受到Hello信息包,它就开始同步自己的数据库和其他路由一样;,OSPF可以被配置成: 没有认证机制; 使用明文密码认证; MD5;这样如果攻击者能获得一定程度的访问,如他们可以使用如dsniff等工具来监视OSPF信息包和或者明文密码,这个攻击者可以运行divert socket或者其他可能的各种类型ARP欺骗工具来重定向通信。安全建议 配置成MD5认证,OSPF认证需要KEY的交换,每次路由器必须来回传递这个KEY来认证自己和尝试传递OSPF消息, 路由器的HELLO信息包在默
46、认配置下是每10秒在路由器之间传递,这样就给攻击者比较的大机会来窃听这个KEY,如果攻击者能窃听网络并获得这个KEY的话,OSPF信息包就可能被伪造,更严重的会盲目重定向这些被伪造的OSPF信息包。 当然这些攻击少之又少,不只是其难度,重要的是因为还有其他更容易的安全漏洞可以利用,谁不先捏软柿子.,OSPF使用协议类型89,因此你可以使用nmap协议扫描来判断OSPF,除非网络通过配置访问列表来不响应这些类型的查询。如下所示: roottest# nmap -sO -router.ip.address.252 Interesting protocols on (router.ip.addres
47、s.252): Protocol State Name 89 open ospfigp,路由器安全的原则和目标 路由器的安全配置路由器访问安全路由器网络服务安全配置:访问控制列表和过滤: 路由和路由协议的安全配置 日志和管理 路由网络接入服务的安全性 如何防止DDoS攻击,Cisco路由器支持如下的日志,AAA日志:主要收集关于用户拨入连结、登录、Http访问、权限变化等。这些日志用TACACS+或RADIUS协议送到认证服务器并本地保存下来。这些可以用aaa accouting实现。 Snmp trap 日志:发送系统状态的改变到Snmp 管理工作站。 系统日志:根据配置记录大量的系统事件。
48、并可以将这些日志发送到下列地方: 控制台端口(缺省的情况下) Syslog 服务器 TTYs或VTYs 本地的日志缓存。,是否指定日志服务器描述:可以将UNIX 主机或者win 主机配置日志服务来集中收集日志操作:logging $(SYSLOG HOST)定义本地日志缓存大小描述:定义内部日志缓存大小本地日子缓存大小为:LOG BUFFER SIZE: 操作:logging buffered $(LOG BUFFER SIZE)是否需要console 口纪录关键消息描述:定义是否从console 口来记录关键消息操作:logging console critical远端日志的级别描述:定义是
49、否给日志服务器发送陷阱消息操作:logging trap informational,路由管理服务安全配置,许多的用户利用协议来管理路由器 SNMP SNMPV1 SNMPV2 Http。,Cisco 路由器SNMP管理公用字符串漏洞,Cisco 路由器在默认情况下有一个危害极大的漏洞,即采用SNMP两个公用字符串,“public”为读字符串,“private”为写字符串,其实这就是Cisco 路由器的SNMP管理的读和写口令。利用这两个口令可以获得该路由的几乎一切信息,有的Cisco 路由器还允许 “private”下载和上传该路由器的配置文件;这个可写字符串还可以断开路由器网卡的连接,更改
50、登录口令。,SNMP协议安全管理,SNMPV1 (1)如果你不使用SNMP来管理Cisco设备,就禁止此服务。 no snmp-server (2)如果必须要求使用此服务,必须更改缺省管理关键字。请设置通信串为一个比较难猜测的字符串,并限制对其的访问。ACL规则限定只能从合适的主机或网络接受访问所在设备的SNMP请求。 Access-l 101 permit udp 10.10.2.0 0.255.255.255any eq 161 log 使能只读(RO)SNMP的能力snmp-server community secret RO SNMPV2 基于Keyed-MD5的认证方式 snmp-server party Digest Authentication,