バックアップ転送を設定する最適な方法は何ですか?

バックアップ転送を設定する最適な方法は何ですか?

マシン A には、バックアップが必要な重要なソース データが格納されています。マシン B は、そのデータがバックアップされる場所です。どちらも Ubuntu です。マシン A が暗号化された tarball を作成し、それを人間の介入なしにマシン B にコピーできる自動化プロセスが必要ですが、ファイルをターゲット ディレクトリにコピーすること以外は何も許可しません。

chroot jail のアカウントを使用することも考えましたが、これは設定が面倒で複雑すぎるようです。本当に必要なのは、自動 cron を介してマシン A からマシン B にファイルをコピーできるようにすることですが、コピーを許可するメカニズムによって他のアクション (他のディレクトリへのコピー、ログイン、非対話形式での他のコマンドの実行など) が許可されないようにすることも必要です。また、転送は暗号化する必要があります (たとえば、何らかの方法で ssh を使用するなど)。

答え1

A が B に tarball をプッシュするのではなく、B が A から tarball をプルするようにすることを検討してください。

基本的に、A の cron ジョブは tarball を作成し、一意の名前を付け (たとえば、タイムスタンプを追加)、B がアクセスできるディレクトリ (A の制限付きアカウント経由) に配置し、B にそのディレクトリを定期的にチェックさせて、そこで見つかったファイルを B 自身に移動します。

この設定には、A が B にアカウントを持つ必要がないという追加の利点があります。つまり、A が侵害された場合でも、攻撃者は無料で B にアクセスすることはできません。

(編集) SSH 経由でコピーするには、「scp」コマンドを参照してください。

関連情報