H3C-SSH安全配置 1.ssh概述 SSH是Secure Shell(安全外壳)的简称,是一种在不安全的网络环境中,通过加密机制和认证机制,实现安全的远程访问以及文件传输等业务的网络安全协议。 SSH协议采用了典型的客户端/服务器模式,并基于TCP协议协商建立用于保护数据传输的会话通道。设备既可以支持SSH服务器功能,接受多个SSH客户端的连接,也可以支持SSH客户端功能,允许用户通过设备与远程SSH服务器建立SSH连接。 目前,设备支持三种SSH应用:Stelnet、SCP和SFTP。 · Stelnet是Secure Telnet的简称,可提供安全可靠的网络终端访问服务,使得用户可以安全登录到远程设备,且能保护远程设备不受诸如IP地址欺诈、明文密码截取等攻击。设备可支持Stelnet服务器、Stelnet客户端功能。 · SFTP是Secure FTP的简称,基于SSH2,可提供安全可靠的网络文件传输服务,使得用户可以安全登录到远程设备上进行文件管理操作,且能保证文件传输的安全性。设备可支持SFTP服务器、SFTP客户端功能。 · SCP是Secure Copy的简称,基于SSH2,可提供安全的文件复制功能。设备可支持SCP服务器、SCP客户端功能。 SSH协议有两个版本,SSH1和SSH2,两者互不兼容,SSH2在性能和安全性方面比SSH1有所提高。
· 仅S7500E Release 6708(S7508E-X Release 6908)及以上版本支持SCP特性。 · 目前,设备作为SSH服务器时,支持SSH2和SSH1两个版本;设备作为SSH客户端时,只支持SSH2版本。
2.SSH工作过程
说明
本小节以SSH2为例介绍SSH工作的过程。
SSH服务器端与SSH客户端需要经历表1所述的几个阶段的交互,才能实现SSH的安全连接,关于各阶段的详细介绍,请参见“SSH技术白皮书”。 表1SSH服务器端与客户端建立连接的几个阶段 [td] | | | SSH服务器在22号端口侦听客户端的连接请求,在客户端向服务器端发起连接请求后,双方建立一个TCP连接 | | | | SSH支持多种算法,双方根据本端和对端支持的算法,协商出最终用于产生会话密钥的密钥交换算法、用于数据信息加密的加密算法、用于进行数字签名和认证的公钥算法,以及用于数据完整性保护的HMAC算法 | | 双方通过DH(Diffie-Hellman Exchange)交换,动态地生成用于保护数据传输的会话密钥和用来标识该SSH连接的会话ID,并完成客户端对服务器端的身份认证 | | SSH客户端向服务器端发起认证请求,服务器端对客户端进行认证 | | 认证通过后,SSH客户端向服务器端发送会话请求,请求服务器提供某种类型的服务(目前支持Stelnet和SFTP),即请求与服务器建立相应的会话 | | 会话建立后,SSH服务器端和客户端在该会话上进行数据信息的交互 |
说明
· 交互会话阶段,用户在客户端可以通过粘贴文本会话的方式执行命令,但文本会话不能超过2000字节,且粘贴的命令最好是同一视图下的命令,否则服务器可能无法正确执行该命令。 · 如果粘贴的文本会话超过2000字节,可以采用将配置文件通过SFTP(Secure FTP,安全的FTP)方式上传到服务器,利用新的配置文件重新启动的方式执行这些命令。
3. SSH认证方式
设备作为SSH服务器可提供以下四种对客户端的认证方式: 1. password认证 利用AAA(Authentication、Authorization、Accounting,认证、授权和计费)对客户端身份进行认证。客户端向服务器发出password认证请求,将用户名和密码加密后发送给服务器;服务器将认证请求解密后得到用户名和密码的明文,通过本地认证或远程认证验证用户名和密码的合法性,并返回认证成功或失败的消息。 2. publickey认证 采用数字签名的方式来认证客户端。目前,设备上可以利用DSA和RSA两种公钥算法实现数字签名。客户端发送包含用户名、公钥和公钥算法的publickey认证请求给服务器端。服务器对公钥进行合法性检查,如果不合法,则直接发送失败消息;否则,服务器利用数字签名对客户端进行认证,并返回认证成功或失败的消息。 3. password-publickey认证 对于SSH2版本的客户端,要求同时进行password和publickey两种方式的认证,且只有两种认证均通过的情况下,才认为客户端身份认证通过;对于SSH1版本的客户端,只要通过其中任意一种认证即可。 4. any认证 不指定客户端的认证方式,客户端可采用password认证或publickey认证,且只要通过其中任何一种认证即可。 说明:
· 为便于描述,下文中提到的publickey/password认证方式是指涉及该认证方式的所有认证方式(publickey/password、password-publickey和any)。 · 客户端进行password认证时,如果远程认证服务器要求用户进行二次密码认证,则会在发送给服务器端的认证回应消息中携带一个提示信息,该提示信息被服务器端透传给客户端,由客户端输出并要求用户再次输入一个指定类型的密码,当用户提交正确的密码并成功通过认证服务器的验证后,服务器端才会返回认证成功的消息。 · SSH1版本的SSH客户端不支持AAA服务器发起的二次密码认证。
4. SSH支持MPLS L3VPN
设备作为SSH客户端时,通过支持MPLS L3VPN功能,可以与位于MPLS L3VPN中的SSH服务器建立SSH连接。 如图所示,私网VPN 1和VPN 2中的用户通过PE接入MPLS骨干网,各VPN之间的业务相互隔离。在PE设备上开启SSH客户端功能后,通过MPLS L3VPN功能和SSH连接支持MPLS L3VPN功能,可以对各VPN中使能SSH服务器功能的CE设备进行访问,实现从PE设备到CE设备的安全登录和日志文件传输等功能。 SSH支持VPN多实例组网应用图
京东翰林教育 中国零起点网络专家华为NA NP零起点授课 咨询qq:1875816702 关注微信公众号:翰林科技教育 即可获得华为学习资料,考试试题,高薪就业,月薪4000-8000起
|