路由器访问安全.doc_第1页
路由器访问安全.doc_第2页
路由器访问安全.doc_第3页
路由器访问安全.doc_第4页
路由器访问安全.doc_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

以前翻译的一篇文章,本来想用来骗点钱,现在看来只能用来骗点经验.目 录1路由器访问安全31.1物理安全31.2路由器的软件版本31.3 Logins,Privileges,Passwords,and Accounts31.4 远程访问41.5认证,授权,和记帐51.6配置加载和维护的具体部署52路由器网络服务安全52.1 Typical Services,Required services,and Security Risks52.2如何关闭不需要的服务62.3关闭未使用的端口102.4配置举例103路由和路由协议113.1路由普遍的隐患113.2 PROXY ARP AND LANS113.3 路由表,静态路由,和路由协议123.4 关闭不必要的路由服务134 审计和管理144.1 内容和机制144.2 配置登陆和时间服务154.3 SNMP安全185 访问列表185.1利用访问列表过滤访问路由器的数据包185.2利用访问列表过滤通过路由器的数据包191路由器访问安全1.1物理安全网络设备,特别是路由器和交换机,应该安放在一个有限制的地方。如果有可能这个地方最好是只有这些设备的管理员才能进入。而且这个地方必须在1天24小时、1星期7天的安全管理之下,这种安全管理可以是大楼的保卫或是电子门警。举例说明物理安全是整个路由器安全中非常关键的一个因素,系统管理员(或者攻击者)可以简单的利用一台电脑连接到路由器的CONSOLE端口,以修改ENABLE SECRET密码。Step 1 使路由器不读STARTUP-CONFIG(存在于NVRAM中)启动。Step 2 重启系统。Step 3 进入Enable Mode(不需要任何密码)Step 4 修改密码,然后保存配置,并配置路由器使其正常方式启动。Step 5 重启系统。另一个重要原因是很多路由器包含了flash memory卡的插槽。如果攻击者能够物理接近路由器,他可以很轻松地安装或替换flash memory卡。假如系统管理员不是非常的仔细或足够的优秀,这样的攻击很难被检测到。最好的防卫就是要做到物理安全。另一个与物理安全相关的是物理操作环境。象很多的网络设备如路由器,对温度和湿度是非常敏感的,而且放置路由器的房间尽可能避免受到电磁的干扰。另外,所有的路由器应该由UPS来供电。1.2路由器的软件版本Cisco相当频繁发布新的IOS版本,对一个大型网络管理员来说,网络上所有路由器保持最新版本是一件非常困难的事。新的IOS版本修正了一些漏洞,而且有更高的安全特性。我们建议采用最新的“GD”版本的IOS软件。1.3 Logins,Privileges,Passwords,and AccountsLogins最好要设置带有法律方面提示的登陆旗帜(Login Banner),法律方面的提示经常是包括类似“不得入侵”的警告。设置登陆旗帜的命令为:banner motd delimiter message delimiterVTYs and Remote Administration基本的远程管理路由器的方式是通过Telnet登陆。如果远程登陆是不必要的,那么就应该在路由器上把虚拟终端屏蔽掉。因为远程管理本身具有天然的不安全性,比如利用SNIFFER就可以获得路由器的密码。屏蔽虚拟终端可以使用transport input none这条命令或利用访问列表,如下所示:Hirun# config tEnter configuration commands, one per line. End with CNTL/Z.Hirun(config)# no access-list 90Hirun (config)# access-list 90 deny any logHirun (config)# line vty 0 4Hirun (config-line)# access-class 90 inHirun (config-line)# transport input noneHirun (config-line)# login localHirun (config-line)# exec-timeout 0 1Hirun (config-line)# no execHirun (config-line)# endHirunPrivilegesCisco IOS提供了从0到15不同的16级安全级别。CISCO IOS默认有两个预定义的安全级别,User EXEC模式运行在级别1,而enable模式运行在级别15。在默认情况下,级别1只可以用极少数的的命令。从安全的角度来看,更高级别的命令路由器有更高的敏感性。以下的例子,说明了如何把级别1的命令迁移到级别15,这样能更好的保护路由器。Hirun(config)# privilege exec level 15 connectHirun(config)# privilege exec level 15 telnetHirun(config)# privilege exec level 15 rloginHirun(config)# privilege exec level 15 show ip access-listsHirun(config)# privilege exec level 15 show access-listsHirun(config)# privilege exec level 15 show loggingPasswords在Cisco IOS中有两种密码保护机制。类型7是CISCO自己定义的加密算法,是一种可逆的加密算法。类型5用的是MD5算法,是一种不可逆的加密算法。CISCO推荐使用MD5的加密算法。以下是我们密码设置方面的一些建议:l enable secret密码不要其它任何密码一样。l 使用service password-encryption命令,使一些经过你屏幕的人看不到你的密码。l 必须意识到以下的安全设置是不被service password-encyption所保护的:l SNMP community strings l RADIUS keysl TACACS+ keysl 避免使用攻击字典里的词及姓名,电话号码和日期。l 应包括以下的字符:小写字母、大写字母、数字和特殊字符l 所有的密码至少有八位长1.4 远程访问The Auxiliary Port除非有必要把辅助端口作为备份或者远程访问用途,否则应该把辅助端口屏蔽掉。网络访问远程登陆使用的是VTY。以下的例子说明了如何配置VTY:Hirun(config)# access-list 99 permit logHirun(config)# access-list 99 permit logHirun(config)# access-list 99 deny any logHirun(config)# line vty 0 4Hirun(config-line)# access-class 99 inHirun(config-line)# exec-timeout 5 0Hirun(config-line)# login localHirun(config-line)# transport input telnetHirun(config-line)# execHirun(config-line)# endHirun#1.5认证,授权,和记帐CISCO在认证,授权,和记帐方面有新的特性,称之为AAA,在以后的章节中会具体介绍。1.6配置加载和维护的具体部署路由器的配置加载和维护有两种基本的方法:在线编辑和离线编辑。它们都有自己的优缺点。在线编辑能够对命令的语法进行检查,但只能提供有限的注释。离线编辑刚好相反。离线编辑有几个安全方面的问题值得注意。首先,离线备份文件放置的系统必须安全,只有合法用户才能访问备份文件。其次,备份文件中的密码都是以明文方式存储的。最后,配置文件必须以安全的方式传输到路由器中。2路由器网络服务安全2.1 Typical Services,Required services,and Security Risks下面的表格说明了在Cisco IOS 11.2,11.3和12.0下,与安全相关的服务及它们在默认情况下是否开启。服务描述默认是否开启建议Cisco Discovery Protocol (CDP)在cisco设备之间私有的二层协议ENABLEDCDP一般来说用不到,建议关闭TCP small servers标准的TCP网络服务:ECHO,CHARGEN等11.3:disabled11.2:enabled 显式关闭UDP small servers标准的UDP网络服务:ECHO,DISCARD等11.3:disabled11.2:enabled显式关闭FingerUNIX用户查找服务,允许远程列出系统用户ENABLED关闭HTTP server有些CISCO IOS设备提供基于HTTP的管理默认情况下与设备的类型有关显式关闭,有必要开启的话,也必须设置严格的访问控制Bootp server允许其它路由器从这台路由器启动的服务ENABLED通常情况下不需要这个服务,会产生安全方面的漏洞,关闭。Configuration auto-loading路由器会尝试通过TFTP加载配置DISABLED在没有必要的情况下关闭这个服务IP source routing允许包本身指定路由ENABLED对攻击者来说好的特性,关闭。Proxy ARP路由器作为第2层地址解析的代理ENABLED关闭这个服务除非路由器用作LAN BRIDGEIP directed broadcast包可以对指定特定网段广播ENABLED定向广播可以被攻击利用,关闭IP unreachable notifications如果发送者的目标地址不可达,路由器会通告ENABLED对攻击破者来说,有助于了解网络拓朴,对非可信网络关闭。IP mask reply路由器对ICMP MASK REQUEST作出响应DISABLED对攻击破者来说,有助于了解网络拓朴,对非可信网络关闭。IP redirects路由会对特定的包发送ICMP REDIRECT MESSAGEENABLED对攻击破者来说,有助于了解网络拓朴,对非可信网络关闭。NTP service路由器可以作为其它设备的时间服务器DISABELD显式关闭Simple Network Mgmt. Protocol路由器支持通过SNMP过程查询和配置ENABLED除非有必要,显式关闭Domain Name Service路由器可用作域名解析服务器ENABLED显式关闭或指定域名服务器2.2如何关闭不需要的服务CDPHirun# config tEnter configuration commands, one per line. End with CNTL/Z.Hirun(config)# no cdp runHirun(config)# exitHirun# show cdp% CDP is not enabledHirun#TCP and UDP Small ServersHirun# ! if connect success, then tcp-small-servers are runningHirun# connect 50 daytimeTrying 50, 13 . OpenMonday, April 3, 2000 11:48:39-EDTConnection to 50 closed by foreign hostHirun# config tEnter configuration commands, one per line. End with CNTL/Z.Hirun(config)# no service tcp-small-serversHirun(config)# no service udp-small-serversHirun(config)# exitHirun# connect 50 daytimeTrying 50, 13 .% Connection refused by remote hostHirun#Finger ServerHirun# connect 50 fingerTrying 50, 79 . OpenWelcome to the HIRUN router.Line User Host(s) Idle Location130 vty 0 00:00:00 goldfish*131 vty 1 idle 00:00:00 HirunConnection to 50 closed by foreign hostHirun# config tEnter configuration commands, one per line. End withCNTL/Z.Hirun(config)# no ip fingerHirun(config)# no service fingerHirun(config)# exitHirun# connect 50 fingerTrying 50, 79 .% Connection refused by remote hostHirun#HTTP ServerHirun# config tEnter configuration commands, one per line. End withCNTL/Z.Hirun(config)# no ip http serverHirun(config)# exitHirun# connect 50 wwwTrying 50, 80 .% Connection refused by remote hostHirun#Bootp ServerHirun# config tEnter configuration commands, one per line. End with CNTL/Z.Hirun(config)# no ip bootp serverHirun(config)# exitConfiguration Auto-LoadingHirun# config tEnter configuration commands, one per line. End with CNTL/Z.Hirun(config)# no boot networkHirun(config)# no service configHirun(config)# exitHirun#IP Source RoutingHirun# config tEnter configuration commands, one per line. End with CNTL/Z.Hirun(config)# no ip source-routeHirun(config)# exitHirun#Proxy ARPHirun# config tEnter configuration commands, one per line. End with CNTL/Z.Hirun(config)# interface eth 0/0Hirun(config-if)# no ip proxy-arpHirun(config-if)# exitHirun(config)# interface eth 0/1Hirun(config-if)# no ip proxy-arpHirun(config-if)# exitHirun(config)# interface eth 0/2Hirun(config-if)# no ip proxy-arpHirun(config-if)# exitHirun(config)# interface eth 0/3Hirun(config-if)# no ip proxy-arpHirun(config-if)# endHirun#IP Directed Broadcast在每个接口运行no ip directed-broadcastIP Unreachables, Redirects, Mask RepliesHirun# config tEnter configuration commands, one per line. End with CNTL/Z.Hirun(config)# interface eth 0/0Hirun(config-if)# no ip unreachableHirun(config-if)# no ip redirectHirun(config-if)# no ip mask-replyHirun(config-if)# endHirun#NTP ServiceNorth# config tEnter configuration commands, one per line. End with CNTL/Z.North(config)# interface eth 0/0North(config-if)# ntp disableNorth(config-if)# exitNorth(config)# interface eth 1/0North(config-if)# ntp disableNorth(config-if)# endNorth#SNMP ServicesHirun# show running-configBuilding configuration.snmp-server community public ROsnmp-server community admin RW.Hirun#Hirun# config tEnter configuration commands, one per line. End with CNTL/Z.Hirun(config)# ! remove old community stringsHirun(config)# no snmp-server community public ROHirun(config)# no snmp-server community admin RWHirun(config)# ! create a very restrictive access listHirun(config)# no access-list 70Hirun(config)# access-list 70 deny anyHirun(config)# ! make SNMP read-only and subject to access listHirun(config)# snmp-server community aqiytj1726540942 ro 70Hirun(config)# ! disable SNMP trap and system-shutdown featuresHirun(config)# no snmp-server enable trapsHirun(config)# no snmp-server system-shutdownHirun(config)# no snmp-server trap-authHirun(config)# ! disable the SNMP serviceHirun(config)# no snmp-serverHirun(config)# endRouter Name and DNS Name Resolutionrouter# config tEnter configuration commands, one per line. End with CNTL/Z.router(config)# hostname HirunHirun(config)# ip name-server Hirun(config)#2.3关闭未使用的端口建议关闭目前未使用的端口,使用以下的命令关闭:Hirun# config tEnter configuration commands, one per line. End with CNTL/Z.Hirun(config)# interface eth0/3Hirun(config-if)# shutdownHirun(config-if)# end2.4配置举例! - IP and network services Sectionno cdp runno ip source-routeno ip classlessno service tcp-small-servno service udp-small-servno ip fingerno service fingerno ip bootp serverno ip http serverno ip name-server! - Boot control sectionno boot networkno service config! - SNMP Section (for totally disabling SNMP)! set up totally restrictive access listno access-list 70access-list 70 deny any! make SNMP read-only and subject to access listsnmp-server community aqiytj1726540942 ro 11! disable SNMP trap and system-shutdown featuresno snmp-server enable trapsno snmp-server system-shutdownno snmp-server trap-auth! turn off SNMP altogetherno snmp-server! - Per-interface services sectioninterface eth 0/0description Outside interface to /16 netno ip proxy-arpno ip directed-broadcastno ip unreachableno ip redirectntp disableexitinterface eth 0/1description Inside interface to /24 netno ip proxy-arpno ip directed-broadcastno ip unreachableno ip redirectntp disableexitinterface eth 0/2no ip proxy-arpshutdownno cdp enableexitinterface eth 0/3no ip proxy-arpshutdownno cdp enableexit3路由和路由协议3.1路由普遍的隐患对网络管理员来说,路由安全是非常重要的事:l 防止网络资源被非法访问l 防止网络服务失败和中断有二种基本的方法来保证路由的合法性和完整性:l 只使用静态路由只适合于小型网络,但不适合于大型网络l 使用需要验证的路由更新需要验证的路由更新将确信路由更新来自合法的IP地址,非法的路由更新将被自动丢弃。3.2 PROXY ARP AND LANS和ARP一样,PROXY ARP没有任何安全方面的保证,任何一个局域网络的用户能够更改该网段的ARP缓存。所以我们建议在路由器上禁止PROXY ARP。Hirun# config tEnter configuration commands, one per line. End with CNTL/Z.Hirun(config)# interface ethernet0/0Hirun(config-if)# no ip proxy-arpHirun(config-if)# exitHirun(config)# interface ethernet0/1Hirun(config-if)# no ip proxy-arpHirun(config-if)# endHirun#3.3 路由表,静态路由,和路由协议OSPF验证OSPF验证使用两种验证方法,明文和MD5,推荐使用MD5验证方法。OSPF MD5验证North# config tEnter configuration commands, one per line. End with CNTL/Z.North(config)# router ospf 1North(config-router)# network 55 area 0North(config-router)# area 0 authentication message-digestNorth(config-router)# exitNorth(config)# int eth0/1North(config-if)# ip ospf message-digest-key 1 md5 r0utes-4-allNorth(config-if)# endNorth#East# config tEnter configuration commands, one per line. End with CNTL/Z.East(config)# router ospf 1East(config-router)# area 0 authentication message-digestEast(config-router)# network 55 area 0East(config-router)# network 55 area 0East(config-router)# exitEast(config)# int eth0East(config-if)# ip ospf message-digest-key 1 md5 r0utes-4-allEast(config-if)# endEast#RIP验证RIP验证也使用两种验证方法,明文和MD5,推荐使用MD5验证方法。RIP MD5验证Hirun# config tEnter configuration commands, one per line. End with CNTL/Z.Hirun(config)# key chain HIRUN-KEYCHAINHirun(config-keychain)# key 1Hirun(config-keychain-key)# key-string my-supersecret-keyHirun(config-keychain-key)# exitHirun(config-keychain)# key 2Hirun(config-keychain-key)# key-string my-othersecret-keyHirun(config-keychain-key)# endHirun#South# config tEnter configuration commands, one per line. End with CNTL/Z.South(config)# key chain SOUTH-KEYCHAINSouth(config-keychain)# key 1South(config-keychain-key)# key-string my-supersecret-keySouth(config-keychain-key)# exitSouth(config-keychain)# key 2South(config-keychain-key)# key-string my-othersecret-keySouth(config-keychain-key)# endSouth#静态路由从理论上来说,配置静态路由是相当安全的,攻击者不能利用路由来攻击这个网络,但对于大型网络来说,网络管理员在每个路由器上手动配置路由是相当困难的。配置静态路由示例如下:Hirun# config tEnter configuration commands, one per line. End with CNTL/Z.Hirun(config)# ip route 0 120Hirun(config)# endHirun#3.4 关闭不必要的路由服务Passive InterfacesPassive Interface这条命令将阻止路由器在某个端品接收或发送路由更新信息:Router1# show erface ethernet0ip address 50 !interface ethernet1ip address 50 !interface ethernet2ip address 0 !router ospf 1network 55 area 0passive-interface ethernet2.利用访问列表来过滤路由更新用distribute-list命令过滤路由更新:Hirun# config tEnter configuration commands, one per line. End with CNTL/Z.Hirun(config)# access-list 55 deny 55Hirun(config)# access-list 55 permit anyHirun(config)# endHirun#URPF验证IOS 12.0及以后的版本支持Unicast Reverse-Path Forwording Verification功能,用来源IP地址的合法性:Hirun# config tHirun(config)# ip cefHirun(config)# interface eth 0/0Hirun(config-if)# ip verify unicast reverse-pathHirun(config-if)# exit4 审计和管理4.1 内容和机制l 日志CISCO路由器支持本地和远程的日志察看l 时间精确的时间对审计和管理来说是非常重要的,CISCO路由器支持标准的时间同步协议,NTP。l 网络管理CISCO路由器支持标准的网络管理协议,SNMP。l 网络监视CISCO路由器支持RMON协议,而RMON特性是建立在SNMP协议上的。l 软件维护保持路由器上为新的软件版本是相当重要的,因为新的软件版本修正了一些安全漏洞。l 调试和诊断CISCO IOS提供一些命令来解决路由器的上的问题。4.2 配置登陆和时间服务日志概要建立日志的作用:l 记录路由器的配置更改和路由器重启l 记录一些非法的访问l 记录网络和端口状态的变化有以下五种访问日志的途经:1 CONSOLE LOGGING日志信息可以发送到控制台2 TEMINAL LINE LOGGIN可以配置把日志信息传输给TELNET用户。3 BUFFERED LOGGING可以配置把日志信息存储到路由器的缓存中。4 SYSLOG LOGGINGCISCO路由器可以把日志信息传输到SYSLOG服务器,SYSLOG服务器把日志信息以文件的形式保存起来。5 SNMP TRAP LOGGING对某些事件,CISCO路由器可以以SNMP TRAP的形式发送。CISCO路由器的日志信息的安全级别:LEVELLEVEL NAMEDESCRIPTIONEXAMPLE0EmergenciesRouter becoming unusableIOS could not load1AlertsImmediate action neededTemperature too high2CriticalCritical conditionUnable to allocate memory3ErrorsError conditionInvalid memory size4WarningsWarning conditionCrypto operation failed5NotificationsNormal but important eventInterface changed state, upInterface changed state, up or down6InformationalInformation messagePacket denied by accesslist7DebuggingDebug messageAppears only whendebugging is enabled以下的例子说明了在配置更改后,路由发出的日志信息:Mar 31 9:00:16 EST: %SYS-5-CONFIG_I: Configured from console by vty0 ()配置CONSOLE和BUFFERED日志以下是配置CONSOLE日志的例子:Hirun# config tEnter configuration commands, one per line. End with CNTL/ZHirun(config)# ! set console logging to level 5 (notify)Hirun(config)# logging console notificationHirun(config)# logging onHirun(config)# exit以下是配置BUFFERED日志的例子:Hirun# config tEnter configuration commands, one per line. End with CNTL/ZHirun(config)# ! Set a 16K log buffer at information levelHirun(config)# logging buffered 16000 informationHirun(config)# ! turn on time/date stamps in log messagesHirun(config)# service timestamp log date msec local show-timezoHirun(config)# exitHirun# show loggingSyslog logging: enabled (0 messages dropped,1 flushes,0 overruns)Console logging: level notifications, 328 messages loggedBuffer logging: level informational, 1 messages loggedTrap logging: level debugging, 332 message lines loggedLogging to , 302 message lines loggedLog Buffer (16000 bytes):Mar 28 11:31:22 EST: %SYS-5-CONFIG_I: Configured from console byvty0 ()配置TERMINAL LINE日志以下的例子说明了如何配置TERMINAL LINE日志:Hirun# show usersLine User Host(s) Idle Location*130 vty 0 bob idle 00:00:00 Hirun# config tEnter configuration commands, one per line. End with CNTL/Z.Hirun(config)# ! set monitor logging level to level 6Hirun(config)# logging monitor informationHirun(config)# exitHirun# ! make this session receive log messagesHirun# terminal monitorHirun# config tEnter configuration commands, one per line. End with CNTL/Z.Hirun(config)# interface eth 0/1Hirun(config-if)# ! shutdown will log a message, level 5Hirun(config-if)# shutdownHirun(config-if)#Mar 28 15:55:29 EST: %LINK-5-CHANGED: Interface Ethernet0/1,changed state to administratively down配置SYSLOG日志以下的例子说明了如何配置SYSLOG日志:Hirun#Hirun# config tEnter configuration commands, one per line. End with CNTL/Z.Hirun(config)# logging trap informationHirun(config)# logging Hirun(config)# logging facility local6Hirun(config)# logging source-interface eth 0/1Hirun(config)# exitHirun# show loggingSyslog logging: enabled (0 messages dropped, 11 flushes, 0overruns)Console logging: level notifications, 35 messages loggedMonitor logging: level debugging, 35 messages loggedBuffer logging: level informational, 31 messages loggedLogging to , 28 message lines loggedLog Buffer (16000 bytes):.Hirun# 配置SNMP TRAP日志Hirun# config tEnter configuration commands, one per line. End with CNTL/Z.Hirun(config)# logging trap informationHirun(config)# snmp-server host traps publicHirun(config)# snmp-server trap-source ethernet 0/1Hirun(config)# snmp-server enable traps syslogHirun(config)# exitHirun#Ti

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论