![如何加密备份中的大型(20Gb+)压缩文件?](https://linux22.com/image/648532/%E5%A6%82%E4%BD%95%E5%8A%A0%E5%AF%86%E5%A4%87%E4%BB%BD%E4%B8%AD%E7%9A%84%E5%A4%A7%E5%9E%8B%EF%BC%8820Gb%2B%EF%BC%89%E5%8E%8B%E7%BC%A9%E6%96%87%E4%BB%B6%EF%BC%9F.png)
我想对 OpenVZ 容器中定期创建和压缩的备份文件进行加密,然后才能将它们离开服务器并通过 ftp 复制到提供商备份空间。
它们的大小各不相同,从 6 GB 到 50 GB(压缩后,lzo)更新...并由虚拟化环境 Proxmox 自动创建。
各种关于 mcrypt(“代码质量/支持”)或 openssl(“不适用于大文件”)的评论让我怀疑它们是否合适。您有什么建议吗?
此外:我无法在压缩过程中将备份文件拆分成较小的部分,出于性能原因,我也不想在之后这样做。如果您愿意提及这一点,我使用 duplicity 的经历很糟糕,我想避免使用它。
服务器环境是Debian 7。
答案1
其他人建议使用各种适合流水线的对称加密工具,例如aespipe
。我认为这些工具的效率会和你能得到的一样高,因为加密是一种相当耗费 CPU 的事情,这不是一个坏建议。
但我建议考虑使用非对称工具,例如gpg
。底层批量加密仍将通过使用随机数密钥的对称密码进行,但整个密钥管理问题变成了极大地使用 GPG 工具链会更容易。
特别是,使用简单的对称密码来加密备份要么会严重破坏安全性(因为使用相同的密钥来加密所有备份,并且服务器必须定期访问它),要么会大大增加复杂性(因为您对每个备份使用不同的密钥,现在必须手动管理它们)。
使用 之类的工具gpg
,您可以生成一个密钥对来加密所有备份,而加密服务器只需要公钥的一半来加密备份。您可以单独保存私钥,在正常安全保护下,或者(如果业务原因需要)安排将密钥拆分给许多个人,其中的一些子组需要使用标准密钥共享协议来重建私钥。