ssl - FTP 密码加密

标签 ssl encryption ftp ftps

在 FTPS 中,当它尝试通过 Internet 连接服务器时,密码会被加密。这是我的理解,如果我的理解有任何遗漏,请纠正。 我的问题是,当我厌倦了模拟它(FTP 和 FTP)时,我只是收到一条消息,指出 SSL 已建立(并且端口更改基于隐式和显式调用)。

有没有其他方法可以确认密码确实是加密的,或者我们可以在普通 FTP 时看到密码。 下面是我在服务器端看到的日志

启用 FTP 时的服务器日志 -

状态:已建立 TLS/SSL 连接,等待欢迎消息...

命令:USER ftp

命令:通过 **

启用 FTP 时的服务器日志 -

状态:连接已建立,等待欢迎消息...

命令:USER ftp

命令:通过 **

最佳答案

FTPS 本质上是 FTP 协议(protocol),增加了一层 TLS/SSL 安全性。您对密码在客户端和服务器之间的通信过程中被加密的理解是绝对正确的

您会看到相同的日志,只是第一行略有不同,因为您可以访问服务器并拥有完整的日志。 FTPS 出现的原因是因为它不允许所有第三方窥探我们的用户凭据。使用 FTP,这是很有可能的。

让我们试着理解有关显式 FTPS 的部分。

The server lets you connect using and unencrypted FTP connection. Prior to sending user 
credentials, the client then requests that the server switch the command channel to an 
SSL encrypted channel using the client AUTH TLS or AUTH SSL commands.  Upon successful 
setup of the SSL channel the client then sends user credentials to the FTP server.  These 
credentials along with any other commands sent to server during the FTP session are 
automatically encrypted by the SSL channel.

根据维基百科,这里是 channel 的描述。

  • 安全命令 channel

可以通过发出 AUTH TLS 或 AUTH SSL 命令进入安全命令 channel 模式。在这段时间之后,假定 FTPS 客户端和服务器之间的所有命令控制都已加密。一般建议在用户认证授权前进入该状态,以免用户名和密码数据被第三方窃听。

  • 安全数据通道

可以通过发出 PROT 命令进入安全数据通道。发出 AUTH TLS 命令时,默认情况下不启用它。在这段时间之后,假定 FTPS 客户端和服务器之间的所有数据通道通信都是加密的。 FTPS 客户端可以随时通过发出 CDC(明文数据通道)命令退出安全数据通道模式。

引用资料:

关于ssl - FTP 密码加密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20238062/

相关文章:

javascript - 无法使用 FTP 将文件从本地发送到 Node js 项目中的服务器

java - 为什么 SSL 握手给出 'Could not generate DH keypair' 异常?

ruby - 为什么我只在 Windows 上收到 OpenSSL::SSL::SSLError?

c# - 加密 SQL 连接字符串 c#

java - 通过显式 SSL/TLS 在 FTP 上登录成功但无法浏览文件

php - 在 php 中使用 curl 从 FTP 下载文件

使用 Swift 和 NSURLSession 固定 iOS 证书

php - 如何让 SSL 在 fsockopen 中工作?

iPhone - 使用与加密所用 key 不同的 key 解密 AES 加密消息

encryption - GPG - 与多个收件人一起解密