思科路由器(3745平台)SSH连接设置

最常用的远程登录思科路由器的方法一直都是采用telnet的方式,但是这种方式是明文传输数据,安全性不高。很多黑客在攻击cisco路由器的时候都会采用Sniffer之类的软件来窃取管理员的帐号和密码,从而获得路由器的最高管理权限。因此,这里给大家介绍采用SSH来代替telnet的方法,这样安全性更高。

1、安全测试:

笔者在本地安装了sniffer,然后利用Telnet登录Cisco路由器。停止嗅探然后解码查看,如图1所示笔者登录路由器进入用户模式和全局模式是输入的密码都明文显示出来了。虽然密码被拆分成了两部分,但一个有经验的攻击者完全可能将它们进行组合从而获取Cisco路由器的登录密码。其实,不仅仅是这些,利用嗅探工具管理员所有在路由器上输入的命令都会被嗅探到。这样,就算是管理员更改了路由器的密码,并且进行了加密但都可以嗅探得到。(图1)
从上面最后一行Data:后面的那个C就表示我们输入的第一个密码。再接着查看后面的几个Telnet Data数据包我们就可以看出它的密码。这样对于我们的网络来说是特别不安全的。

2、SSH的安全性

SSH的英文全称是Secure Shell,是由芬兰的一家公司开发的。SSH由客户端和服务端的软件组成,有1.x和2.x两个不兼容的版本。SSH的功能强大,既可以代替Telnet,又可以为FTP、POP3和PPP提供一个安全的“通道”。使用SSH,可以把传输的所有数据进行加密。即使有人截获到数据也无法得到有用的信息。同时,数据经过压缩,大大地加快传输的速度。它默认的连接端口是22。通过使用SSH,可以把所有传输的数据进行加密,这样类似上面的“中间人”攻击方式就不可能实现了,而且它也能够防止DNS和IP欺骗。另外,它还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。

3、SSH部署

基于上面的测试和SSH的安全特性,要实现Cisco路由器的安全管理用SSH代替Telnet是必要的。当然,要实现SSH对CISOC的安全管理,还需要在路由器上进行相关设置。下面笔者就在虚拟环境中演示SSH的部署、连接的技术细节。

(1).Cisco配置

下面是在Cisco上配置SSH的相关命令和说明:  

Router(config)#hostname R2        //需要对路由器重命名,使用默认的名字是不能生成rsa算法密钥的。

R2(config)#ip domain-name cisco.com     配置一个域名
R2(config)#crypto key generate rsa general-keys modulus 1024    //生成一个rsa算法的密钥,密钥为1024位 
            (提示:在Cisoc中rsa支持360-2048位,该算法的原理是:主机将自己的公用密钥分发给相关的客户机,客户机在访问主机时则使用该主机的公开密钥来加密数据,主机则使用自己的私有的密钥来解密数据,从而实现主机密钥认证,确定客户机的可靠身份。)
The name for the keys will be: R2.cisco.com           

% The key modulus size is 1024 bits
            % Generating 1024 bit RSA keys, keys will be non-exportable...[OK]

R2(config)#
            *Mar  1 00:09:46.607: %SSH-5-ENABLED: SSH 1.99 has been enabled 
R2(config)#ip ssh time-out 120     设置ssh时间为120秒
R2(config)#ip ssh authentication-retries 4   设置ssh认证重复次数为4,可以在0-5之间选择
R2(config)#line vty 0 4 
R2(config-line)#transport input ssh  设置vty的登录模式为ssh,默认情况下是all即允许所有登录,这里强制指定为ssh连接,telnet连接将被关闭。
R2(config-line)#login 
R2(config-line)#exit

R2(config)#enable password 123456   设置enable密码是为了,当用户连接进去后能切换到特权模式,如果不设置用户是无法进入特权模式的。这是路由器的默认设置。

这样设置完成后,就不能telnet到Cisoc路由器了。

由于SSH是基于身份验证的方式连接的,所以这里还要新建用户和密码,还要有相关的身份验证机制(就是给路由器做个证书): 

R2(config)#aaa new-model 启用AAA 
R2(config)#aaa authentication login default local   启用aaa认证,设置在本地服务器上进行认证
R2(config)#username cisco pass cisco 创建一个用户cisco并设置其密码为cisco用于SSH客户端登录
R2(config)#line vty 0 4
R2(config-line)#login authentication default  设置使用AAA的default来进行认证
R2(config-line)#exit
            R2(config)#

好了现在就可以使用SSH登录了。

 

下面用PuTTY连接路由器,设置登录方式,然后点击“Open”:

这里PuTTY提示的安全信息就是说该服务器(路由器)有一个证书,即路由器的rsa算法产生的公钥。

点击确定即可连接:

我采用的SSH客户端为PuTTY,启动该软件输入路由器的IP地址172.16.1.1,然后进行扥两个会弹出一个对话框,让我们选择是否使用刚才设置的SSH密钥,点击“是”进入登录命令行,依次输入刚才在路由器上设置的SSH的登录用户及其密码cisco,可以看到成功登录到路由器。

然后我们查看嗅探工具抓包的结果,如图所示所有的数据都进行了加密,我们看不到注入用户、密码等敏感信息。由此可见,利用SSH可以确保我们远程登录Cisco路由器的安全。

总结:其实,SSH不仅可用于路由器的安全管理。在我们进行系统的远程管理、服务器的远程维护等实际应用中都可以部署基于SSH远程管理。另外,当下的SSH工具不仅有命令行下的,也有一些GUI图形界面下的工具。网络管理,安全第一,SSH能够极大程度地预防来自“中间人”的攻击,希望本文对大家提升网络管理的安全性有所帮助帮助。

你可能感兴趣的:(思科路由器(3745平台)SSH连接设置)