首页 > 网管 > 路由交换 > 正文

Cisco路由器安全技术:物理安全、口令安全、网络服务安全、协议安全

2019-09-11 22:21:05
字体:
来源:转载
供稿:网友

(一)路由器物理安全
针对网络存在的各种安全隐患,路由器的安全设置通常包括如下几个方面:
1. 可靠性与线路安全方面
对于路由器来说,可靠性主要体现在接口故障和网络流量增大两种情况下,因此,线路和接口的备份是路由器不可缺少的。当主接口出现故障时,备份接口自动投入工作,保证网络的正常运行;当网络流量增大时,备份接口又可承担负载分担的任务。如使用电话拨号上网方式的备份。

2. 身份认证方面
路由器中的身份认证主要包括访问路由器时的身份认证、对端路由器的身份认证和路由信息的身份认证。

3. 访问控制方面
(1)对于路由器的访问控制,需要进行口令的分级保护。
(2)可以采用基于IP地址的访问控制。
(3)可以采用基于用户的访问控制。
(4)可以基于时间的访问控制。

4. 信息隐藏方面
主机与对端通信时,不一定需要用真实身份进行通信。这就要通过路由器的地址转换功能,隐藏内网地址、只以公共地址的方式访问外部网络。除了由内部网络首先发起的连接,网外用户不能通过地址转换直接访问内网资源。

5.数据加密方面
为了避免因为数据窃听而造成的信息泄漏,需要对所传输的信息进行加密,只有与之通信的对端才能对此密文进行解密。通过对路由器所发送的报文进行加密,即使在Internet上进行传输,也能保证数据的私有性、完整性以及报文内容的真实性。

6.攻击探测和防范方面
路由器作为一个内部网络对外的接口设备,是攻击者进入内部网络的第一个目标。如果路由器不提供攻击检测、防范功能,或者或者配置不当,将使路由器成为攻击者进入内部网络的一个桥梁。在路由器上提供攻击检测和对路由器进行必要的安全配置,可以防止一部分的网络攻击。

7.安全管理方面
内部网络与外部网络之间的每一个数据报文都会通过路由器,在路由器上进行报文的审计可以提供网络运行的必要信息,有助于分析网络的运行情况。


(二)路由器口令的安全

路由器的口令分为端口登录口令、特权用户口令。

使用端口登录口令可以登录到路由器,一般只能查看部分信息,而使用特权用户口令登录可以使用全部的查看、配置和管理命令。

特权用户口令只能用于使用端口登录口令登录路由器后进入特权模式,不能用于端口登录。

1. 口令加密

在路由器默认配置中,口令是以纯文本形式存放的,不利于对保护路由器的安全。在Cisco路由器上可以对口令加密,这样访问路由器的其他人就不能看到这些口令。以CISCO的命令为例:
Router (config)# service password-encryption
其中Router (config)#为命令提示符,service password-encryption为口令加密服务命令。
口令加密服务将加密所有现存的和在以后配置的口令。建议在Cisco网络设备配置中使用这项服务。

2. 端口登录口令
路由器一般有Consle(控制台端口)、Aux(辅助端口)和Ethernet口可以登录到路由器,这为网络管理员对路由器进行管理提供了很大的方便,同时也给攻击者提供了可乘之机。

因此,首先应该给相应的端口加上口令。要注意口令的长度以及数字、字母、符号是否相混合,以防止攻击者利用口令或默认口令进行攻击。
不同的端口可以建立不同的认证方法。
下面以Cisco路由器为例简单说明路由器口令的设置。
Router (config)# line vty 0 4
Router (config-line)# login
Router (config-line)# exec-timeout 2 30
Router (config-line)# password abc111
Router (config-line)# exit
Router (config)-# line aux 0
Router (config-line)# login
Router (config-line)# exec-timeout 2 30
Router (config-line)# password abc222
Router (config-line)# exit
Router (config)# line con 0
Router (config-line)# exec-timeout 2 30
Router (config-line)# password abc333
Router (config-line)# exit

这样用户只有输入相应端口的口令才能从路由器的Consle、Aux或Ethernet口登录路由器。
下面分别对配置中的命令进行说明:
line vty 0 4命令用来保护在网络中用来进行telnet访问的虚拟终端行。由于路由器访问有不止一个vty行,所以在vty关键字后面有两个数字。在Cisco路由器上默认的行数为五行。line vty 0 4为所有终端行设置一个口令。
line aux和line con分别用来保护从Aux口和Consle口访问路由器的安全。
login命令用来启动登录的口令检查。
exec-timeout命令用来设置通话超时时间,上面配置中的exec-timeout 2 30设置为两分三十秒钟内没有输入,将自动关闭与路由器连接的对话,防止网络管理员登录路由器后离开终端时被非法用户修改路由器的配置。
password命令用来设置端口口令,上面配置中的password abc333设置为从line con 0端口登录路由器时需要的口令。

注意:登录口令更高的安全性
为了获得更高的安全性,更好的登录口令处理方法是将这些口令保存在TACACS+或RADIUS认证服务器上,然后在路由器上配置使用认证服务器对用户和密码进行认证,这种认证方式可以实现集中管理,并获得更高的安全性和可管理性。

3. 特权用户口令
特权用户口令的设置可以使用enable password命令和enable secret命令。
一般不用enable password命令,该命令设置的口令可以通过软件破解,存在安全漏洞。enable secret采用MD5散列算法对口令进行加密。
以CISCO为例,具体配置如下:
Router #conf term
Router (config)#enable secret cba123

在执行了这一步后查看路由器配置,将看到无论是否开启了口令加密服务,特权用户口令都自动被加密了。

4. 修改简单网络管理协议密码字
简单网络管理协议(Simple Network Management Protocol,SNMP)是由互联网工程任务组定义的一套网络管理协议。
利用SNMP,一个管理工作站可以远程管理所有支持这种协议的网络设备,包括监视网络状态、修改网络设备配置、接收网络事件警告等。

使用SNMP协议要提供密码字,在CISCO路由器中有个默认的密码字,用户在使用路由器时要修改这个密码字,具体配置如下:
Router #conf term
Router (config)#snmp-server community read123 RO
Router (config)#snmp-server community write123 RW

snmp-server community read123 RO为设置只读密码字为read123,snmp-server community write123 RW为设置可写密码字为write123。

5. 防止口令修复
要注意路由器的物理安全,不要让管理员以外的人员随便接近路由器。如果攻击者从物理上接触路由器后,可以通过口令修复的方法清除口令,进而登录路由器并完全控制路由器。

在实际应用中,应该在使用口令的基础上,采取将不使用的端口禁用、权限分级策略、控制连接的并发数目、采用访问列表严格控制访问的地址、采用AAA设置用户等方法,来加强路由器访问控制的安全。


(三)路由器网络服务的安全

为了方便用户的应用和管理,路由器上会提供了一些网络服务,如WEB管理等;但是由于一些路由器上的软件的漏洞、配置错误等原因,有些服务可能会影响路由器和网络的安全,因此从网络安全角度应该禁止那些不必要的,或目前不使用的网络服务。在Cisco路由器上常见的网络服务及禁止方法如下:

1.禁止HTTP服务
使用Web界面来控制管理路由器,为初学者提供了方便,但存在安全隐患,使用下面的命令可以禁止HTTP服务。
CcertRAT(Config)# #no ip http server

如果必须使用HTTP服务来管理路由器,最好是配合访问控制列表,并且用AAA认证来做,严格过滤允许的IP地址。建议在没有特殊需要的情况下,关闭HTTP服务。

2.禁止CDP(Cisco Discovery Protocol,Cisco发现协议)
该协议存在于Cisco 11.0以后的版本中,都是默认启动的。在OSI二层(链路层)协议的基础上可发现对端路由器的设备平台、操作系统版本、端口、IP地址等重要信息。这些信息对攻击者很有用,为加强安全性,可禁止其运行,命令如下:
CcertRAT(Config)#no cdp run

管理员也可以指定禁止某端口的CDP,比如为了让路由器内部网络使用CDP,而禁止路由器对外网的CDP应答,命令如下:
CcertRAT(Config)#no interface Serial 0
CcertRAT(Config-if)#no no cdp enable

3.禁止其他的TCP、UDP Small服务
在ios 11.3版本之前,cisco缺省提供:echo,chargen,daytime,discard小型服务,之后就禁止了。Cisco路由器可以通过如下命令阻止察看路由器诊断信息:
CcertRAT(Config)# no service tcp-small-servers
CcertRAT(Config)# no service udp-samll-servers

4.禁止Finger服务
Finger服务可以暴露路由器用户列表,一般情况下建议关闭该服务:
CcertRAT(Config)# no ip finger
CcertRAT(Config)# no service finger

5.禁止BOOTP服务
BOOTP服务的全称是BOOTSTRAP PROTOCOL,是一个udp服务,是一种比较早出现的远程启动的协议。cisco路由器用它来访问一个运行有bootp服务的cisco路由器上的ios拷贝。缺省情况下该服务是开启的,关闭该服务的命令如下:
CcertRAT(Config)# no ip bootp server

6.禁止从网络启动和自动从网络下载初始配置文件
CcertRAT(Config)# no boot network
CcertRAT(Config)# no servic config

7.禁止IP Source Routing
IP source-route是一个全局配置命令,允许路由器处理带源路由选项标记的数据流。启用源路由选项后,源路由信息指定的路由使数据流能够越过默认的路由,这种包就可能绕过防火墙。这项服务需要关闭:
CcertRAT(Config)# no ip source-route

8.禁止 ARP-Proxy服务
路由器默认是开启的,它容易引起路由表的混乱
CcertRAT(Config)# no ip proxy-arp
CcertRAT(Config-if)# no ip proxy-arp

9.禁止IP Directed Broadcast

ip定向广播常用于流行的smurf和fraggle Dos攻击。在cisco ios12.0前的版本中是开启这个服务的,之后就禁止了。

所谓ip定向广播,是一个发往某个子网广播地址的数据报(datagram),但是这个子网并没有和发报的主机直接连接,定向广播是作为单播数据包而通过路由的,直到目标地址,只有链路上的最后一台路由器也就是直接与目标主机相连的路由器,才能最终识别这个定向广播。
Smurf攻击是一种拒绝服务攻击。在这种攻击中,攻击者使用假冒的源地址向你的网络广播地址发送一个“ICMP echo”请求。这要求所有的主机对这个广播请求做出回应。这种情况至少会降低你的网络性能。
CISCO关闭命令如下:
router(config-if)# no ip directed-broadcast

10.禁止IP Classless
有时,路由可能会收到一些发往一个没有网络缺省路由的子网的数据包,如有启用这服务,路由器会将这些数据包转发给最有可能路由的超网(supernet)。缺省情况下这些服务是开启的。这种服务可能被各种攻击利用。CISCO关闭命令如下:
CcertRAT(Config)# no ip classless

11.限制dns的服务
缺省情况下,cisco路由器dns服务会向255.255.255.255广播地址发送名字查询,应该避免这种广播,因为攻击者可以伪装成一个dns服务来攻击。
该服务是默认开启的,如果要使用这个服务,务必确保在路由器的配置中明确指定dns服务的名字:
CcertRAT(Config)# ip name server server-address [server=address2 ... server-address6]

关闭该服务的命令如下:
CcertRAT(Config)# no ip domain-lookup

12.禁止ICMP协议的IP Unreachables,Redirects,Mask Replies
ICMP不可达消息可以向发送者通告(不可达地方)的ip地址,攻击者能够借此映射网络。cisco缺省开启了此消息服务。 CcertRAT(Config-if)# no ip unreacheables

重定向消息可以让一个端节点用特定的路由器做为通向特定目的地路径。

正常的ip网络中,一台路由器只向位于自己本地子网的主机发送重定向消息,端节点不会发送这种消息,此消息也不会超过一个网络跳数的地方发送。不过攻击者可以违反这种规则。
CcertRAT(Config-if)# no ip redirects

cisco ios会向icmp掩码要求发送icmp掩码应答的消息,其中包括接口的ip地址掩码。必须关闭路由器上所有路由接口的上自动应答。这个服务是缺省关闭。
CcertRAT(Config-if)# no ip mask-reply

13.禁止SNMP协议服务
snmp服务允许路由器响应远程snmp查询和配置更改。如果要使用该服务,应使用acl进行限制。关闭该服务的命令包括:
CcertRAT(Config)# no snmp-server community public Ro
CcertRAT(Config)# no snmp-server community admin RW
CcertRAT(Config)# no snmp-server enable traps
CcertRAT(Config)# no snmp-server system-shutdown
CcertRAT(Config)# no snmp-server trap-anth
CcertRAT(Config)# no snmp-server
CcertRAT(Config)# end

14、禁止不使用的端口
CcertRAT(Config)# interface Serial 1
CcertRAT(Config-if)# shutdown


(四)路由协议安全

1.启用OSPF路由协议的认证
默认的OSPF认证密码是明文传输的,建议启用MD5认证,并设置一定强度密钥(key,相对的路由器也必须有相同的Key值)。

例子如下:
CcertRAT(Config)# router ospf 100
CcertRAT(Config-router)# network 192.168.100.0 0.0.0.255 area 100
! 启用MD5认证。
! area area-id authentication 启用认证,是明文密码认证。
!area area-id authentication message-digest
CcertRAT(Config-router)# area 100 authentication message-digest
CcertRAT(Config)# exit
CcertRAT(Config)# interface eth0/1
!启用MD5密钥Key为routerospfkey。
!ip ospf authentication-key key 启用认证密钥,但会是明文传输。
!ip ospf message-digest-key key-id(1-255) md5 key
CcertRAT(Config-if)# ip ospf message-digest-key 1 md5 routerospfkey

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表