这里是我的“问题”,我通过vsftpd设置了一个FTP服务器,以便登录和数据传输都应该是加密的。
这是我的vsftpd.conf文件的有趣部分。
ssl_enable=YES
allow_anon_ssl=NO
require_ssl_reuse=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=YES
ssl_sslv3=YES
rsa_cert_file=/etc/vsftpd/vsftpd.pem
rsa_private_key_file=/etc/vsftpd/vsftpd.pem
ssl_ciphers=HIGH
我正在使用Filezilla作为FTP客户端,连接配置如下:
Protocol : FTP - File Transfer Protocol
Encryption : Require explicit FTP over TLS
Logon type: Normal
需要注意以下几点:
加密:普通FTP:不起作用,我对此感到满意。(响应:530非匿名会话必须使用加密。)
加密:要求隐式FTP通过TLS:也不起作用,服务器拒绝连接。我想这是因为我强制了SSL连接。
现在,一旦(显式)连接建立,Filezilla会在窗口底部显示一个小锁图标,上面写着该连接已加密。单击图标查看详情。
我想确保数据传输确实是加密的,而不是明文的,所以我用Wireshark捕获了从我的服务器下载文件到计算机的所有内容。
但是,我找不到任何SSL协议的数据包,所有内容都是TCP。
我已经没有办法确定传输的数据是否被加密,即使filezilla说是,每次我搜索“vsftpd如何确保数据传输被加密”,我得到的唯一答案就是 “ssl_enable=YES”或“勾选使用SSL”…
提前感谢你的帮助!