我正在查看一个运行VMware和4-6VM的物理服务器(主要是Linux,但也包括Windows10 10/11)。目前,我只备份了2个Linux (其他不是关键的),方法是从本地NAS中安装NFS份额,并使用rsync将所有内容转储到那里。
我需要优化和自动化这一点。目前它只是在转储所有的文件。我想管理(例如)每周的备份,包括每天的差异/增量备份和远程服务器的每月完整备份。这里需要一个管理接口。我想到了BackupPC。我需要的是:
以上并不是我问题的核心(尽管我对解决方案持开放态度),但我发现了一些值得关注的问题。如果我正确理解,像backuppc这样的系统使用rsync和smb通过SSH/keys连接到客户端机器,并下载所有文件。这是否意味着backuppc对所有机器和所有备份都有根访问权?这意味着,如果运行backuppc的服务器受到破坏,就有可能失去一切--运行VM和备份。攻击者访问运行backuppc的服务器时,可能会清除所有正在运行的VM和所有备份(本地或远程),因为服务器拥有访问所有这些备份的密钥。
我认为一个更安全的系统是一种链式方法:客户端->备份服务器(非根访问) -> NAS。在这种方法中,妥协的VM将无法破坏其他VM的备份,而且它只看到服务器上的自己的备份(甚至看不到这些备份)。此外,受损的备份服务器将无法销毁正在运行的VM,因为它只看到存储的备份。
这是否真的值得关注呢?我是不是遗漏了什么?backuppc使用的方法安全吗?刚才所描述的情况是否比我预期的要严重呢?在这种情况下,灾难恢复是什么?
发布于 2022-08-30 08:37:42
用于备份的pull
方法(其中NAS/存储日志进入VM并复制更改的文件)通常比push
方法安全(客户端登录到目标备份框)。这是因为如果VM被破坏了,它就无法登录NAS并销毁自己的备份。当然,你可以说备份盒变成了新的“薄弱环节”,必须确保这样的系统免受互联网和其他威胁的威胁。但是,作为一个需要保护的单一系统,并且不应该公开任何服务,保持它的安全是比较简单的。
若要增加保护,您可以配置客户端机器以只读权限启动它们的rsync
进程。如果在守护进程模式下使用rsync
,则可以在其配置文件中设置read only
。如果在SSH上使用rsync
,则可以使用rrsync
包装器拒绝/丢弃任何写入请求。
我在虚拟机上大量使用rrsync
,并在备份主机上使用rsnapshot
(以及相应的SSH auth键)。与backuppc
相比,配置和调试更简单,但它失去了跨客户端文件级的重复(这在我的环境中不是一个问题)。
https://serverfault.com/questions/1108313
复制相似问题