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