打印本文 关闭窗口 | |
SSH远程管理网络设备应该注意事项 | |
作者:陈鹏 文章来源:eNet 点击数 更新时间:2009/9/11 1:43:59 文章录入:陈鹏 责任编辑:陈鹏 | |
|
|
一、配置虚拟端口以支持远程协议 在思科的网络设备上,只要采用了IOS管理系统,那么都支持远程管理协议。不过网络管理员需要注意的是,远程登录跟远程桌面不同。采用SSH等协议来进行远程管理,基本上都是通过命令行方式来进行的。而对于思科网络设备来说,如果要通过命令行形式来管理的,那么有一个前提条件,即需要配置虚拟端口的口令。特别需要说的是,如果要进行带内访问,那么还必须配置enable口令。虽然这个配置并不是很难,但是如果在设备初始化的时候,没有配置虚拟端口的口令。那么就无法通过SSH等远程登陆协议来管理网络设备。 可以利用如下两个命令来配置思科网络设备虚拟端口的口令和enable口令:password(虚拟终端接口命令)和enable password(全局配置命令)。这里要注意这个命令的写法。笔者同时还是一个Linux系统工程师。为此在维护思科网络设备的时候,老是把这个password口令写成passwd。因为在Linux操作系统中就是利用passwd来代替password的。 在进行配置的时候,主要需要注意enable password命令的使用。在这个命令中有一个可选项叫做encryption –type。主要用来指定采用什么方法对口令进行加密。据笔者所知,现在思科的网络设备支持多达7种以上的口令加密方法。如果指定了这个选项的话,那么在交换机上配置这个enable口令的话还需要同时提供encrypted-password参数作为加密口令。不过对于大部分企业来说,没必要进行这么复杂的设置,即不需要启用这个选项。一般情况下只有这个设备是企业与互联网之间的连接设备,即边界路由器等等,由于其直接向互联网开放,才需要启用。否则的话,为了简单起见,这个选项还是不要采用的好。 二、为SSH协议进行特别的配置 对于思科的网络设备来说,其主要支持ssh与telent两种远程连接协议。作为网络管理员,需要注意的是这两种远程连接协议的区别,特别是在安全性上的差异。由于Telnet协议在网络中进行数据传输的时候,采用的都是明文的形式。如用户名与密码、指令等等都是通过明文形式传输的。为此其很不安全。故笔者建议大家,采用ssh协议来进行远程管理。这个协议在功能上跟telnet协议基本相同,只是更加的安全。因为如果采用ssh协议的话,那么数据在网络中传输采用的都是加密处理过的数据。即使其他攻击者截取了这些信息,不知道加密的方法,他们就无法对数据进行解密。为此他们即使获取了这些信息,也没有丝毫的用处。所以,从安全性上考虑,笔者建议大家采用ssh远程管理协议。 如果采用telnet协议的话,只需要配置虚拟端口口令与enable口令即可。但是如果采用ssh协议的话,还需要做一些准备工作。具体的来说,主要有以下几方面的内容。 一是要确认现有的IOS版本是否支持ssh协议。由于telnet协议出现的早。为了弥补telnet协议的不足,才在后来推出了ssh协议。为此并不是所有的IOS版本都支持ssh协议。现在推出的版本都已经支持了这个协议,主要是那些早期的设备。有可能采用的还是旧的IOS,对ssh协议支持的不是很好。一般来说,要让网络设备支持ssh协议的话,要求IOS的版本至少要达到12.1以上。如果没有达到这个版本,那么网络管理员可能就需要对其进行升级。以满足ssh协议管理的要求。 二是需要产生ssh协议所需要的密钥。除了在版本上要保证外,还需要为ssh加密传输产生一个密钥。默认情况下,思科的网络设备不会自动产生ssh连接所需要的密钥,需要网络管理员利用命令crypto key generate rsa等类似的命令来生成密钥。这个命令的含义就是利用RSA算法产生一个可用的密钥。在比较新的IOS版本中,除了支持RSA以外,网络管理员还可以选择其他类型的密钥。为此可以根据对安全的要求不同,采用不同安全等级的密钥算法。不过笔者认为,一般情况下这个RSA的算法已经足够安全了,特别是对于交换机来说。 三是还需要启用aaa new-model全局配置命令。这个命令主要用来指定ssh连接所需要使用的本地用户名和口令对入站的SSH会话进行认证,以及完成一些DNS名称和虚拟终端配置方面的工作。对这个AAA进行合理的配置,可以进一步提高SSH远程连接的安全性,以及消除一些SSH远程连接过程中的一个安全隐患。为此网络管理员需要评估ssh连接的安全风险,并根据风险的等级和来源进行AAA的相关配置。只有如此,才能够有针对性的提高远程管理的安全。 三、SSH背后的一些安全隐患 虽然在大部分情况下,ssh已经足够安全。但是在一些大型网络的维护中,网络管理员还需要了解ssh协议的一些安全隐患。说句实话,目前为止还没有哪一家企业或者机构可以拍拍胸脯的说自己开发的协议是绝对安全的。所以从某种程度上来说,安全往往是一种相对的。为此网络管理员对于SSH协议也不能够百分之百的相信,还需要了解这个协议的一些安全隐患。 一般来说,ssh 协议仍然会受到以下的非法攻击。 如ssh协议虽然采用了加密机制,但是如果这个加密机制与其安全等级不相符合的话,那么非法攻击者仍然可以收集相关的信息,通过拦截大量的数据桢来进行密钥分析。为此网络管理员应该根据网络设备的位置、角色等因素,来评估这个网络设备的风险等级。然后根据相关的等级,再为其指定适用的加密机制。只有如此,才能够性能与安全两者兼顾。如果对于安全要求级别高的网络设别,而采用了一些简单的加密机制,则攻击者就可以花比较短的时间破译用户名与密码,从而进行攻击。所以在加密机制的选择上,可以根据从高的原则来进行设置。即在安全需要等级不明的情况下,尽量采用比较安全的加密机制。 SSH协议虽然对用户名、口令等采用了加密处理,但是其主要的身份验证方法仍然是依靠用户名与口令来进行验证。如果用户采用了比较简单的用户名与口令,如生日、单个英文单词或者网络设备管理员的默认密码等等,都是比较危险的。只要攻击者愿意,对于这些用户名与密码,攻击者可以通过字典攻击的手段,轻易的破解。 另外,如果攻击者利用ssh协议进行连续的非授权登陆尝试,则很有可能导致缓冲区溢出或者Dos攻击;如攻击者也可能利用SSH协议向网络设备发送反常算法,如发送无效的IP桢的填充符或者填充符长度或者发送无效的字段等等。这些要么会导致网络设备瘫痪,要么就会占用大量的网络带宽从而影响企业网络的性能。 从以上分析中可以看出,ssh 协议虽然比较安全,但是这个安全也是相对了。SSH协议也不是一个保险箱,能够百分之百的保证远程管理的安全。作为网络管理员,除了平时要保护用户与口令的安全(不定时的更换用户名与密码、设置比较复杂的密码),还需要采用其他一些技术手段,在必要的时候作为辅助手段来提高SSH协议的安全性。如通过独立的身份认证服务器等等。 总之,采用SSH协议要比采用TELNET协议安全的多。但是即使采用SSH协议,这个安全问题也不容易忽视。 |
|
打印本文 关闭窗口 |