我正在开发一个项目,该项目当前正在使用 goftp
中找到的 goftp将一些文件上传到网站目录中,供网站使用和查看。
我知道这个设置的安全性,所以我研究了 golang 的 ssh 和 sftp,但我遇到了问题,这真是一个大麻烦,因为我是 golang 的新手。
我的问题是,仅使用goftp
有哪些安全威胁或问题?还有更安全的替代方案吗?
提前致谢!
最佳答案
所有普通 FTP 服务器本质上都是不安全的,因为它们通过未加密的链接使用纯文本进行身份验证。这意味着同一网络(特别是 WiFi 网络)上的任何人都可以嗅探网络流量并轻松提取用于身份验证的用户名和密码。
您已经提到了一些推荐的替代方案:SSH 和 SFTP。 SSH 提供了使用 SCP 安全传输文件的方法。 SFTP 还使用 SSH 提供的底层传输。还有 FTPS,它通过 SSL 加密连接使用标准 FTP。
看看this link有关协议(protocol)之间差异的更多信息。
在研究 FTP 的 Go 库时,我遇到了 a mention github.com/jlaffaye/goftp 库在多行响应时中断。
强烈建议使用比普通 FTP 更安全的协议(protocol),这样您可以通过查看 SCP/SFTP/FTPS 解决方案获得更好的服务。这是 Github Gist声称是在 Go 中使用 SCP 的示例。这可能是一个很好的起点。
关于ssh - goftp 软件包是否提供安全文件传输?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18974540/