实施SFTP服务器解决方案的最佳方式?

时间:2009-01-09 11:57:44

标签: security https ssh aes sftp

我目前正在设置一个商用SFTP服务器,我只是在寻找您对我目前正在考虑实施的设置的一些看法,以及对什么是商业安全FTP服务器软件的建议最适合。请记住,我负责的数据非常敏感,因此非常感谢任何意见/反馈。

以下是该方案:

1)在文件上传之前,压缩文件&使用AES 256加盐加密。

2)通过SFTP(端口22)从客户端服务器上传到SFTP服务器的文件。

3)我们的其他客户端使用一次性密码验证(强大的10字母数字密码)通过HTTPS下载文件

我正在考虑的实施细节是:

对于上面的部分(2),使用主机密钥匹配,公钥认证和用户名/密码组合打开连接。双方的防火墙仅限于允许客户端服务器的静态IP连接。

对于第(3)部分,在每个用户的基础上(用于审计)向另一个客户端提供用户名/密码,以登录到他们在服务器上的监禁帐户。文件本身的加密密码是基于每个文件提供的,所以我试图在这里始终应用两种加密模式(除非文件放在服务器上)。

除了双方的专用防火墙外,SFTP服务器上的访问控制将被配置为在短时间内阻止一定次数的失败尝试的IP地址,无效密码尝试将锁定用户,密码策略将被实施等

我觉得我已经尽可能地覆盖了,但我很想听听你们对这个实现的看法?

对于商业服务器方面,我已经将其缩小到GloalSCAPE SFTP w / SSH& HTTP模块或JSCAPE安全FTP服务器 - 我将在周末评估每个人的适用性,但如果你们中的任何人有任何经验,我也很乐意听到它。

3 个答案:

答案 0 :(得分:7)

由于从客户的角度来看数据显然既重要又敏感,我建议您咨询安全专家。本土解决方案通常是过度和不足的组合,导致低效和不安全的机制。考虑:

  • 文件是预加密的,因此SFTP / HTTPS的唯一增益是会话本身的加密(例如登录),但是......

  • 您正在使用PKI进行上传和OTP下载,因此不存在泄露密码的风险,只有用户ID - 对您来说意义重大吗?

  • 您将如何传输一次性密码?传输安全吗?

  • 请记住,任何锁定方案都应该是临时的,否则黑客可以通过锁定每个帐户来禁用整个系统。

问自己的问题:

  • 我在保护什么?
  • 我保护谁?
  • 什么是攻击媒介?
  • 违规的可能性和风险是什么?

一旦您回答了这些问题,您就可以更好地了解实施情况。

一般来说:

  • 您选择的AES256 +盐是非常合理的。
  • 多因素身份验证可能比多次加密迭代更好。它通常被认为是“你拥有的东西,加上你知道的东西”,例如证书和密码,需要两者才能访问。

就可用的实用程序而言,许多现成的软件包既安全又易于使用。查看初学者的OpenSSH,OpenVPN和vsftp。

祝你好运 - 请告诉我们您选择的方法!

答案 1 :(得分:2)

那么Linux和BSD附带的OpenSSH有什么问题?

答案 2 :(得分:1)

Before file upload, files are compressed & encrypted using AES 256 with a salt.

这一部分敲响了一些警钟......你写过一些代码来做加密/压缩吗?你是如何进行密钥管理的?你还说你的密钥是密码派生的,所以你使用AES 256和salt会给你一种错误的安全感 - 真正的密钥空间要小得多。此处使用“盐”一词也不合适,这表明存在进一步的弱点。

最好使用经过充分验证的实现(例如PGP或GPG)。

此外,如果您对文件本身使用PGP样式的公钥加密(以及体面的密钥管理),则SFTP服务器的安全性将大大降低。您的文件可以在休息时加密。

系统其余部分的安全性论证非常复杂(许多协议,身份验证方案和控件) - 保护文件稳定性要容易得多,然后对其余部分做最佳实践(会更重要,也是独立的控制。)