一、路由器网络服务安全配置1.1部分协议未关闭路由器未关闭部分服务。建议禁止CDP、TCP\UPD小服务、Finger、HTTP、BOOTp、Arp-proxy、IP-Directed-Broadcast、Classless、ICMP协议的IPUnreachables,Redirects,MaskReplies、Wins和DNS等服务和协议。如果需开启诸如HTTP服务,需要对其进行安全配置:设置用户名和密码或采用访问列表进行控制。Router(Config)#nocdprunRouter(Config-if)#nocdpenableRouter(Config)#noservicetcp-small-serversRouter(Config)#noserviceudp-samll-serversRouter(Config)#noipfingerRouter(Config)#noservicefingerRouter(Config)#noiphttpserver((该服务在主机名为Bao_Xie_C2811_BRI0_200.207.STB和WKRT02的路由器上开启并进行认证IphttpserverIphttpauthenticationlocalIphttptimeout-policyidle60life86400requests10000)Router(Config)#noipbootpserverRouter(Config)#noipsource-routeRouter(Config)#noipproxy-arpRouter(Config-if)#noipproxy-arpRouter(Config)#noipdirected-broadcastRouter(Config)#noipclasslessRouter(Config-if)#noipunreacheablesRouter(Config-if)#noipredirectsRouter(Config-if)#noipmask-replyRouter(Config)#noipdomain-lookup(该服务在主机名为Bao_Xie_C2811_BRI0_200.207.STB和WKRT02的路由器上均已关闭)协议/服务介绍CDP(CiscoDiscoveryProtocol)—在OSI二层协议即链路层的基础上可发现对端路由器的部分配置信息:设备平台、操作系统版本、端口、IP地址等重要信息。TCP、UDP小服务检查—该服务用于查看路由器诊断信息。Finger服务检查—Finger服务用于查看路由器当前用户列表。BOOTp服务检查—禁止从网络启动和自动从网络下载初始配置文件。IPSourceRouting服务检查—IPsource-route是一个全局配置命令,允许路由器处理带源路由选项标记的数据流。启用源路由选项后,源路由信息指定的路由使数据流能够越过默认的路由,这种包就可能绕过防火墙。ARP-Proxy服务检查—建议如果不需要ARP-Proxy服务则禁止它,路由器默认识开启的,它容易引起路由表的混乱。IPDirectedBroadcast服务开启时,攻击者可以使用假冒的源地址向你的网络广播地址发送一个“ICMPecho”请求。这要求所有的主机对这个广播请求做出回应。这种情况至少会降低你的网络性能。IPClassless服务检查—路由可能会收到一些发往一个没有网络缺省路由的子网的数据包,如有启用这服务,路由器会将这些数据包转发给最有可能路由的超网(supernet),由于缺省情况下这些服务是开启的,这种服务可能被各种攻击利用,在进行安全检查时应检查时建议关闭该服务。禁止ICMP协议的IPUnreachables,Redirects,MaskReplies。IPUnreachables(不可达消息)服务开启时,可以向发送者通告(不可达地方)的ip地址,攻击者能够借此映射网络。Redirects(重定向消息)服务开启时,可以让一个端节点用特定的路由器做为通向特定目的地路径。正常的ip网络中,一台路由器只向位于自己本地子网的主机发送重定向消息,端节点不会发送这种消息,此消息也不会超过一个网络跳数的地方发送。MaskReplies(掩码应答)服务开启时,ciscoios会向icmp掩码要求发送icmp掩码应答的消息,其中包括接口的ip地址掩码。SNMP协议服务检查—SNMP广泛应用在路由器的监控、配置方面。SNMPVersion1在穿越公网的管理应用方面,安全性低,不适合使用。利用访问列表仅仅允许来自特定工作站的SNMP访问通过这一功能可以来提升SNMP服务的安全性能。如果没必要则禁止WINS和DNS服务—服务开启时,路由器dns服务会向255.255.255.255广播地址发送名字查询,攻击者可以伪装成一个dns服务来攻击。1.2Snmp访问没有采用访问控制列表进行限制你能使用访问列表和更改snmp-server版本的命令去限制到你的网络的访问。让我们假设你有一个C类网络地址204.50.25.0。access-list5permit204.50.25.00.0.0.255snmp-servercommunitytouchRW5第一个命令创建一个号码为5的访问列表(在这儿5是一个任意的数值),仅允许来自网络204.50.25.0的流量。第二个命令允许读和写访问到任何提交communitystring为touch的软件,只要请求是来自于204.50.25.0的网络。检查DMZ主机名为Bao_Xie_C2811_BRI0_200.207.STB的路由器:Snmp-servercommunitygynbRWSnmp-servercommunitypublicROSnmp-serverhost9.0.201.215version2cgynb未设置访问控制列表,即所有可访问该网段的主机均可以访问改路由器。检查皖垦分支机构路由器,主机名为WKRT02,也存在类似问题,且snmp版本较低?建议采用snmpv2或v3。1.3SnmpAgentDefaultCommunityNames存在漏洞snmp-servercommunitylookROsnmp-servercommunitytouchRW第一个命令允许读访问到任何提交communitystring为look的软件。第二个命令允许读和写访问到任何提交communitystring为touch的软件为你的communitystring选择强壮的口令是非常重要的!在上面例子中我使用的口令显然是非常弱的。不要使用象public或private这样的string名。每一个人都能猜到这样的名字,因为他们普遍地被使用。如果可能的话,你应该避免对你所有的路由器使用相同的communitystring,尽量为每一个设备使用不同的string。不要让只读string与读/写string相同。有一个SNMP口令评判工具叫做SNMPBruteForceAttack,可以从SolarWinds得到,它能测试你的communitystring的强度。它在你的SNMP激活路由器上执行一个字典攻击。事实上,你可以在任何SNMP激活的设备,如server、switch、hub或modem上使用它。同时,不要忘记定期更改你的口令。检查DMZ主机名为Bao_Xie_C2811_BRI0_200.207.STB的路由器:Snmp-servercommunitygynbRWSnmp-servercommunitypublicRO发现该路由器仍使用通用名字public的读访问操作,且写操作的名字并不复杂。检查皖垦分支机构路由器,主机名为WKRT02,Snmp-servercommunityciscoRWSnmp-servercommunitypublicRO也存在类似问题。1.4路由器snmptraps功能未开启?路由器未开启snmptraps功能我们可以使用SNMP的trap性能,当某人用不正确的communitystring发送SNMP命令时,让路由器来告诉我们。这个工具需要管理工作站装有如CiscoWorks这样的软件。snmp-serverenabletrapssnmp-servertrap-authenticationsnmp-serverhost204.50.25.5第一个命令告诉路由器使能trap,如果它不是激活的,没有trap被向前转发。第二个命令告诉路由器如果communitystring的验证失败,发送一个trap。第三个命令告诉路由器哪一个主机应该被发送trap。检查DMZ主机名为Bao_Xie_C2811_BRI0_200.207.STB的路由器:发现该路由器未开通snmptraps。检查皖垦分支机构路由器,主机名为WKRT02,也存在类似问题。二、路由器的访问控制安全2.1路由器密码未加密现场检查DMZ区连接N7000的某台CISCO2950路由器:改配置文件显示为Enablepasswordgynybx发现密码为6位明文显示,未使用Servicepassword-encryption或enablesecret加密。2.2通过VTY访问访问路由器需禁用telnet由于VTY在网络的传输过程中未加密,所以,如果需要使用,一定要设置强壮的密码同时使用SSH加密传输,或控制连接的并发数目;或采用访问列表严格控制访问的地址;或可以采用AAA设置用户的访问控制等。路由器未对VTY访问进行控制。检查DMZ主机名为Bao_Xie_C2811_BRI0_200.207.STB的路由器配置:Linecon0Lineaux0Linevty04LoginlocalTransportinputtelnet设置了并发连接为0-4(共5个),可以使用telnet登录检查皖垦分支机构路由器,主机名为WKRT02的路由器配置:Linecon0LoginlocalLineaux0Linevty04Access-class23inLoginlocalTransportinputrloginLinevty515Access-class23inLoginlocalTransportinputtelnet设置了并发连接为0-4,可以使用rlogin,5-15的可以使用telnet登录。补偿控制,采用Xshell通过SSH连接路由器可规避密码泄露风险。2.3路由器的账户及密码设置未测试,小胡,请抽查路由器的登录账户及密码策略。例如,皖垦路由器存在CISCO特权账户和gybx新建账户,再抽查一台其他路由器的账户。三、路由器路由协议安全配置3.1OSPF认证明码明文显示或未设置启用OSPF路由协议的认证。默认的OSPF认证密码是明文传输的,建议启用MD5认证。并设置一定强度密钥(key,相对的路由器必须有相同的Key)。检查皖垦分支机构路由器,主机名为WKRT02,存在ospf认证密码未配置的情况。建议使用下列命令配置:#ipospfmessage-digest-key1md5PasswOrd0931(配密文密码)#ipospfauthenticationmessage-digest-key(启动密文认证)3.2建议启用IPUnicastReverse-PathVerification检查发现路由器未设置IPUnicastReverse-PathVerification。它能够检查源IP地址的准确性,从而可以防止一定的IPSpooling。但是它只能在启用CEF(CiscoExpressForwarding)的路由器上使用。uRPF有三种方式,strict方式、ACL方式和loose方式。在接入路由器上实施时,对于通过单链路接入网络的用户,建议采用strict方式;对于通过多条链路接入到网络的用户,可以采用ACL方式和loose方式。在出口路由器上实施时,采用loose方式。网络部分的结论:网络未设计统一的安全策略,并遵照安全策略加以执行。