购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.4 搭建安全FTP

管理虚拟服务器,安全是保障。如何提高服务器的安全系数,避免数据丢失,提高数据传送速度,在不断的摸索中,在长期的应用中,发现利用SSH管理服务器,对提高安全性有很大的帮助。利用SSH,可以在虚拟服务器上搭建安全FTP,方便数据的共享。

2.4.1 SSH概述

SSH是Secure Shell的缩写,由IETF的网络工作小组(Network Working Group)所制定;SSH是创建在应用层和传输层基础上的安全协议。

传统的网络服务程序,如FTP、POP和Telnet,其本质上都是不安全的;因为它们在网络上使用明文传送数据、用户帐号和用户口令,很容易受到中间人(man-in-the-middle)攻击方式的攻击。换句话说,就是存在另一个人或者一台机器冒充真正的服务器接收用户传给服务器的数据,然后再冒充用户把数据传给真正的服务器。而SSH是目前比较可靠的,专为远程登录会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题。通过SSH可以对所有传输的数据进行加密,也能够防止DNS欺骗和IP欺骗。

SSH的另一项优点是其传输的数据是经过压缩的,所以可以加快传输的速度。SSH有很多功能,它既可以代替Telnet,又可以为FTP、POP,甚至为PPP提供一个安全的“通道”。

1.SSH协议框架中的三个协议

(1)传输层协议(Transport Layer Protocol)。传输层协议提供服务器认证、数据机密性、信息完整性等的支持。

(2)用户认证协议(User Authentication Protocol)。用户认证协议为服务器提供客户端的身份鉴别。

(3)连接协议(Connection Protocol)。连接协议将加密的信息隧道复用成若干个逻辑通道,提供给更高层的应用协议使用。

SSH协议同时还可以为许多高层的网络安全应用协议提供扩展支持。各种高层应用协议可以相对地独立于SSH基本体系之外,并依靠这个基本框架,通过连接协议使用SSH的安全机制。

2.SSH在客户端的安全验证

SSH在客户端提供两种级别的安全验证。

1)第一种级别(基于密码的安全验证)

如果知道帐号和密码,就可以登录远程主机,并且所有传输的数据都会被加密。但是,可能会有其他服务器在冒充真正的服务器,无法避免被“中间人”攻击。

2)第二种级别(基于密钥的安全验证)

用户必须为自己创建一对密钥,并把公有密钥放在需要访问的服务器上。客户端软件会向服务器发出请求,请求将密钥进行安全验证。服务器收到请求之后,先在该服务器的用户根目录下寻找用户的公有密钥,然后把它和用户发送过来的公有密钥进行比较。如果两个密钥一致,服务器就用公有密钥加密“质询”(challenge)并把它发送给客户端软件,从而避免被“中间人”攻击。

3.SSH在服务器端的安全验证

SSH在服务器端的安全验证有两种方案,具体如下。

(1)主机将自己的公用密钥分发给相关的客户端,客户端在访问主机时则使用该主机的公开密钥来加密数据,主机则使用自己的私有密钥来解密数据,从而实现主机密钥认证,确定客户端的可靠身份。

(2)存在一个密钥认证中心,所有提供服务的主机都将自己的公开密钥提交给认证中心,而任何作为客户端的主机则只要保存一份认证中心的公开密钥就可以了。在这种模式下,客户端必须访问认证中心然后才能访问服务器主机。

2.4.2 配置SSH

利用SSH来搭建FTP,需要先进行配置,具体配置步骤如下。

(1)成功登录到主机后,在“配置”选项卡中选择“安全配置文件”选项,单击“属性”按钮,如图2-76所示。

图2-76 安全配置文件

(2)在打开的“服务属性”对话框中,选中SSH,可以看到其当前状态是“已停止”,单击“选项”按钮,更改其状态,如图2-77所示。

图2-77 “服务属性”对话框

(3)在“SSH选项”对话框中,在“启动策略”中选择“与主机一起启动和停止”单选按钮,在“服务命令”选项组中单击“启动”按钮,然后单击“确定”按钮,如图2-78所示,这样,SSH服务就开启了。

图2-78 SSH选项

(4)同时,检查“防火墙属性”对话框中的“SSH服务器”选项是否正常选中,如图2-79所示。

图2-79 “防火墙属性”对话框

(5)为保证安全,可以在“防火墙属性”对话框中限定FTP规则适用的IP范围。在如图2-79所示的对话框中,单击“防火墙”按钮,在弹出的“防火墙设置”对话框中选中“仅允许从以下网络连接”单选按钮,在下面输入允许连接的IP范围,如图2-80所示,设置完成后,单击“确定”按钮完成操作。所做设置将立即生效。

图2-80 “防火墙设置”对话框

注意 限定FTP规则适用的IP范围的操作只需执行一次,vSphere5.x系统会自动记录设置内容,不用每次重新设置。

我们也可以在ESXi4.x/5.x主机界面中开启SSH。在ESXi主机界面下按F2键,输入用户名和密码后,在如图2-81所示的界面上通过按键盘的上下键选中Troubleshooting Options,在弹出的Troubleshooting Mode Options对话框中选中Disable SSH,再按Enter键确认,当右面显示SSH is Enabled后,如图2-82所示,依次按Esc键退出到主机界面,即可完成开启SSH服务。

图2-81 选中Troubleshooting Options

图2-82 在ESXi主机界面开启SSH

2.4.3 配置应用FTP

利用FlashFXP软件,可以检查SSH服务是否成功开启。同时也可以利用Linux命令创建FTP。

1.测试SFTP over SSH连接

由于安全很重要,一些不安全的服务逐渐被停用,比如使用SFTP代替FTP,甚至RSYNC(remote sync是类unix系统下的数据镜像备份工具)的默认传输层都是用SSH,因此,在今后的文件传输中,使用SSH作为通道会成为标配。SFTP over SSH是使用安全通道的FTP连接。

(1)我们以root用户,通过FlashFXP以“SFTP over SSH”连接到vSphere5.x服务器,如图2-83所示。

图2-83 SFTP over SSH连接

(2)初次连接,会提示用户验证主机密钥,如图2-84所示,单击“接受并保存”按钮,确认密钥。

图2-84 验证主机密钥

(3)密钥确认成功后,会要求键盘认证,需要输入root用户的密码,然后单击“确定”按钮,如图2-85所示。

图2-85 “键盘认证”对话框

(4)成功连接到具有安全通道的FTP,上传准备好的“FTP目录”到ESXi任意文件夹,比如上传到/vmfs/volumes/datastore1卷目录下面。


注意 /vmfs/volumes/datastore1是一个通用卷目录,如果你的系统卷名不同,应该更改为你的系统中的卷名。用户要上传的数据,只需复制一次,重启后仍然存在。若复制到其他目录,重启后需要重新复制。

2.应用SSH配置FTP

使用SSH可以创建安全的连接,接下来,来学习如何使用SSH Secure Shell进行FTP的创建。

(1)首先,利用SSH Secure Shell软件登录到vSphere5.x服务器,如图2-86所示,单击Quick Connect按钮,在弹出的Connect to Remote Host对话框中输入连接的ESXi服务器的IP地址及用户名并单击Connect按钮。

图2-86 SSH连接ESXi服务器

(2)输入root用户的密码后,如图2-87所示,成功连接到10.2.0.24服务器并运行如图2-88所示的四条命令,命令执行完成后,则利用SSH配置FTP成功。

图2-87 输入root用户密码

图2-88 执行命令完成

(3)为提高安全性,我们在ESXi的“防火墙属性”对话框中限定“FTP服务器”规则适用的IP范围。在如图2-89所示的界面中,单击“防火墙”按钮,在弹出的“防火墙设置”对话框中选中“仅允许从以下网络连接”单选按钮,在下面输入允许连接的IP范围,如图2-90所示,设置完成后,单击“确定”按钮完成操作。所作设置将立即生效。

图2-89 防火墙属性- FTP服务器

图2-90 限制FTP服务器的访问IP

(4)创建完成后,可以利用FlashFXP以root用户、21端口、FTP协议连接vSphere5.x服务器,如图2-91所示。成功连接至FTP后,可以直观地看到上传的FTP目录,如图2-92所示。

图2-91 连接至FTP

图2-92 查看上传的FTP目录

(5)测试该FTP上传、下载的速度,上传速度可达10~30MB/秒,下载速度可达10~50MB/秒,如图2-92所示。具体情况需取决于网络连接情况与计算机配置。

图2-93 下载文件

3.vSphere5.x控制台配置FTP

上面我们利用SSH Secure Shell软件成功配置了FTP,下面利用vSphere5.x控制台来配置FTP。

为了让FTP服务在vSphere5.x服务器重启后自动启动,需要编辑文件/etc/rc.local(5.0)或者/etc/rc.local.d/local.sh(5.1.x),具体步骤如下:

(1)开启ESXi Shell的方法与开启SSH相同,在如图2-81所示的界面上通过按键盘的上下键选中Troubleshooting Options,在弹出的Troubleshooting Mode Options对话框中选中Disable ESXi Shell,再按Enter键确认,当右面显示ESXi Shell is Enabled后,则表示启用ESXi Shell成功,如图2-94所示。

图2-94 启用ESXi Shell

(2)依次按Esc键退出到主机界面。然后在主机界面按Alt+F1键就会出现vSphere5.x的控制台界面,输入用户名及密码就可以成功登录控制台,如图2-95所示,其界面与通过SSH Secure Shell-Green登录到vSphere5.x服务器类似。

图2-95 vSphere5.x的控制台界面

(3)进入控制台后,运行命令“vi /etc/rc.local”(打开/etc/rc.local文件,并将光标置于第一行首),然后编辑rc.local文件,输入如图2-88所示的四条代码,注意认真检查输入的正确性,输入完成后,再按一次Esc键并输入命令“:wq”(存盘退出)。也可以将rc.local文件通过FTP复制到本地计算机进行编辑,如图2-96所示,编辑完成后再通过FTP复制到vSphere5.x控制台。

图2-96 本地计算机编辑rc.local文件

(4)编辑完成后,必须运行exit命令退出登录,否则有安全隐患。如果多次登录,就必须多次运行exit命令逐次退出登录,直到看见localhost login:提示界面为止。再按Alt+F2键显示主机界面。

注意 如果在图2-95中显示ESXi Shell is Disable,则表示ESXi Shell已经停止服务,在主机界面按Alt+F1键就不能进入控制台了。

通过操作vSphere5.x的控制台,也可以配置安全的FTP,以方便资源共享。FTP操作与“浏览存储”相比,操作简洁,上传、下载速度更快速,界面更加直观,而且安全性也有保证。

本小节涉及Linux的命令,有关Linux命令的作用,有兴趣的读者可参考相关网站。

有关“FTP目录”及SSH Secure Shell软件,可以通过相关网站进行下载。 SZZ1bs4d5GPRhy0TzYQsuiEtSrrOzD84eu2kRD7iiQuETFbPE13SMAleAo9CpTC8

点击中间区域
呼出菜单
上一章
目录
下一章
×