刚刚转到乙方作网络设备的巡检,看到巡检单子上面的各个项目,而后找了点资料,以为有点用,而后转载下来:php
cisco路由器安全配置下面将逐一介绍路由器提供的各项服务及其最优配置方式。
1. TCP、UDP Small Server
Cisco路由器提供部分TCP、UDP Small Server的服务,如daytime、chargen、echo等,这些服务都是从UNIX系统中引入的,介绍以下:
Daytime(TCP 端口13 / UDP端口13):向请求者提供当前时间;
Chargen(TCP 端口19 / UDP端口19):Character Generator的意思,顾名思义,在接受到请求之后,系统会响应一串字符流;
Echo(TCP 端口7 / UDP端口7):系统在接受到请求之后,会对请求进行响应。
一般这些服务对一个提供数据转发的设备来讲都毫无用处,而这些服务因为开发时间很早,安全性考虑不足,容易引发Fraggle***(DoS***的一种), ***者伪造受害者的IP地址向网络上开放chargen或echo服务的路由器发出chargen或echo的请求(这一般很容易实现,作一次端口扫描即 可),因而全部开放这类服务的路由器将向受害者作出响应,从而使大量无用数据堵塞受害者的网络,造成DoS***。
所以,为了不路由器成为恶意破坏者使用的工具,应中止TCP/UDP small server服务。Cisco IOS 11.3版本之后缺省设置为禁止,但咱们建议工程师应显式地执行此命令以防止配置遗漏。
下面的例子描述如何测试和禁止TCP/UDP small server服务:
Test# ! 若是链接成功,则代表TCP/UDP small server服务开启
Test# connect 187.4.253.19 daytime
Trying 187.4.253.19, 13 ... Open
Monday, April 3, 2000 11:48:39-EDT
[Connection to 187.4.253.19 closed by foreign host]
Test# config t
Enter configuration commands, one per line. End with CNTL/Z.
Test(config)# no service tcp-small-servers
Test(config)# no service udp-small-servers
Test(config)# exit
Test# connect 187.4.253.19 daytime
Trying 187.4.253.19, 13 ... % Connection refused by remote host
Test#
2. Finger Server
Finger服务一样来自UNIX系统,它使用TCP/UDP 79端口,功能主要是用于查询一个主机上的登录用户。一个恶意的用户能够经过finger服务知道当时登陆到路由器的用户名,从而使其掌握更多关于路由器的信息,以这些用户名为突破口,进行进一步的恶意行动。
Cisco路由器全部版本缺省开放finger服务,所以如无必要,应在路由器上禁止finger服务。
下面的例子描述如何测试和禁止finger服务:
Test# connect 187.4.253.19 finger
Trying 187.4.253.19, 79 ... Open
Welcome to the TEST router.
Line User Host(s) Idle Location
130 vty 0 187.4.252.6 00:00:00 zhinengwang
*131 vty 1 下 idle 00:00:00 zhkf
[Connection to 187.4.253.19 closed by foreign host]
Test# config t
Enter configuration commands, one per line. End with CNTL/Z.
Test(config)# no ip finger
Test(config)# no service finger
Test(config)# exit
Test# connect 187.4.253.19 finger
Trying 187.4.253.19, 79 ... % Connection refused by remote host
Test#
3. HTTP Server
多个系列的Cisco路由器提供http服务,供用户浏览一些路由器的基本信息,但没法进行配置。http服务是最常被利用发起***的服务,所以路由器的http服务不该开启。
Cisco路由器缺省不开启http服务。
下面的例子描述如何测试和禁止http服务:
Test# config t
Enter configuration commands, one per line. End with CNTL/Z.
Test(config)# no ip http server
Test(config)# exit
Test# connect 187.4.253.19 www
Trying 187.4.253.19, 80 ... % Connection refused by remote host
Test#
Cisco不少中低端交换机提供web配置界面,此功能至关强大,易于使用,对于不喜欢命令行界面的管理员来讲,尤为好用,建议能够开启http功能,可是必须创建严格的访问控制规则,只容许指定的源经过http访问设备。
下面的例子描述如何设置http服务的访问控制:
Test# config t
Enter configuration commands, one per line. End with CNTL/Z.
Test(config)# ! 添加一个web用户,打开http本地认证
Test(config)# username Webuser priv 15 password 0
Test(config)# ip http auth local
Test(config)# ! 创建一条web访问控制列表
Test(config)# no access-list 29
Test(config)# access-list 29 permit host 187.4.253.18
Test(config)# access-list 29 permit 187.4.253.0 0.0.0.255
Test(config)# access-list 29 deny any
Test(config)# ! 将访问控制列表赋值给http服务并启动hettp服务
Test(config)# ip http access-class 29
Test(config)# ip http server
Test(config)# exit
Test#
4. Bootp Server
Bootp服务的全称bootstrap protocol,设计的初衷是令某些主机能够经过网络加载*做系统,其服务端口有两个:
Bootps:TCP/UDP 67端口) Bootstrap Protocol Server
Bootpc:(TCP/UDP 67端口) Bootstrap Protocol Client
如今咱们常常用到的DHCP(动态主机配置协议)也用到这些端口。
Cisco路由器缺省开启bootp服务,用于向其余路由器提供IOS软件映像(p_w_picpath)服务,其余路由器在启动时能够从这台路由器中取得IOS映像,此服务极少使用,并且会使IOS p_w_picpath泄漏,通常状况下应禁止使用。
下面的例子描述如何禁止bootp服务:
Test# config t
Enter configuration commands, one per line. End with CNTL/Z.
Test(config)# no ip bootp server
Test(config)# exit
5. 自动配置下载
自动配置下载功能使路由器能自动到网络上的服务器取配置文件,从网络上下载配置文件使不安全的,很难保证下载配置来源的安全性,此服务增长路由器配置被篡改可能,所以通常状况下应禁止。
下面的例子描述如何禁止自动配置下载服务:
Test# config t
Enter configuration commands, one per line. End with CNTL/Z.
Test(config)# no boot network
Test(config)# no service config
Test(config)# exit
Test#web
转自:http://bbs.tech-lab.cn/forum.php?mod=viewthread&tid=4255bootstrap