微波EDA网,见证研发工程师的成长!
首页 > 通信和网络 > 通信网络技术文库 > 基于SSH的网络安全解决方案

基于SSH的网络安全解决方案

时间:08-13 来源:C114 点击:

2具体应用及安全模型

具体应用时,SSH可以提供3类服务:

2.1 安全远程登录和安全远程命令执行:替代传统的telnet和rlogin,rsh命令

网络遭受攻击,很多情况是由于服务器提供了Telnet服务引起的。对于UNIX系统,如果要远程管理他,必定要使用远程终端,而要使用远程终端,自然要在服务器上启动Telnet服务。但是Telnet服务有一个致命的弱点他以明文的方式传输用户名及口令,所以,很容易被第三者窃取口令。一种有效代替Telnet服务的工具就是SSH。用户要登录到远程计算机用户账号中,可以使用命令:

#ssh username@remotecomputer

整个登录会话在客户端和服务器之间传输时都是经过加密的,从而实现了安全远程登录。

对系统管理员来说,如果要查看局域网中4台计算机(A,B,C,D)上的每个用户启动的进程,按传统方法,可以使用rsh:

#!/bin/sh

for machine in A B CDdo

rsh¥machine/usr/ucb/w

done

虽然这种方法可以达到目的,却不安全。/usr/ucb/w的结果在网络上是明文传输的。可以利用SSH代替RSH,实现安全远程命令执行。

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所示。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top