FTP 是否提供任何类型的完整性?

信息安全 ftp
2021-08-29 09:33:30

为了验证,我使用它下载的文件没有损坏。

3个回答

不,FTP 不包括作为协议功能的完整性保护。您可以使用通过 SSH 运行并具有内置完整性检查的 SFTP(scp是使用 SSH 的另一个选项)。

您可以通过手动比较本地计算的校验和与远程主机本身或上传它的源客户端计算的校验和来滚动自己的完整性保护。MD5 是一种典型的选择,您可以通过openssl md5 <file>在大多数类 Unix 系统上运行来计算 MD5 校验和

如果您不能使用 SSH,希望这意味着您根本没有远程 shell 访问权限。如果这是真的,那么您需要在上传文件之前计算校验和,然后将其存储在某个地方(例如md5.txt)以供将来参考。假设您是上传文件的人,但情况可能并非如此。

有一个IETF 草案为 FTP定义了一个新HASH命令,以满足这些需求。一些 FTP 服务器支持HASH以及一些较早的此类命令例如 XCRC, XMD5,XSHA1一些 FTP 客户端,例如SmartFTP,在可用时使用这些命令。

如果使用 SFTP,则需要通过 SSH 执行此操作。只是一个注释!

但要回答这个问题,没有 ftp 不提供任何形式的安全性(完整性)。它使用端口 20 和 21,这两个端口都公开传输数据。

使用作为 SSH 协议端口 22 的 SFTP。