一、Cisco发现协议 CDP是一个Cisco专用协议,运行在所有Cisco产品的第二层,用来和其他直接相连的Cisco设备共享基本的设备信息。于介质和协议。 黑客再勘测中使用CDP信息,这种可能性是比较小的。因为必须在相同的域才能查看CDP组播请看如下
一、Cisco发现协议
CDP是一个Cisco专用协议,运行在所有Cisco产品的第二层,用来和其他直接相连的Cisco设备共享基本的设备信息。于介质和协议。
黑客再勘测中使用CDP信息,这种可能性是比较小的。因为必须在相同的域才能查看CDP组播帧。所以,在边界路由器上关闭CDP,或至少在连接到公共网络的接口上关闭CDP.
缺省情况下是启用的。全局关闭CDP,使用nocdprun命令,关闭之后,应该使用showcdp验证CDP是否已被关闭。
二、TCP和UDP低端口服务
TCP和UDP低端口服务是运行在设备上的端口19和更低端口的服务。所有这些服务都已经过时:如日期和时间(daytime,端口13),测试连通性(echo,端口7)和生成字符串(chargen,端口19)。
下面显示了一个打开的连接,被连接的路由器上打开了chargen服务:Router#telnet192.168.1.254chargen
要在路由器上关闭这些服务,使用下面的配置:Router(config)#noservicetcp-small-serversRouter(config)#noserviceudp-small-servers
关闭了这些服务之后,用下面方法进行测试,如:Router(config)#telnet192.168.1.254daytime
三、Finger
Finger协议(端口79)允许网络上的用户获得当前正在使用特定路由选择设备的用户列表,显示的信息包括系统中运行的进程、链路号、连接名、闲置时间和终端。通过showuser命令来提供的。
Finger是一个检测谁登录到一台主机的UNIX程序,而不用亲自登录到设备来查看。
下面显示了一个验证finger服务被打开和如何关闭的例子:Router#telnet192.168.1.254finger
(connect192.168.1.254finger)Router(config)#noipfingerRouter(config)#noservicefinger
当对路由器执行一个finger操作时,路由器以showusers命令的输出来作为响应。要响应,使用noipfinger命令,将关闭finger服务。在较老的版本中,使用noservicefinger命令。在较新版本中,两个命令都适用。
四、IdentD
http 192.168.1.254IP鉴别支持对某个TCP端口身份的查询。能够报告一个发起TCP连接的客户端身份,以及响应该连接的主机的身份。
IdentD允许远程设备为了识别目的查询一个TCP端口。是一个不安全的协议,旨在帮助识别一个想要连接的设备。一个设备发送请求到Ident端口(TCP113),目的设备用其身份信息作为响应,如主机和设备名。
如果支持IP鉴别,者就能够连接到主机的一个TCP端口上,发布一个简单的字符串以请求信息,得到一个返回的简单字符串响应。
要关闭IdentD服务,使用下面的命令:Router(config)#noipidentd
可以通过Telnet到设备的113端口来进行测试。
五、IP源路由
应该在所有的路由器上关闭,包括边界路由器。可以使用下面的命令:Router(config)#noipsource-route对带有源路由选项的IP数据包的转发。
六、FTP和TFTP
路由器可以用作FTP服务器和TFTP服务器,可以将映像从一台路由器复制到另一台。不要使用这个功能,因为FTP和TFTP都是不安全的协议。
默认地,FTP服务器在路由器上是关闭的,然而,为了安全起见,仍然在路由器上执行以下命令:Router(config)#noftp-serverwrite-enable(12.3版本开始)Router(config)#noftp-serverenable
可以通过使用一个FTP客户端从PC进行测试,尝试建立到路由器的连接。
七、HTTP
测试方法可以使用一个Web浏览器尝试访问路由器。还可以从路由器的命令提示符下,使用下面的命令来进行测试:Router#telnet192.168.1.25480Router#telnet192.168.1.254443
要关闭以上两个服务以及验证,执行以下的步骤:Router(config)#noiphttpserverRouter(config)#noiphttpsecure-serverRouter#telnet192.168.1.25480Router#telnet192.168.1.254443
Cisco安全设备管理器(SecurityDeviceManager,SDM)用HTTP访问路由器,如果要用SDM来管理路由器,就不能关闭HTTP服务。
如果选择用HTTP做管理,应该用iphttpaccess-class命令来对IP地址的访问。此外,也应该用iphttpauthentication命令来配置认证。对于交互式登录,HTTP认证最好的选择是使用一个TACACS+或RADIUS服务器,这可以避免将enable口令用作HTTP口令。
八、SNMP
SNMP可以用来远程和管理Cisco设备。然而,SNMP存在很多安全问题,特别是SNMPv1和v2中。要关闭SNMP服务,需要完成以下三件事:
从路由器配置中删除默认的团体字符串;
关闭SNMP陷阱和系统关机特征;
关闭SNMP服务。
要查看是否配置了SNMP命令,执行showrunning-config命令。
下面显示了用来完全关闭SNMP的配置:Router(config)#nosnmp-servercommunitypublicRORouter(config)#nosnmp-servercommunityprivateRWRouter(config)#nosnmp-serverenabletrapsRouter(config)#nosnmp-serversystem-shutdownRouter(config)#nosnmp-servertrap-authRouter(config)#nosnmp-server
前两个命令删除了只读和读写团体字符串(团体字符串可能不一样)。接下来三个命令关闭SNMP陷阱、系统关机和通过SNMP的认证陷阱。最后在路由器上关闭SNMP服务。关闭SNMP服务之后,使用showsnmp命令验证。
九、域名解析
缺省情况下,Cisco路由器DNS服务会向255.255.255.255地址发送名字查询。应该避免使用这个地址,因为者可能会借机伪装成一个DNS服务器。
如果路由器使用DNS来解析名称,会在配置中看到类似的命令:Router(config)#hostnamesantaRouter(config)#ipdomain-nameclaus.govRouter(config)#ipname-server200.1.1.1202.1.1.1Router(config)#ipdomain-lookup
可以使用showhosts命令来查看已经解析的名称。
因为DNS没有固有的安全机制,易受到会话,在目的DNS服务器响应之前,黑客先发送一个伪造的回复。如果路由器得到两个回复,通常忽略第二个回复。
解决这个问题,要么确保路由器有一个到DNS服务器的安全路径,要么不要使用DNS,而使用手动解析。使用手动解析,可以关闭DNS,然后使用iphost命令静态定义主机名。如果想路由器产生DNS查询,要么配置一个具体的DNS服务器(ipname-server),要么将这些查询作为本地(当DNS服务器没有被配置时),使用下面的配置:Router#telnet测试)Router(config)#noipdomain-lookupRouter#telnet
tags:http 192.168