![口是心非:如何防止恶意用户弄乱备份](https://linux22.com/image/197622/%E5%8F%A3%E6%98%AF%E5%BF%83%E9%9D%9E%EF%BC%9A%E5%A6%82%E4%BD%95%E9%98%B2%E6%AD%A2%E6%81%B6%E6%84%8F%E7%94%A8%E6%88%B7%E5%BC%84%E4%B9%B1%E5%A4%87%E4%BB%BD.png)
我在维护的几乎每台主机上都使用口是心非来创建到远程位置的备份(称为“备份主机”)。
进行完整或增量备份的频率和时间取决于主机及其用例。
我不仅要保护自己免受典型故障(人为错误、硬件/软件等)的影响,还要从潜在的攻击中恢复。
在我的例子中,我使用 SSH/SFTP 后端来运行此类口是心非备份。由于口是心非需要对备份主机进行读/写访问,因此获得要备份主机控制权的人也可以连接到备份主机并删除/弄乱相应的备份。
尽管如此,根据我的理解,待备份主机还/需要/删除备份主机上的文件:为了不耗尽空间,我的待备份主机经常使用remove-all-but-n-full
- 和-actions调用口是心非remove-all-inc-of-but-n-full
以删除旧备份。
据我所知,由于备份(包括备份),此类清理无法在备份主机本身上进行。关于哪些文件属于哪个集合的口是心非的元数据正在被加密,而备份主机上不存在相应的私钥(GPG)。
因此,要在备份主机上执行此类清理,我必须根据文件时间戳执行此操作,这可能会导致备份集损坏/部分。
目前,为了“保护”自己免受此类攻击,我有第二个备份主机定期连接到主备份主机,该主机将所有备份数据从主备份主机同步到辅助备份主机。
但我再次面临上述问题:
- 我只是将文件从主主机复制到第二个备份主机,而不了解它们的结构(例如:我将复制尚未完成的文件、部分集等)。
- 为了不耗尽空间,我将不得不再次仅根据文件时间戳删除过时的备份,这可能会导致备份集无法使用。
通过口是心非自动备份待备份主机的最优雅和最干净的方式是什么,同时确保攻击者获得对待备份主机的完全访问权限而不会弄乱已创建的备份?
多谢!