这就是我的‘问题’,我通过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
有些事情要注意:
现在,当(显式)连接建立之后,Filezilla在窗口底部显示一个小的锁图标,上面写着连接是加密的。单击图标获取详细信息。
我想确保数据传输确实是加密的,而不是简单的,所以我捕获了eth上的所有内容。卡与Wireshark下载文件从我的服务器到我的计算机。
除了找不到单包SSL协议外,一切都是TCP协议。
我不知道如何确保传输的数据是加密的,即使filezilla这么说,每次我搜索"vsftpd如何确保数据传输是加密的“时,我得到的唯一答案是"ssl_enable=YES”或“复选框使用SSL”.
提前谢谢你帮我!
发布于 2012-06-01 19:34:41
在进行了更多的研究之后,特别是在完成了在 on http://wiki.wireshark.org/SSL上的介绍之后,我对整个事情有了更好的理解。
我正在回答我自己的问题,希望有一天这会对某人有所帮助,只要以下内容是正确的.
同时,写下来对我来说是一个很好的方式,我想,看看是否已经清楚地理解了我的问题。写这个答案的任何困难都会证明我错了。
第一:
通常使用TCP作为传输协议。
SSL封装在TCP中,这就是为什么在捕获数据包时不能显式地观察SSL协议的原因。
在分析TCP数据包时,我只能“跟踪TCP流”,而不能“跟踪SSL流”,这使我误以为数据包没有保存加密的数据。这很有趣,因为可观察到的数据不是人类可读的.太加密了。
为了解密它,我必须向wireshark提供加密密钥:
RSA密钥列表
此选项指定IP地址、端口、协议和解密密钥之间的绑定。
然后,我可以观察到加密或未加密的数据。
另外,在http://wiki.filezilla-project.org/上阅读了这篇文章之后:
当您将加密应用到您的FTP服务器时,CPU将不得不做许多计算来加密正在发送的数据并解密正在接收的数据。
我只是决定在下载文件时运行UNIX top命令。我能够观察到filezilla客户端进程的CPU使用率很高,这与未加密的数据传输相反。这是第二个论据,它证实了传输的数据确实是加密的,因此需要解密。
https://stackoverflow.com/questions/10807945
复制相似问题