1关闭BOOTP服务器
BOOTP是一个UDP服务,CISCO路由器用它来访问另一个运行BOOTP服务的CISCO路由器上的IOS拷贝。
这项服务可能使攻击者有机会下载一台路由器配置的COPY.缺省情况下,该服务开启的
config t
no ip bootp server
2关闭CDP服务
如果一台路由器启用了SNMP并且用CDP来寻找邻居,攻击者就可能借助SNMP服务器来访问重要的路由选择信息
在全局模式下关闭CDP
config t
no cdp run
在接口模式下关闭CDP
config t
interface e0/1
no cdp enable
3关闭配置自动加载服务
cisco路由器可以从一台网络服务器以及本地内存中加载启动配置;默认情况下,该服务关闭
在全局模式下
no boot network remote-url(-ftp -rcp -tftp)
no service config
4限制DNS服务
默认情况下,CISCO路由器DNS服务会向255.255.255.255广播地址发送名字查询。
攻击者可以利用机会伪装成一个DNS服务器
缺省情况下,该服务开启的
解决方法:在路由器配置中明确设置DNS服务器的名字
ip name-server server-address
ip name-server 219.141.140.10 219.141.136.10 ~~~可以加6个地址
关闭DNS服务
no ip domain-lookup
5关闭FTP服务器(缺省禁用)
路由器的FTP服务器特性可以让其成为一台FTP服务器,FTP客户端可以从路由器特定目录COPY文件,或者将文件COPY到特定目录。这种特性最早出现在IOS软件的11.3AA版中。
FTP可用来访问路由器的文件系统,因而叶能被用来攻击网络或路由器本身。
缺省情况下,FTP服务是关闭的
可以从show running-config 看到 no ftp-server write-enable
由于版本不同,所以有两个关闭FTP命令
config t
no ftp-server enable
no ftp-server write-enable
6关闭Finger服务(缺省启用)
Finger协议(端口79)允许网络上的用户获得当前正在使用特定路由选择设备的用户列表,显示信息中包括系统中运行的进程,链路号,连接名,闲置时间和终端位置。 缺省情况下该服务是启用的。
关闭Finger服务
config t
no ip finger
no service finger
7关闭无根据ARP(缺省启用)
大多数CISCO路由器都会向外发送无根据的ARP消息。攻击者可以通过ARP毒害攻击来攻击路由器。
缺省情况下该服务是启用的
config t
no ip gratuitous-arps
8关闭HTTP服务(缺省启用)
现在的大多数CISCO IOS软件支持WWW HTTP协议方式的远程配置和监视。用于HTTP的认证方式只是一个跨网络
发送的一个明文口令,因此充满风险。
如果使用SDM用HTTP访问路由器,如果要用SDM来管理路由器,就不能关闭HTTP服务;但是如果使用HTTP服务,就应该用ip http access-class 命令来限制对恰当IP地址的访问,还应该用ip http authentication命令来配置认证。 对于交互式登录,选择RADIUS或TACACS+服务器
config t
no ip http server
9关闭IP定向广播(缺省禁用)
IP定向广播最常见于流行的smurf和fraggle Dos攻击中,在IOS12.0版本以前是启用的,之后被禁用了。
IP定向广播:一个发往某个子网广播地址的数据包,但这个子网并没有和发报的主机直接相连。定向广播是作为单播数据包而通过网络来路由,直到到达目标子网,才被转换成链路层广播。
smurf攻击中,攻击者以伪造的源地址向某个定向广播地址发送ICMP echo请求,这会使得目标子网内所有主机多向伪造地址返回相应。持续攻击,就能引发巨大相应流量。
注意:必须在每台可以连接目标子网的路由器的每个接口都配置 no ip directed-broadcast命令;
在IOS 12.0版本之后,缺省使用了这个命令。
config t
interface e 0/1
no ip directed-broadcast
10 关闭IP鉴别
IP鉴别 支持对某个TCP端口身份的查询。不安全协议,它能够报告一个发起TCP连接的客户端的身份,以及响应该连接的主机的身份。
攻击者通过连接到主机的一个TCP端口上,发布一个简单的字符串,去查询相关信息。
136/561
11关闭ICMP掩码应答(缺省禁止)
CISCO IOS缺省是禁用掩码应答的。
如果启动掩码应答,IOS软件会向ICMP掩码请求发送ICMP掩码应答消息,其中包含接口的IP地址掩码。攻击者可以借此获知网络所用的子网掩码,在侦测攻击阶段获取的此类信息。
建议关闭所有路由器接口上的自动应答,特别是指向不可信网络的接口。
config t
interface e0/0
no ip mask-reply
12关闭ICMP重定向(缺省启用)
CISCO IOS缺省是启动重定向消息,这种消息可以让一个端节点用特定路由器作为通向特定目的的路径。
config t
inerface e0/0
no ip redirect
13 关闭IP源路由选择
IP协议支持源路由选择,允许IP报文的发送者控制报文到达最终目的地的路径。
可以在全局配置模式下禁止
config t
no ip source-route
14关闭ICMP不可达信息(缺省启用)
ICMP不可达信息可以向发送这通告不正确(不可达)的IP地址,攻击者能够借此映射网络。
接口模式关闭
config t
interface e0/0
no ip unreachable
15关闭MOP服务(缺省启用)
在CISCO路由器以太网接口上,DEC的维护操作协议MOP服务缺省情况下是启用的。MOP可能是一个潜在的攻击因素。
在接口模式下关闭
config t
interface e0/0
no mop enabled
16 关闭NTP服务(缺省启用)
网络时间协议(Network Time Protocal)用来同步多台设备上的时间。
NTP守护进程查询处理功能有一个漏洞,攻击者只要发一个伪造的NTP控制包,就有可能触发NTP守护进程缓冲区益处。
在接口模式下关闭
config t
interface e0/0
ntp disable
17 关闭PAD服务(缺省启用)
数据包装配/分解(PAD)服务在大多数CISCO路由器上都是缺省启用的
一旦一个路由器PAD服务的连接被建立,攻击者就可能利用PAD接口来破坏路由过程和设备的稳定性
在全局下关闭
config t
no service pad
18 关闭代理ARP(缺省启用)
如果路由器上启用了代理ARP,路由器就扮演了第二层(数据链路层)地址解析代理的角色,使得网络跨多个接口得以扩展。
攻击者可能会利用代理ARP的信任特性,伪装成一台可信主机,中途截获数据包。
在端口模式下关闭
config t
interface e0/0
no ip proxy-arp
19 关闭SNMP服务(缺省启用)
SNMP服务允许路由器响应远程SNMP查询和配置更改。如果打算使用SNMP,应该用ACL来限制可以访问路由器的SNMP系统。
完全关闭SNMP访问步骤
1 no snmp-server community public ro
no snmp-server community config rw
2 创建一个ACL,明确禁止所有流量
access-list 60 deny any
access-list 60 permit any
3 创建一个新的,难以被破解的,只读的SNMP community字符串,将其归入步骤2中创建的ACL:
snmp-server community ***** ro 60
4 用no snmp-server enable traps全局配置命令来禁止SNMP系统停机功能:
no snmp-server enable traps
5 用no snmp-server system-shutdown 全局配置命令来禁止SNMP系统停机功能:
no snmp-server system-shutdown
6 用no snmp-server全局配置命令禁用SNMP服务:
no snmp-server
20 关闭小型服务器 (IOS11.3之后缺省禁用)
一个攻击者可能发送一个DNS包,源地址伪装成一台可达的DNS服务器,源端口伪装成DNS服务端口(端口53),如果这样的数据包发往CISCO路由器UDP echo 端口,路由器就会向可疑的服务器发送一个DNS数据包。这样的数据包会被当作路由器本身生成,不会进行外出ACL检查。
关闭小型TCP UDP服务
在全局模式
config t
no service tcp-small-servers
no service udp-small-servers
21 启用TCP keepalive(缺省禁用)
keepalive可以防止孤儿会话(TCP连接的一端超时或者异常中断(奔溃,重启等),连接对端依然认为会话可用)
在全局模式开启keepalive应用:
config
service tcp-keepalives-in
service tcp-keepalives-out
22关闭TFTP服务器
对路由器的TFTP访问可用来获取路由器文件系统的访问权,因此路由器或网络本身有被攻击的危险。
要禁用FLASH内存TFTP服务器,可使用全局配置命令
no tftp-server flash
这里需要注意的是:各个系列的CISCO针对于关闭TFTP命令多不相同
CISCO 1600 :no tftp-server flash [device:][partition-number:]filename
CISCO 3600 :no tftp-server flash [device:][partition-number:]filename
CISCO 7000系列 :no tftp-server flash device: filename
其他CISCO型号路由器 no tftp-server {flash [partition-number:] filename1|rom alias filename2}
对于上面关键字的解释
flash
rom
alias
filename1
filename2
partition-number
device
-flash
-bootflash
-slot0
-slot1
-slavebootflash
-slaveslot0
-slaveslot1
关闭路由器不用的端口
常用的命令
config t
interface e0
shutdown