赞
踩
Ubuntu中安装配置和卸载FTP(转) - 极客先锋 - 博客园 (cnblogs.com)
本地Ubantu18搭建FTP server:
# 安装FTP服务 sudo apt-get install vsftpd # 配置 sudo vi /etc/vsftpd.conf # 修改以下设置,允许匿名用户 listen=YES # 服务器监听 local_enable=YES # 是否允许本地用户访问 write_enable=YES # 是否允许上传文件,不开启会报 550 permission denied anonymous_enable=NO # 匿名访问允许,默认不要开启, anon_upload_enable=YES # 匿名上传允许,默认是NO anon_mkdir_write_enable=YES # 匿名创建文件夹允许 chroot_local_user=YES # 用于指定用户列表文件中的用户是否允许切换到上级目录。默认值为NO。 chroot_list_enable=YES # 设置是否启用chroot_list_file配置项指定的用户列表文件。默认值为NO。 chroot_list_file=/etc/vsftpd.chroot_list # 禁用的列表名单,格式为一行一个用户,用于指定用户列表文件,该文件用于控制哪些用户可以切换到用户家目录的上级目录。 # 创建用户 sudo useradd -g ftp -d /home/test -m test sudo passwd test # 删除用户 sudo userdel test # 将用户test添加至/etc/vsftpd.chroot_list vim /etc/vsftpd.chroot_list # 重启 sudo /etc/init.d/vsftpd restart # 卸载 sudo apt-get remove --purge vsftpd
[翻译]在 Ubuntu 中使用 SSL/TLS 加密 FTP 连接 - 简书 (jianshu.com)
# 我们将首先在 /etc/ssl/ 下创建一个子目录(如果这个目录不存在),以存储SSL / TLS证书和密钥文件: sudo mkdir /etc/ssl/private # 我们通过运行下面的命令在单个文件中生成证书和密钥。 openssl req -x509 -nodes -keyout /etc/ssl/private/vsftpd.key -out /etc/ssl/private/vsftpd.pem -days 365 -newkey rsa:2048 # 上述命令将提示您回答下问题,可输入任意值。 # 下面配置vsftp,这里我没有开启防火墙,所以不进行防火墙的配置 # 打开VSFTPD配置文件并在其中定义SSL详细信息: sudo vim /etc/vsftpd/vsftpd.conf # 添加或找到选项 ssl_enable 并将其值设置为 YES 以激活 SSL 的使用,因为 TLS 比 SSL 更安全,因此通过启用 ssl_tlsv1 选项,我们将限制 VSFTPD 使用 TLS: ssl_enable=YES ssl_tlsv1=YES ssl_sslv2=NO ssl_sslv3=NO # 取消注释掉下面的行,如下所示: rsa_cert_file=/etc/ssl/private/vsftpd.pem rsa_private_key_file=/etc/ssl/private/vsftpd.key # 我们还必须防止匿名用户使用SSL,然后强制所有非匿名登录使用安全的SSL连接进行数据传输,并在登录期间发送密码: allow_anon_ssl=NO force_local_data_ssl=YES force_local_logins_ssl=YES # 我们可以使用以下选项在FTP服务器中添加更多的安全功能。使用option_ssl_reuse = YES选项,所有SSL数据连接都需要展示SSL会话重用;证明他们知道与控制频道相同的主机密码。所以我们应该禁用它。 require_ssl_reuse=NO #我们可以通过设置 ssl_ciphers 选项来设置SSL密码等级。这将有助于阻挡试图强制使用特定密码的攻击。 ssl_ciphers=HIGH #然后,我们来定义被动端口的端口范围(最小和最大端口)。 pasv_min_port=40000 pasv_max_port=50000 #我们可以使用debug_ssl选项启用SSL调试,将 openSSL 连接记录到VSFTPD日志文件中: debug_ssl=YES # 最后保存并关闭文件。然后重启 VSFTPD 服务: systemctl restart vsftpd
client使用的是ftpzilla
对于FTPS,要配置如下:
然后信任证书即可
文件传送协议FTP(File Transfer Protocol)是TCP/IP协议簇中的一个成员,也是现在因特网上最广泛的文件传送协议。FTP协议包括两个部分,一个是FTP客户端,另一个是FTP服务器。当然,FTP服务器是用来存储文件资源的,FTP客户端通过访问FTP服务器来获得资源的。
一般情况下,当使用FTP服务的时候,我们都知道默认是21号端口,其实还有一个20号端口。FTP使用两个TCP连接,21号端口负责控制连接,20号端口负责数据连接,这样才不会混乱,是FTP可以更好的为我们服务。FTP协议的工作方式可以分为主动方式和被动方式两种,主动是指FTP客户端发送PORT命令连接FTP服务器,被动是FTP客户端发送PASV命令连接FTP服务器。
用户主机一个随机端口连接FTP SERVER的TCP21端口进行协商;
用户主机告诉FTP SERVER,我的XXXX端口已经打开,你可以放心大胆的连过来;
然后FTP SERVER就用TCP20端口连接用户主机的XXXX端口,数据传输开始。
关闭后:
首先用户使用随机端口连接FTP SERVER的TCP 21端口进行协商;
FTP SERVER告诉客户机:我的XXXX端口开放了,你连过来吧;
客户机使用一个随机端口连接FTPSERVER的XXXX端口传输数据。
传输文件:
FTPS 是使用安全套接层(SSL)证书的 FTP 安全技术。整个安全 FTP 连接使用用户 ID、密码和 SSL 证书进行身份验证。一旦建立 FTPS 连接,FTP 客户端软件将检查目标 FTP 服务器证书是否可信的。
如果证书由已知的证书颁发机构(CA)签发,或者证书由您的合作伙伴自己签发,并且您的信任密钥存储区中有其公开证书的副本,则 SSL 证书将被视为受信任的证书。FTPS 所有的用户名和密码信息将通过安全的 FTP 连接加密。
以下是 FTPS 的优点和缺点:
优点:
缺点:
抓包可以看到加密传输过程:
SFTP 或 SSH 文件传输协议是另一种安全的安全文件传输协议,设计为 SSH 扩展以提供文件传输功能,因此它通常仅使用 SSH 端口用于数据传输和控制。当 FTP 客户端软件连接到 SFTP 服务器时,它会将公钥传输到服务器进行认证。如果密钥匹配,提供任何用户/密码,身份验证就会成功。
以下是 SFTP 优点和缺点:
优点:
缺点:
大多数 FTP 服务器软件这两种安全 FTP 技术都支持,以及强大的身份验证选项。
但 SFTP 显然是赢家,因为它适合防火墙。SFTP 只需要通过防火墙打开一个端口(默认为 22)。此端口将用于所有 SFTP 通信,包括初始认证、发出的任何命令以及传输的任何数据。
FTPS 通过严格安全的防火墙相对难以实现,因为 FTPS 使用多个网络端口号。每次进行文件传输请求(get,put)或目录列表请求时,需要打开另一个端口号。因此,必须在您的防火墙中打开一系列端口以允许 FTPS 连接,这可能是您的网络的安全风险。
参考了网上很多文章,部分是自己实验的截图。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。