SSH加强思科路由器远程管理安全
2008-11-05 13:31:42 来源:WEB开发网Telnet到Cisco路由器进行远程管理是很多网管的选择,但是通过Telnet传输的数据都是明文,因此这种登录方式存在很大的安全隐患。一个恶意用户完全可能通过类似Sniffer这样的嗅探工具,在管理员主机或者适当的接口进行本地监听获取管理员登录Cisoc路由器的密码。
1、安全测试
笔者在本地安装了sniffer,然后利用Telnet登录Cisco路由器。停止嗅探然后解码查看,如图1所示笔者登录路由器进入用户模式和全局模式是输入的密码都明文显示出来了。虽然密码被拆分成了两部分,但一个有经验的攻击者完全可能将它们进行组合从而获取Cisco路由器的登录密码。其实,不仅仅是这些,利用嗅探工具管理员所有在路由器上输入的命令都会被嗅探到。这样,就算是管理员更改了路由器的密码,并且进行了加密但都可以嗅探得到。(图1)
2、SSH的安全性
SSH的英文全称为Secure Shell,它默认的连接端口是22。通过使用SSH,可以把所有传输的数据进行加密,这样类似上面的“中间人”攻击方式就不可能实现了,而且它也能够防止DNS和IP欺骗。另外,它还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。
3、SSH部署
基于上面的测试和SSH的安全特性,要实现Cisco路由器的安全管理用SSH代替Telnet是必要的。当然,要实现SSH对CISOC的安全管理,还需要在路由器上进行相关设置。下面笔者就在虚拟环境中演示SSH的部署、连接的技术细节。
(1).Cisco配置
下面是在Cisco上配置SSH的相关命令和说明:
ra#config terminal
ra(config)#ip domain-name ctocio.com.cn
//配置一个域名
ra(config)#crypto key generate rsa general-keys modulus 1024
//生成一个rsa算法的密钥,密钥为1024位
(提示:在Cisoc中rsa支持360-2048位,该算法的原理是:主机将自己的公用密钥分发给相关的客户机,客户机在访问主机时则使用该主机的公开密钥来加密数据,主机则使用自己的私有的密钥来解密数据,从而实现主机密钥认证,确定客户机的可靠身份。
ra(config)#ip ssh time 120
//设置ssh时间为120秒
ra(config)#ip ssh authentication 4
//设置ssh认证重复次数为4,可以在0-5之间选择
ra(config)#line vty 0 4
//进入vty模式
ra(config-line)#transport input ssh
//设置vty的登录模式为ssh,默认情况下是all即允许所有登录
ra(config-line)#login
这样设置完成后,就不能telnet到Cisoc路由器了。(图3)
ra(config-line)#exit
ra(config)#aaa authentication login default local
//启用aaa认证,设置在本地服务器上进行认证
ra(config-line)#username ctocio password ctocio
//创建一个用户ctocio并设置其密码为ctocio用于SSH客户端登录
这样SSH的CISCO设置就完成了。
(2).SSH登录
上面设置完成后就不能Telnet到cisco了,必须用专门的SSH客户端进行远程登录。为了验证SSH登录的安全性,我们在登录的过程中启用网络抓包软件进行嗅探。
笔者采用的SSH客户端为PuTTY,启动该软件输入路由器的IP地址192.168.2.1,然后进行扥两个会弹出一个对话框,让我们选择是否使用刚才设置的SSH密钥,点击“是”进入登录命令行,依次输入刚才在路由器上设置的SSH的登录用户及其密码ctocio,可以看到成功登录到路由器。(图4)
然后我们查看嗅探工具抓包的结果,如图所示所有的数据都进行了加密,我们看不到注入用户、密码等敏感信息。由此可见,利用SSH可以确保我们远程登录Cisco路由器的安全。(图5)
总结:其实,SSH不仅可用于路由器的安全管理。在我们进行系统的远程管理、服务器的远程维护等实际应用中都可以部署基于SSH远程管理。另外,当下的SSH工具不仅有命令行下的,也有一些GUI图形界面下的工具。网络管理,安全第一,SSH能够极大程度地预防来自“中间人”的攻击,希望本文对大家提升网络管理的安全性有所帮助帮助。
更多精彩
赞助商链接