- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
基于SSH的网络安全解决方案
2.2 安全文件传输:替代传统的rcp,ftp命令
传统的文件传输程序(ftp.rcp或E-mail)都不能提供一种安全的解决方案。当文件在网络上传输时,第三方总可以将其截获并读取其中的数据包。要防止这种问题,可以采取很多措施,例如,在源计算机上使用PGP(PrettyGood Privacy)之类的程序对文件进行加密,然后使用传统的方法把文件传输到目的计算机,并在此处解密文件。然而,这个过程比较复杂,而且对用户不是透明的。利用 SSH,用户只需使用一个拷贝命令scp就可以在两台计算机之间安全的传输文件:#scp name-of-source name-of-destination,文件在离开源计算机时 加密,到达目的计算机时自动解密。虽然scp命令十分有效,但用户可能更熟悉ftp的命令。sftp是在SSH之上的一个基于SFTP协议的独立的文件传输工具:
#sftp username@remotecomputersftp>
sftp>
在一个sftp会话中可以调用多个命令进行文件拷贝和处理,而scp每次调用时都要打开一个新会话。
其实,SSH并不执行文件传输。在SSH协议中没有任何传输文件的内容,SSH通信者不能请求对方通过SSH协议来发送或接收文件。scp,sftp程序并没有真正实现SSH协议,也根本没有融合什么安全特性。实际上,他们只是在一个子进程中调用SSH进行远程登录,然后传输文件,最后调用SSH关闭本次连接而已。
2.3 转发:包括对各种TCP应用的端口转发以及X11连接转发
SSH可以增加基于TCP/IP的应用程序的安全性。这是通过一种称为转发(forwarding)或隧道(tunneling)的技术来实现的。该技术通过对TCP/IP连接进行重新路由,使其通过SSH连接传输,并且透明地进行端到端的加密(实际上,这已经算是基本的VPN功能了)。
2.3.1 端口转发(port forwarding)
SSH使用的传输机制是TCP/IP,通常使用的都是服务器的TCP端口22,并对经过连接传输的数据进行加解密操作。用SSH对其他应用程序在别的TCP端口上建立的TCP/IP传输进行加密和解密,这一过程称为端口转发。端口转发可以使telnet,pop3,smtp,nntp和imap等基于TCP/IP的不安全协议变得安全。
假设用户要在家里的主机H上运行一个Email阅读程序,访问位于企业局域网内部的一台IMAP服务器S。要使IMAP连接通过SSH隧道,就得在主机H上选择一个本地端口(1 024~65 535),将其发送至远程套接字(S,143)。假设随机选取本地端口2003,则创建隧道的命令为:#sshL2003:localhost:143 S,其中,-L表明是本地转发,此时TCP客户端与SSH客户端同在本地主机上。现在,Email阅读程序连接本地套接字(localhost,2003)即可安全的阅读IMAP服务器上的邮件。
远程转发与本地转发几乎完全相同,只是方向相反,此时TCP客户端在远程,服务器在本地,转发连接由远程主机发起(其创建隧道的命令为#ssh-R2003:localhost:143 H)。
一般意义上讲,SSH端口转发是TCP使用的一种通用代理机制,而且只能用于TCP/IP协议,如果协议不是基于TCP的,比如基于UDP的DNS,DHCP,NFS和NetBIOS或者非IP类协议,如AppleTalk或Novell的SPX/IPX,就不能使用端口转发机制。
2.3.2 X转发
XWindow是Unix工作站上很流行的窗口系统,其中一项重要功能就是他的透明性。用户可以运行远程X应用程序,并将其显示在本地机器上。但是机器间的通讯不安全,他完全暴露在窥探器之下。利用SSH,可以将X协议连接导入SSH连接,以保障其安全性,并提供更强的认证,此项功能称为X转发。X转发是端口转发的一个特例,SSH对此提供特别支持。
以SSH2.0协议的实现为例,在客户端配置文件中将关键字ForwardX11设置成yes或no来启用或禁用X转发。服务器范围配置关键字X11Forwarding及其同义词ForwardX11和AllowX11Forwarding可以在服务器端启用/禁用X转发。
在以上SSH所提供的3种服务的基础上,可以建构基于SSH的网络安全模型,如图1所示。
企业实际部署时可将防火墙与SSH服务器实现于同一台计算机,即企业局域网的网关主机中。SSH可采用免费的OpenSSH或商业产品F-Secure SSH,而防火墙则采用普通的软件防火墙产品,例如东大阿尔派NetEye 2.0。
3 安全性分析
SSH解决了许多和网络有关的安全漏洞,有效地防止了网络窃听(Sniffer)、IP欺骗、DNS欺骗、连接劫持(Connection Hijacking)、插入攻击(Compensation Attack)和中间人攻击(man-in-the-middle)等,但并没有解决全部问题,尤其是他仍然容易受到针对底层TCP/IP缺陷而发起的服务器拒绝攻击(DoS);他也不能解决一些考虑环境因素而产生的攻击方法,例如流量分析和隐秘通道;也不能防止出现病毒,Trojin木马和咖啡豆(coffee spill)。对于TCP/IP的缺陷引起的问题,只能通过更低级的网络层技术才能很好的解决,例如硬件链路加密或IPSec;对于流量分析攻击,SSH可以在空闲时发送一些随机的,非操作性的信息来干扰活动状态的分析(目前的SSH产品还没有实现这种特性);对于病毒等则需要病毒防火墙来解决。
4 结语
SSH协议既可以提供主机认证,又提供用户认证,同时还提供数据压缩,数据机密性和完整性保护。SSH的不足之处在于他使用的是手工分发并预配置的公匙而非基于证书的密匙管理。与SSL和TLS相比,这是SSH的主要缺陷。但从SSH2.0协议开始允许一同使用PKI证书和密匙,将来在SSH产品中把这种特性和通用的PKI一起实现,这样可以降低密匙管理的负担并提供更强大的安全保障。虽然SSH还有其不足之处,但相对于VPN和专业防火墙的复杂性和费用来说,也不失为一种可行的网络安全解决方案,尤其适合中小企业部署应用。
来源:维库开发网
上一篇:非线性控制理论在有源滤波技术中的应用
下一篇:简单网络管理协议的研究与应用