阿里云CentOS 7 配置ftps常规流程

背景

最近公司项目需要对接第三方支付接口进行对账操作,对方需要我们提供交易流水报表,起初打算直接向对方接口POST数据,但是项目进度比较赶,双方在接口规范这块的协商并没有那么快,对方提出简便的流程,我方提供一个ftp给他们,我方后端定时生成账单文件并存放在ftp服务器的制定目录,对方主动去ftp服务器上取回报表文件进行对账,这种方式对于我们来说还是非常方便的,对方发来需求文档需要我们使用ftps而不能使用ftp,这里记录下ftps服务器搭建的过程。

回顾

搭建之前有必要先了解一下ftp、ftps、sftp三种协议,这对我们今后维护或者搭建服务器环境都是非常有帮助的。

ftp 大家应该都知道,早期时候在服务器上共享文件,搭建一个ftp服务器是非常实用的,ftp服务器默认工作在21端口,端口可以自行修改,ftp的速度很快,所以在很长一段时间内,大家都习惯使用ftp服务器来共享网络文件。

ftp有一个致命的缺点,就是传输都是明文的,比如说典型的登录,使用ftp客户端登录ftp服务器的时候用户名密码都是直接明文传输,假设现在局域网内有人使用ARP嗅探或者抓包工具,很轻松的就能拿到登录的账号密码,这非常的不安全,当然,如果这个ftp服务器本来就是公开的,那么就无所谓了。下图是演示了抓包工具抓取ftp登录的账号密码例子

深度截图20170808140641.png - 大小: 340.76 KB - 尺寸:  x  - 点击打开新窗口浏览全图

ftps 是ftp的升级版,类似http与https的关系,ftps就是在ftp的基础上增加了证书认证以保护传输数据的安全,数据在传输的过程中都是经过加密,使用抓包工具获取到的数据如下图

深度截图20170808142211.png - 大小: 602.86 KB - 尺寸:  x  - 点击打开新窗口浏览全图
从图上可以看出请求和响应的数据都是加密处理,而且整个认证的过程明显比ftp的长,这是因为证书认证流程自身的复杂性导致,虽然时间上有所延长,但是安全性大大提高,选择ftps是非常不错的。

sftp 是一个类似与ftps的一种协议,基于ssh协议,认证流程跟ssh一样,如果选择了只能证书登录ssh,则需要在ftp客户端里面配置证书,同样的,我们使用抓包工具尝试sftp登录,看看能拿到哪些东西

深度截图20170808143524.png - 大小: 390.35 KB - 尺寸:  x  - 点击打开新窗口浏览全图
图上可以看出来sftp与ftp的请求过程差异很大,走的并不是ftp协议,注意看Protocol(协议)这一栏的TPKT,TPKT基于TCP协议,具体可以参考 https://wiki.wireshark.org/TPKT 。sftp也是一种安全的传输方式,但是速度比ftp慢了很多。

了解过三种协议以后我们就可以根据自己的需要选择合适的方式配置服务器了。

配置

根据当前业务需要,这里我要搭建的是ftp服务器,采用ftps协议传输,服务器采用的是阿里云ECS,系统CentOS 7。

首先需要配置阿里云服务器的安全组策略,放行20和21端口,接着ssh登录服务器下载pureftpd,官方链接 https://download.pureftpd.org/pub/pure-ftpd/releases/ ,选择最新的tar.gz包下

wget https://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.46.tar.gz
然后解压
tar zvxf pure-ftpd-1.0.46.tar.gz

之后进入到目录进行编译安装,具体编译安装过程就不详细写了,参考这个文章 http://blog.csdn.net/e421083458/article/details/7859075 ,编译安装完一定要配置防火墙规则,放行ftp,或者直接关掉防火墙测试,否则或出现各种奇葩的问题,比如正常登录但是死活获取不到目录。

注意

在配置过程中几个容易出现问题的地方,首先是忘记把配置的账号密码写入到数据库文件,使用

./pure-pw mkdb
写入到数据库文件,配置文件里面设置只允许TLS登录,修改配置完一定要重启服务。


如果您觉得文章有帮助到您,请到 https://www.92ez.com/index.php?action=show&id=23403 进行打赏/捐赠,谢谢!
如果您觉得文章有帮助到您,请 使劲戳这里 进行打赏/捐赠,谢谢!
本文链接:https://www.92ez.com/?action=show&id=23450
提示:技术文章有一定的时效性,请先确认是否适用你当前的系统环境。

上一篇: linux adsl 拨号自动配置脚本一枚
下一篇: 解决低版本安卓系统中webview对css的background写法不兼容问题

访客评论
#1
回复 薛星 2017-08-09, 10:56 AM
难得找到这个博客,我是福建福州的是福建广告协会的副会长139*******8,有关于广告视觉到达率的研究问题想请教。方便时联系我。具体再聊
发表评论

评论内容 (必填):