1、思科设备安全加固思科网络设备安全加固一、 密码管理密码是用来防止对于网络设备的非授权访问的主要手段,是网络设备本身安全的一部分。最好的密码处理方法是将这些密码保存在TACACS+或RADIUS认证服务器上。但是通常网络设备会有一个本地密码进行权限访问。这时最好采用如下的方式进行设置:1. 使用enablesecretEnable secret命令用于设定进入系统特权模式的密码。我们最好为其设置一个强壮的密码,该密码应该不会被字典式攻击轻易破解。还有一点,就是老的系统采用的是enable password,虽然它们的功能相似,但是enable password采用的加密算法比较较弱,最好不要采用
2、。Router(Config)#enable secret 12#gF3?0Op9J2. 使用servicepassword-encryption这条命令用于对存储在配置文件中的口令进行加密。避免当配置文件被不怀好意者看见,从而获得这些数据的明文。但是service password-encryption的加密算法比较简单,很容易被破译。这个主要是针对enable password命令设置的密码。而enable secret命令采用的是MD5算法,这种算法是很难进行破译的。Router(Config)#service password-encryption二、 访问控制任何人登录到网络设备上都
3、能够显示一些重要的配置信息。一个攻击者可以将该设备作为攻击的中转站。所以我们必须正确控制网络设备的登录访问。尽管大部分的登录访问缺省都是禁止的。但是有一些例如,比如控制台端口(Console)默认就是允许登录的。控制端口是非常特殊的端口,当网络设备重启动的开始几秒,如果发送一个Break信号到控制端口,它就会进入一种监控模式,在这里可以恢复系统的密码,从而可以很容易控制整个系统。因此如果一个攻击者尽管他没有正常的访问权限,但是能够重启系统(切断电源或使系统崩溃)和访问控制端口(通过直连终端、终端服务器),他就可以控制整个系统,所以我们必须保证所有连接控制端口的访问的安全性。除了通过控制台登录外
4、,另外还有许多登录的方法。根据配置和操作系统版本的不同,可以支持如Telnet、rlogin、SSH以及Modem拨号。所有这些都涉及到TTY,通常本地的异步终端和拨号Modem使用标准的“TTY”,远程的网络连接不管采用什么协议都使用虚拟的TTY,即“VTY”。当然,要控制对网络设备的访问,最好就是控制这些TTY或VTY,比如加上一些认证和利用Login、nopassword命令禁止访问。1. 控制TTY在缺省的情况下,一个远端用户可以连接到一个TTY,称为“反向Telnet”,它允许远端用户和连接到这个TTY上的终端或Modem进行交互。但是这些特征允许一个远端用户连接到一个本地的异步终端
5、口或一个拨入的Modem端口,从而构造一个假的登录过程来偷盗密码或其他的非法活动,所以最好禁止这项功能。可以采用transport input none设置任何异步或Modem不接收来自网络用户的连接。如果可能,不要用相同的Modem拨入和拨出,且禁止反向Telnet拨入。路由器有一个AUX端口,该端口可以配置成控制端口,因此如果不使用该端口,最好将其设置为禁用。Router(Config)#line aux 0Router(Config-line)#transport input noneRouter(Config-line)#no exec2. 控制VTY为了保证安全,任何VTY应该仅允许
6、指定的协议建立连接。如一个VTY只支持Telnet服务,可以如下设置transport input telnet。如果操作系统支持SSH,最好配置只支持这个协议,避免使用明文传送的Telnet服务,采用如下设置:transport input ssh。也可以在VTY线路模式下,配置ip access-list来限制访问该VTY的IP地址范围。因为VTY的数目有一定的限制,当所有的VTY用完了,就不能再建立远程的网络连接了。这就有可能被利用进行拒绝服务攻击(Dos)。这时攻击者不必登录进入,只要建立连接,到login提示符下就可以,消耗掉所有VTY,使用正常访问的用户无法登陆。对于这种攻击的一个
7、好的防范方法就是,利用ip access-list命令限制最后一个VTY的访问地址,使其只向特定管理工作站打开,从而保证管理人员能够远程登录该设备。另一个方法是利用exec-timeout命令,配置VTY的超时时间。避免一个空闲的任务一直占用VTY线路。类似地,也可以用service tcp-keepalives-in来保证TCP建立的进入连接是活动的。从而避免恶意的攻击或远端系统的意外崩溃导致的资源独占。更好的保护VTY的方法是关闭所有非基于IP的访问,且使用IPSec加密所有的远端与该设备的连结。3. 策略路由下面我们具体看一下命令:1) 使用route-map命令创建route mapR
8、outer(config)#route-map permit|deny参数map-tag指定了route map的名字参数permit和deny指定了如果条件匹配将执行的动作参数sequence-number用于区分每一个route map statement,不同的statement拥有不同的sequence number。通过这个参数你可以在一个route map的特定位置插入或删除一条route map statement,并且可以单独的编辑它。一个route map可以包含多个route map statement,这些语句的执行顺序像ACL一样是从上到下。对于一个路由,先匹配的先执行
9、。2) 使用match route map命令定义检查条件Router(config-route-map)#match 3) 使用set route-map配置命令定义如果条件匹配后的行为Router(config-route-map)#set 一个route map可以包含多个route map statement,一个match语句可以包含多个条件。如果一个条件为真,则认为这个条件匹配;然而,必须所有的条件都匹配,才认为这个route map statement匹配。序列号参数决定了进行条件匹配的顺序。只有序列号为10的语句没有匹配,才会检查序列号为20的语句才被检查。一个route ma
10、p的最后默认deny any。这个deny的使用结果依赖于这个route map是怎样使用的。如果一个数据包对于route map没有匹配项,它会按照正常的目的地址路由转发。如果你想丢弃这个包,需要包含一个set语句路由这个包到一个null接口。这条语句应该被放在 route map的最后。4) Match用来在route-map中执行匹配的标准包括:a) IP访问列表中的源和目的地址b) 三层数据包长度i. 标准访问列表和扩展访问列表都可用来建立策略路由的匹配标准。要使用IP访问列表来实现策略路由,可以使用match ip address命令:Router(config-route-map)
11、#match ip address | .|如果定义了多个访问控制列表,任何一个访问列表被匹配都认为这条语句被匹配。ii. match length 命令用来基于三层包长度来建立匹配。Router(config-route-map)#match length 参数 定义了三层包的最大和最小长度。当一个包的长度在这两个值之间,匹配成立。可以使用match length命令来区分传输类型,例如:交互数据包和文件传输数据包,文件传输数据包往往比较大。5) Set,可以使用一系列的set命令来定义当匹配语句满足时,数据包如何通过路由器进行转发。 set ip next-hop set interfac
12、e set ip default next-hop set ip default interface set ip tos set ip precedence一些set命令只影响路由表里有明显路由的数据包;其他的set命令只影响路由表里没有明显路由的数据包。下面我们来仔细看一下:(1) Router(config-route-map)#set ip next-hop .Set ip next hop 命令设定流出端口的数据包的下一跳地址。这个地址必须是邻接路由器的ip地址。如果配置了多个接口,则使用第一个相关的可用接口。这个命令将影响所有的数据包类型并且一直使用。(2) Router(conf
13、ig-route-map)#set interface . Set interface 命令为数据包设定出向端口。 参数指定接口的类型和编号。如果定义了多个接口,则使用第一个被 发现的up接口。有时,路由表可能不包含到一个数据包目的地址的明显的路由(例如:广播包或者目的地址未知的数据包),这种情况下,命令将不影响到这些数据包或者说命令忽 略这些数据包。(3)Router(config-route-map)# set ip default next hop .Set ip default next hop命令用于当路由表里没有到数据包目的地址的明显路由时,设定它的下一跳地址。(4)Router(
14、config-route-map)# set default interface .如果到目的地址没有明显路由,set default interface命令为这些数据包设定output接口。一旦目的地址或接口被选择,其他的default set 命令被忽略。(5)Router(config-route-map)# set ip tosSet ip tos 用来设定IP数据包的IP ToS值。可以设定以下值:Type of sevice valueMax-reliabilitySet max reliable ToS (2)Max-throughputSet max throughput To
15、S (4)Min-delaySet min delay ToS (8)Min-monetary-costSet min monetary cost ToS (1)normalSet normal ToS (0)(6) Router(config-route-map)#set ip precedence |Set ip precedence 命令用来设定IP数据包的优先级。可设定值如下表:Value Name0 Routine1 Priority2 Immediate3 Flash4 Flash-override5 Critical6 Internet7 Network这个表显示了能够使用的优先级值和相应的名字,如前面的配置所示这些set命令可以结合起来使用。三、 管理配置1. WEB管理目前,有些用户习惯使用基于HTTP的Web方式管理网络设备,因此必须要为
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1