web-dev-qa-db-ja.com

意見:権限:セキュリティ目的で書き込みますが、読み取りませんか?

多数の接続システムがあり、増分バックアップと完全バックアップ用に別のサーバーをセットアップすることを検討しています。

システム/バックアップが破損した場合にすべてのシステム/バックアップの損失を防ぐために、バックアップがプッシュされる各システムに書き込み専用の共有をマウントして、これをドロップボックスのようなものにすることを検討しています。

何かが攻撃された場合、バックアップは新しく作成された読み取り専用共有を介して影響を受けるシステムに公開またはプッシュされ、そこから復元されますが、システム自体にはアクセスできません。

競合他社の1社は、バックアップさえ接続されていたため、最近ビジネス全体を失いました。

また、適切な間隔で完全なバックアップをダウンロードします。

私の計画に穴を開けてください。

ありがとう。

7
edooze

私の計画に穴を開けてください。

承知しました。読み取りを削除するだけでは、問題を防ぐことはできません。変更するには、書き込み権限が必要です。その後、攻撃者はファイルを空のまま書き込むことができます(ファイルがどこにあるかを知るだけで十分です)。

新しいデータの追加を除いて、バックアップに関してそのディスク上の何かをロックダウンしないのはなぜですか?

可能なセットアップ:

/backups/20160911/backup.tar.gz
/backups/20160912/backup.tar.gz
/backups/20160913/backup.tar.gz

するスクリプトを作成する

chattr -R +a /backups/
chattr -R +i /backups/*.tar.gz

+iは「不変」を意味します。これらのファイルやディレクトリには何もできません。 rootでさえ変更することはできません(これには、新しいファイルの削除、編集、書き込み、追加などが含まれます)。 rootでさえ、これらのファイルに対して何かを行う前に(-iで)これを削除する必要があります。

+aは「追加」を意味します。 1つの例外を除いて、-iと同じルール。ファイルやディレクトリを変更することは誰にもできません追加する場合を除く。繰り返しになりますが、ファイルやディレクトリを変更する前に、rootでさえ(-aを使用して)これを削除する必要があります。

(上記の調整が必要な場合があります。1つの大きなバックアップファイルは、最適なアプローチではない可能性があります。バックアップが完了すると、手動で「今日」。

chattr -R +i /backups/{not_today}
chattr -R +a /backups/{today}

このスクリプトを定期的に実行して、誰かが/backups/内の何かを変更した場合に、すべてのバックアップの権限がリセットされるようにします。

ディレクトリとファイルを「今日」に追加できます。バックアップが完了したら、+ iを手動で追加できます。適切な管理者パスワードを作成し、誰もこれらのファイルに触れないようにします。今まで。

ちなみに、バックアップをオンラインで保存することも検討してください。複数のGoogleインスタンスにバックアップがあります(データを共有する3つの大陸に3つのライブシステムがあり、それぞれが別の大陸でフォールバックインスタンスを作成し、それぞれがバックアップシステムを共有しています)。

19
Rinzwind

読み取り不可にするファイルまたはディレクトリからreadパーミッションを削除します。

許可は次のとおりです。

u - Owner
g - group
o - others

すべてのユーザーの読み取りをオフにし、書き込みアクセスを許可するすべてのユーザーの権利をオフにします。

$ chmod -R ugo-r [path]

ディレクトリ[パス]およびそのすべてのファイルとサブディレクトリには、この属性があります。この場合、-r(読み取りアクセスなし)。

4
L. D. James

切断されたバックアップほど安全なものはありません。バックアップを外部ドライブにダウンロードし、バックアップをコピーしてからネットワークから取り外します。多数のドライブを取得して回転させます。

たとえば、1Tbドライブを5台購入します(合計コスト<300ドル)。そのうち3つを毎日のバックアップとして割り当てます。毎日接続し、その上にバックアップをコピーしてから、切断します。 1つを週単位のバックアップとして、もう1つを月単位のバックアップとして割り当て、同じことを行います。

火災や盗難に備えて、ドライブのいくつかを別の場所に保管してください。

このアプローチにより、さまざまなデータ損失の脅威から保護されます。

システムがすべてサーバーベースの場合は、同等のクラウドを使用します。いくつかのサーバーを異なるプロバイダー(Amazon、google、Azure)にセットアップします。毎日別のサーバーに接続し、そのサーバーにバックアップをsftpしてから切断します。適切なコピーをバックアップしないように、複数のコピーを保持します。

しかし、ネットワークから切断してオフサイトの場所に保管する物理コピーほどハッキング不可能なものはありません。

3
Thoma