使用 pi 创建备份过程,我应该使用推送还是拉取?

Jen*_*eno 5 linux backup ssh rsync raspberry-pi

我有一个树莓派 4,想用它作为家里的备份服务器。现在我不确定如何执行此操作,我有一个连接到 pi 的加密磁盘,我想使用 SSH 和 rsync 进行增量备份。但是我应该将文件从我的笔记本电脑推送到 pi 还是 pi 应该从我的笔记本电脑中提取文件?

1. 拉动

a) +笔记本电脑没有备份的写权限,这样更安全

b) - pi 和加密但已安装的磁盘始终在家中,有人可以通过物理访问来使用它来访问数据吗?

c) -与 1.b 类似,pi 需要完全访问我的笔记本电脑,它可能会损坏我笔记本电脑上的某些东西,我会尝试使用 ssh 强制命令,这样它只能读取而不能写入

2. 推

a) +只有我的笔记本电脑可以完全控制,磁盘密钥和 ssh 连接仅在我的笔记本电脑上

b) -我可能会损坏备份,勒索软件或其他任何东西都可能会损坏我的备份。我不确定是否可以使用 ssh 强制命令来阻止这种情况?!

小智 4

我认为在决定是否应该推送或拉取备份之前必须解决一些建议。

0.a 勒索软件攻击

如果备份例程仅保存数据的最后一个版本,并且勒索软件将所有未加密的文件转换为加密版本,则在同步时,它可能会删除您的所有文件并替换为加密的文件,因此如果您遭遇勒索软件。要解决此问题,您必须至少拥有 2 个版本,并在发生攻击或数据丢失/损坏时尽快暂停同步,以便保留文件的良好副本。

0.b 高效备份存储

我不确切知道您用于备份存储的 FS,但(如果还没有)您可以尝试使用支持压缩和重复数据删除的解决方案,例如 BTRFS 或 ZFS。这可能有助于减少备份占用空间,并保持 2 个或更多版本的数据占用接近(如果您只有 1 个)。


假设我的建议很好并且您想要遵循,或者如果您找到了更好的想法来解决上述观察结果,我们可以继续讨论主要问题。

1. 拉动

a) + 笔记本电脑没有备份的写权限,这样更安全

事实上,暴露数据或访问数据的方式越少越好。通过这样做可以减少攻击的可能性。

b) - pi 和加密但已安装的磁盘始终在家中,有人可以通过物理访问来使用它来访问数据吗?

只要加密存储受密码保护,并且任何具有管理权限的帐户也需要密码,您就可能是安全的。每次启动时,您都需要重新插入密码来安装卷,以确保重新启动或外部访问不会成为获取数据的手段。

c) - 与 1.b 类似,pi 需要完全访问我的笔记本电脑,它可能会损坏我笔记本电脑上的某些东西,我会尝试使用 ssh 强制命令,这样它只能读取而不能写入

您可以专门为备份例程创建一个用户,并将其添加到笔记本电脑和 Pi 上所需的组中。此类用户将被添加到与笔记本电脑上的主用户相同的组中,并且权限集将允许其对您的用户拥有的所有内容具有 RO 访问权限。请注意,在不同的设备之间,可能需要同步该帐户的 UID,以便权限在设备之间保持一致。


2. 推

a) + 只有我的笔记本电脑可以完全控制,磁盘密钥和 ssh 连接仅在我的笔记本电脑上

这会将 Pi 视为一种愚蠢但安全的存储,就像1a一样,访问数据的方式仅在一端。您不需要创建任何用户来执行此操作,因为在 ssh 上您将使用 Pi 用户登录来进行所有操作。同样,1b是相关且推荐的。

b) - 我可能会损坏备份,勒索软件或其他任何东西都可能会损坏我的备份。我不确定是否可以使用 ssh 强制命令来阻止这种情况?!

如果您遵循建议0.a,假设仅运行自动备份例程命令,则可以避免这两个问题。如果有人访问您的笔记本电脑,请确保 Pi 的密钥在没有密码的情况下不会暴露,这样,如果您必须丢失某些东西,另一个仍然无法访问。


根据观察,我会选择推动。它执行起来不太复杂,如果您愿意,可以在多个设备上完成。如果发生数据丢失(损坏、勒索软件、破坏),备份例程将停止,确保备份上只有一份完好的副本。