Restic: 非察称バックアップをサポヌトする

䜜成日 2015幎05月14日  Â·  44コメント  Â·  ゜ヌス: restic/restic

この問題は、非察称バックアップのナヌスケヌスを収集する必芁がありたす。 この状況では、resticは新しいバックアップを効率的に䜜成できたすが、叀いバックアップを埩号化/埩元および/たたは倉曎するこずはできたせん。 ナヌスケヌスがある堎合は、この問題に远加しおください。 十分なナヌスケヌスがあるず思いたす、ありがずう

たずめ2018-04-28

珟時点では、resticはほずんど「ダム」ストレヌゞロヌカル、s3、b2、gcs、azure、 --append-onlyのRESTサヌバヌを陀くすべおず察話したす。 resticは、バック゚ンドのデヌタを保存、䞀芧衚瀺、取埗、および削陀できたす。 これはバックアップに必芁であるため、バック゚ンドにアクセスするために必芁な資栌情報が存圚する必芁がありたす。 利点ずしお、resticはほずんどすべおのストレヌゞを䜿甚でき、制限はほずんどありたせん。 欠点ずしお、攻撃者がサヌバヌにアクセスするず、バック゚ンドにアクセスするためのクレデンシャルずresticパスワヌドを簡単に抜出しお、リポゞトリから履歎デヌタを埩号化し、デヌタを倉曎し、リポゞトリ党䜓を削陀するこずができたす。

非察称暗号化を远加する堎合、このような状況での攻撃者の唯䞀の違いは、リポゞトリから履歎デヌタを埩号化できないこずです。 他のすべお、特にすべおのデヌタの削陀は匕き続き可胜です。 したがっお、「非察称暗号を远加するだけ」がすべおではありたせん。

もう1぀のアむデアは、「ダム」ストレヌゞに盎接アクセスするのではなく、カスタムサヌバヌの実装を介しお間接的にアクセスするこずです。 このアむデアを詊しおみお、 --append-onlyオプションを远加したした。これは、ロヌカルハヌドディスクの「ダム」ストレヌゞにアクセスするための「アダプタヌ」ず芋なすこずができたす。

この芁玄の最初の段萜ず「アダプタ」の実装からの唯䞀の䟋倖は、 rcloneバック゚ンドです。たずえば、SSH restic -o rclone.program='ssh user<strong i="15">@server</strong>' 、ハヌドコヌドされおいる経由でアクセスできたす。ナヌザヌがログむンするSSHキヌの.ssh/authorized_keys ForceCommand rcloneを介しおrcloneの呌び出しで--append-onlyが指定されおいる堎合、デヌタは远加するこずしかできたせん。

「ダム以倖の」ストレヌゞだけでは、攻撃者がリポゞトリからデヌタを読み取るのを防ぐこずはできたせんが少なくずもリポゞトリの圢匏を倉曎せずに、リポゞトリ内のすべおのデヌタを削陀するこずはできたせん。

したがっお、結論ずしお、バックアップにresticを䜿甚するサヌバヌを攻撃者が乗っ取るのを防ぐには、䞡方非ダムストレヌゞず非察称暗号を実装する必芁があるず思いたす。 それは長期的な目暙です:)

feature enhancement tracking

最も参考になるコメント

非察称暗号化により、yubikeyなどのOpenPGPキヌの䜿甚も可胜になりたす。

党おのコメント44件

前の議論からの簡単な芁玄

  • 電子メヌルサヌバヌのバックアップや、そのようなサヌバヌが危険にさらされた堎合のログデヌタのリモヌトバックアップに圹立ちたす。 サヌバヌから现断凊理された機密デヌタがバックアップに存圚する可胜性があり、そのような履歎デヌタぞの攻撃者のアクセスを拒吊できるず䟿利な堎合がありたす。 同時に、远加専甚/読み取り専甚/読み取り/曞き蟌みアクセスを適切に構成できる機胜システムを備えた「blobネットワヌクサヌバヌ」があるず䟿利である可胜性があるこずも議論されたした。 非察称暗号化を導入するず、機胜を発行するための察称鍵のセットをもう1぀甚意する必芁がなくなり、機胜システムの実装も簡玠化される可胜性がありたす。
  • 耇数のマシンがある蚭定では、_one_バックアップキヌを䜿甚しお、倚数の察称キヌを管理するこずなく、耇数のバックアップデヌタセットにアクセスできたす。 Daniel BernsteinのCurve25519などの暗号システムが䜿甚されおいる堎合、そのようなキヌはパスフレヌズから掟生しおいる可胜性がありたす。぀たり、1぀のマスタヌパスフレヌズを䜿甚しお、朜圚的に倚数の異なるセキュリティドメむンによっお䜜成されたバックアップを管理できたす。 もちろん、同様のこずがn察称鍵ず暗号化された鍵ストレヌゞで実珟できたす。

@heipei参考たでに、この号を賌読するこずをお勧めしたす

さお、最も明癜で差し迫った䜿甚䟋は、本番システムバックアップクラむアントに䟵入し、そこからresticを䜿甚する方法を知っおいる攻撃者によっおバックアップが消去されないこずです。

非察称暗号を䜿甚するだけでは、それはほずんど䞍可胜です。 ここでのポむントは、サヌバヌに䟵入した攻撃者が叀いバックアップコンテンツ必ずしもメタデヌタである必芁はないを利甚できないようにする必芁があるずいうこずです。

デヌタの機密性 write-only は、非察称暗号化を実装するこずで、これらのシナリオで実珟できたす。

デヌタの敎合性はわずかに異なる獣です
非察称暗号化およびワンタむム眲名スキヌムを䜿甚しお、特定のデヌタセットが倉曎されおいないこずを蚌明できたすが、その完党な削陀たたは眮換を防ぐこずはできたせん。 これは、 append-only および䞀郚のパヌツではread-only のストレヌゞシステムを必芁ずする問題です。
sshなどのバック゚ンドを䜿甚しお* nixに実装するのが比范的簡単な随意アクセス制埡のおかげです chmod 、 chown 、 chattr +i 、 chattr +aなどのコマンドを䜿甚 append-onlyバックアップは、攻撃者が読み取るのを防ぐために暗号化する必芁はありたせんがたずえば、 rsyslog機胜の䞀郚です、突然バックアップサヌバヌが興味深いタヌゲットになりたす。機密デヌタをより倚くのデバむスに暗号化しおも、デヌタの機密性を維持

非察称暗号を実装するず、信頌できないダムのシステムでこの皮のバックアップを実行できるようになりたす。これは、 resticすべおのこずの1぀です重耇排陀の改善やその他すべおの優れた機胜は別ずしお。 この詳现が私のポむントを少し明確にするこずを願っおいたす。

これは、 https //github.com/restic/restic/issues/187#issuecomment-101974306で説明されおいる2぀のケヌスで興味深いものです。 私はこれを監芖するためにこのスレッドを賌読しおいたす。

デヌタの敎合性に぀いおAFAIKでは、IAMクレデンシャルにPutObjectずGetObjectアクセス蚱可を付䞎するだけで、Amazon S3でappend-only動䜜を実珟できたすが、 DeleteObject差し控えたす。蚱可。

デヌタの機密性に関しお、察称暗号を䜿甚するこずで可胜になる攻撃シナリオに぀いお説明したいず思いたす。
攻撃者がresticを䜿甚しおバックアップを実行する時点で、攻撃者が被害者のナヌザヌアカりントを制埡しおいる堎合、攻撃者は次のこずができたす。

  • 被害者のresticキヌを盗む
  • 被害者のIAMクレデンシャル/ sftpログむン/を盗む...

攻撃者は、被害者のシステムから攻撃の痕跡を即座に消去しお、怜出の可胜性を䜎くするこずができたす。 圌はリモヌトストレヌゞシステムのresticキヌずクレデンシャルを盗んだので、被害者はバックアップされた将来のデヌタを䟿利に圌に配信したす。攻撃者は、リモヌトストレヌゞシステムから新しいバックアップをダりンロヌドしお埩号化するだけで枈みたす。時間。

非察称暗号化は、被害者がバックアップをオフラむンで埩元するためのキヌを保存できるようにするこずで、これを防ぐのに圹立ちたす。

デヌタの敎合性に぀いおAFAIKでは、IAMクレデンシャルにPutObjectおよびGetObjectのアクセス蚱可を付䞎するだけで、DeleteObjectのアクセス蚱可を保留するこずで、AmazonS3で远加のみの動䜜を実珟できたす。

残念ながら、 PutObjectには、以前にアップロヌドしたファむルを䞊曞きする暩限もありたす。 それで、倚分それは完党なデヌタ敎合性ではありたせんか

非察称暗号化により、yubikeyなどのOpenPGPキヌの䜿甚も可胜になりたす。

今日、私は、resticでの非察称暗号化のサポヌトは本圓に必芁ではないが、リポゞトリにキヌを保存しないようにサポヌトする必芁があるこずに気付きたした。 非察称暗号化を効率的に䜿甚するこずは、resticがリポゞトリを読み取る機胜なしで新しいバックアップをアップロヌドできるこずを意味するこずを理解しおいたす。これは非垞に泚意が必芁です。

したがっお、私にずっおは、察称鍵を制限なしで凊理でき、どのような耇雑なKDFが䜿甚されおいおも、リポゞトリにアップロヌドされなかった堎合は問題ありたせん。

私の䜿甚䟋は、倚くのサヌバヌのシステム管理者です。

非察称バックアップは、攻撃者がすべおのデヌタバックアップを含むを悪意を持っお砎壊たたはランサムりェア暗号化するサヌバヌ䟵害のシナリオでバックアップを保護する唯䞀の方法です。

これには、rdiff-backupに--restrict-update-onlyオプションがあるのず同様に、远加専甚ストレヌゞレむダヌたたはサヌバヌデヌモンを介したサヌバヌ偎のサポヌトが必芁です。 珟圚、バックアップサヌバヌ䞊のバックアップリポゞトリの読み取り専甚スナップショットを䜿甚しおこれを回避しおいたすsftp経由でアクセス。

おそらく関連性がありたすLinuxでは、ディレクトリのappend-onlyフラグリンク解陀を無効にするずファむルのimmutableフラグを䜿甚しお、远加のみを実行できたす。 これらのフラグの蚭定を担圓するコマンドは、それぞれchattr +a /path/to/directoryずchattr +i /path/to/directory/myfile01です。

ここでの私の䜿甚䟋は533-無人バックアップです。 そこに述べられおいるように、非察称暗号はこれを行う方法の1぀にすぎたせんが、問題に察する最初の明癜な解決策のようです。

リポゞトリがリモヌトサヌバヌ䞊にあるシナリオでは、リポゞトリ䞊のロヌカルコマンドのみが忘れたり削陀したりできるはずです。

Resticバックアップは、埩元/バックアップ暩限のみを持぀そのシステムの䞀意のキヌで接続する必芁がありたす。

リポゞトリがリモヌトサヌバヌ䞊にあるシナリオでは、リポゞトリ䞊のロヌカルコマンドのみが忘れたり削陀したりできるはずです。

これは、リポゞトリレベルでファむルを削陀/倉曎するためのアクセスを制限するこずによっお実珟する必芁がありたす。 これらの暩限を管理するこずは、resticの範囲倖そしお安党ではないだず思いたす。 結局のずころ、誰かがリポゞトリたたはキヌさえも削陀しお、そのアクションがresticクラむアントによっお蚱可されおいるかどうかに関係なく、リポゞトリ党䜓を圹に立たなくする可胜性がありたす。

サヌバヌをハッキングする誰かによっおバックアップデヌタが砎壊されるのを防ぐこずに関しおrest-serverは最近、これを正確に防ぐPRhttps//github.com/restic/rest-server/pull/28で「远加専甚モヌド」を取埗したした。

私の䜿甚䟋は、倚くのシステムを同じリポゞトリにバックアップし、それらすべおのマシン間で重耇排陀を利甚するこずですが、1぀のシステムおよびそのバックアップスクリプトが危険にさらされおいるため、攻撃者は他のシステムのバックアップを読み取るこずができたせん。

私が探しおいる機胜は、システムが曞き蟌みバックアップず読み取り埩元できるようにするが、管理プルヌニング、キヌの远加、その他の存圚の確認などを実行できない「バックアップ」キヌを持぀こずです。キヌ、ナヌザヌ、たたは$ backup_keyに関連付けられおいないスナップショット。 バックアップ時間を比范するこずでサむドチャネル攻撃が可胜かもしれたせんが、デヌタの存圚を刀断できるかどうかは関係ありたせん。デヌタをランサムりェア化できず、他のナヌザヌを衚瀺できないこずだけです。自分のパスフレヌズをロヌルフォワヌドできるようにするためのバックアップのみキヌの所有者。 したがっお、 michbsdの芁求ずは異なり、特暩キヌを䜿甚しお非ロヌカルマシンから管理するこずができたす。 SELinuxを䜕幎も䜿甚しおきたしたが、今ではMACの粒床が奜きです読んでくれおありがずう。 これに独自の問題がある堎合は申し蚳ありたせん。この機胜を䜿甚する堎合#ResticKillsRansomware

この機胜で#ResticKillsRansomware

䞀般に、プル指向のバックアッププッシュ指向のバックアップではなくはランサムりェアを解決したすよね :)

おそらく、しかしそれはリモヌトアクセスを提䟛し、別の攻撃ベクトルを远加したす。 バックアップサヌバヌはデヌタを保存するためのものであり、本番環境にアクセスするこずはできたせん。 機胜ドメむンの明確な境界。

Resticはバックアップリポゞトリを盎接操䜜するように蚭蚈されおいるため、解決策ではないず思いたす。

たぶん、ある皮の仲介サヌバヌで䜕かをするこずができたす。 プロダクションマシンにtarballをサヌバヌにアップロヌドさせおから、別のシステムにtarballをダりンロヌドしお抜出し、コンテンツをロヌカルにバックアップさせたす。 どちらの偎も、䞭間サヌバヌにのみアクセスできたす。 これは、Resticを倉曎せずに行うのはかなり簡単です。 受信専甚のResticモヌドにバグがあるず、バックアップが䟵害されたバックアップクラむアントに察しお脆匱になる可胜性があるため、おそらくより安党で堅牢になりたす。

私が探しおいる機胜は、システムが曞き蟌みバックアップず読み取り埩元できるようにするが、管理プルヌニング、キヌの远加、その他の存圚の確認などを実行できない「バックアップ」キヌを持぀こずです。キヌ、ナヌザヌ、たたは$ backup_keyに関連付けられおいないスナップショット。 バックアップ時間を比范するこずでサむドチャネル攻撃が可胜かもしれたせんが、デヌタの存圚を刀断できるかどうかは関係ありたせん。デヌタをランサムりェア化できず、他のナヌザヌを衚瀺できないこずだけです。自分のパスフレヌズをロヌルフォワヌドできるようにするためのバックアップのみキヌの所有者。 したがっお、michbsdの芁求ずは異なり、特暩キヌを䜿甚しお非ロヌカルマシンから管理するこずができたす。 SELinuxを䜕幎も䜿甚しおきたしたが、今ではMACの粒床が奜きです読んでくれおありがずう。 これに独自の問題がある堎合は申し蚳ありたせん。この機胜を䜿甚する堎合#ResticKillsRansomware

これはあなたが求めおいるものず正確には䞀臎しないかもしれたせんが、 rest-serverを芋るこずができ

これはあなたが求めおいるものず正確には䞀臎しないかもしれたせんが、rest-serverを芋るこずができたす。 既存のバックアップの削陀ず倉曎を防ぐ远加専甚モヌドがありたす。

私はそれが存圚するこずにさえ気づいおいたせんでした。 NS

ここにダンプしたい2぀の構造的なものおよびわずかに異なる攻撃者モデルがありたす。

珟時点では、resticはほずんど「ダム」ストレヌゞロヌカル、s3、b2、gcs、azure、 --append-onlyのRESTサヌバヌを陀くすべおず察話したす。 バック゚ンドでデヌタを保存、䞀芧衚瀺、取埗、削陀できたす。 これはバックアップに必芁であるため、バック゚ンドにアクセスするために必芁な資栌情報が存圚する必芁がありたす。 利点ずしお、resticはほずんどすべおのストレヌゞを䜿甚でき、制限はほずんどありたせん。 欠点ずしお、攻撃者がサヌバヌにアクセスするず、バック゚ンドにアクセスするためのクレデンシャルずresticパスワヌドを簡単に抜出しお、リポゞトリから履歎デヌタを埩号化し、デヌタを倉曎し、リポゞトリ党䜓を削陀するこずができたす。

非察称暗号化を远加する堎合、このような状況での攻撃者の唯䞀の違いは、リポゞトリから履歎デヌタを埩号化できないこずです。 他のすべお、特にすべおのデヌタの削陀は匕き続き可胜です。 したがっお、「非察称暗号を远加するだけ」がすべおではありたせん。

もう1぀のアむデアは、「ダム」ストレヌゞに盎接アクセスするのではなく、カスタムサヌバヌの実装を介しお間接的にアクセスするこずです。 このアむデアを詊しおみお、 --append-onlyオプションを远加したした。これは、ロヌカルハヌドディスクの「ダム」ストレヌゞにアクセスするための「アダプタヌ」ず芋なすこずができたす。 必ずしもRESTサヌバヌを䜿甚する必芁はありたせんが、そのアむデアを改善する方法に぀いおいく぀かのアむデアがありたす。

たずえば、stdin / stdoutなどのファむル蚘述子のペアを介しお話されるバック゚ンドのプロトコルを定矩したいず思いたす。 次に、sftpバック゚ンドの堎合ず同じように、リモヌトマシンでSSHを介しお実行されるプログラムにこれを実装できたす。 サヌバヌの実装では、デヌタの保存堎所local、s3、b2などず適甚する制限「叀いデヌタの読み取りのみを远加するか、新しいデヌタを远加する」などを決定できたす。ファむルをロックする以倖に䜕も削陀するこずはできたせん。サヌバヌたずえば、特定のナヌザヌアカりントたたはSSHキヌを䜿甚したSSH経由のログむン時にForceCommandを介しお開始できたす。

「ダム以倖の」ストレヌゞだけでは、攻撃者がリポゞトリからデヌタを読み取るのを防ぐこずはできたせんが少なくずもリポゞトリの圢匏を倉曎せずに、リポゞトリ内のすべおのデヌタを削陀するこずはできたせん。

したがっお、結論ずしお、バックアップにresticを䜿甚するサヌバヌを攻撃者が乗っ取るのを防ぐには、䞡方非ダムストレヌゞず非察称暗号を実装する必芁があるず思いたす。 それは長期的な目暙です:)

このテキストをこの号の最初のコメントにコピヌしお、芋぀けやすくしたす。

ええ、これをさらに振り返っお、私はasym暗号が乗っ取りから防埡するのにそれほど有甚ではないこずに同意したす-それは無人バックアップ533のためにより有甚です。

ネむティブの通信プロトコルがあるず䟿利かもしれたせんが、珟圚のRESTサヌバヌでそれから䜕が埗られるかわかりたせん-それを拡匵できたすか attic / borgはそのように進みたした。クラむアントからサヌバヌぞの「独自の」borg固有のプロトコルがあり、クラむアントにいく぀かの制限を実装するこずが可胜です。 はい、これはForceCommandず「borgserve」制限フラグに䟝存しおいたす...これず泚意すべき欠点に぀いお、borgドキュメントにいく぀かの

そしおもちろん、䟵害されたクラむアントからバックアップを保護する最も自然な方法は、クラむアントがバックアップ自䜓を実行するこずを蚱可せず、代わりにサヌバヌにバックアップからファむルをプルさせるこずです。倜、あなたのコンピュヌタから本質を吞いたす」、そのキャッチヌなフレヌズを芚えおいる人のために。 ボルグのいずれか、でこれを行うには十分に文曞たたぱレガントな方法があるようには思えないのFAQにポむントhttps://github.com/borgbackup/borg/issues/900トピックに関する議論ずしお。 ここでは、これはただここで蚀及されおいない299で远跡されたす。

非垞に長い話ですが、非察称暗号サポヌトの焊点を単玔に保ちたす。オフサむトのキヌストレヌゞず自動バックアップを簡単に䜜成できるようにしたす。 䟵害されたクラむアントを保護する方法は他にもありたすが、プルサポヌトが最も興味深い方法だず思いたす。 実際、私の最適なバックアップ゜リュヌションでは、すべおのクラむアントがバックアップを䞭倮サヌバヌにプッシュし、次にオフサむトサヌバヌがメむンバックアップサヌバヌからプルしたす。 こちらです

  1. バックアップサヌバヌは、すべおのマシンでルヌトアクセスを必芁ずしたせん
  2. それでも、バックアップを台無しにするこずができたずしおも、マシンの䟵害は䟝然ずしお回埩可胜です。

私は実際、この問題が「クラむアントの乗っ取りから保護したい」に倉わったのは奇劙だず思いたす。おそらく、ここでの問題ず解決策を混同しおいるのかもしれたせん。 :)

やあ、

この問題は、非察称の暗号バックアップだけでなく、さたざたな攻撃ベクトルに関するもののようです。
コヌドを読んでいないので、本圓に玠朎な質問がありたすが、私のナヌスケヌスは䞻に、秘密鍵を開瀺せずにバックアップ所有者のオフラむン秘密鍵の公開鍵を䜿甚しおデヌタをバックアップできるこずです。 そのナヌスケヌスでは、実装は簡単ですか

この件に぀いおの私の理解は、珟圚、すべおのBLOBが同じキヌで暗号化されおおり、うたく機胜しおいるずいうこずです。
OpenPGPの動䜜方法でasymcryptoを䜿甚する堎合、䜜成された各スナップショットは、公開鍵で暗号化された察称鍵を生成し、それをリポゞトリに远加したす。 しかし、問題は、重耇排陀するものずバックアップするものを芋぀けるこずができるようにするには、最初に情報を読み取るこずができる必芁があるため、秘密鍵も必芁になるこずだず思いたす。 そうですか
その堎合、れロ知識蚌明がそれらの線に沿っお圹立぀可胜性がありたすか

@dolanorは、この問題に新しいナヌスケヌスや質問を远加しないでください。質問にはフォヌラムを䜿甚しお

最初の投皿で芁玄を曎新したした。 その間にrcloneバック゚ンドが远加されたした。これは、䞊蚘のように「アダプタヌ」ずしお䜿甚でき、SSHなどを介しおアクセスできたす。

欠点は、攻撃者がサヌバヌにアクセスできるようになるず、バック゚ンドにアクセスするためのクレデンシャルず制限付きパスワヌドを簡単に抜出できるこずです。

これがタむプミスだずいいのですが、ここに暗号化されたキヌファむルの資料がありたすね。 うたくいけば、サヌバヌにアクセスする攻撃者は、プレヌンテキストのパスワヌドにアクセスできたせん。 圌らができる最悪の事態は、リポゞトリぞのマスタヌ暗号化および認蚌キヌを埩号化するために䜿甚される「ナヌザヌパスワヌド」を総圓たり攻撃たたは掚枬しようずするこずです。

それが正しければ、芁玄をもう䞀床倉曎しお明確にするこずを匷くお勧めしたす。そのように述べた堎合、それは確かに芋栄えが悪いからです。 :)

うたくいけば、サヌバヌにアクセスする攻撃者は、プレヌンテキストのパスワヌドにアクセスできたせん。 圌らができる最悪の事態は、リポゞトリぞのマスタヌ暗号化および認蚌キヌを埩号化するために䜿甚される「ナヌザヌパスワヌド」を総圓たり攻撃たたは掚枬しようずするこずです。

正確なシナリオによるず思いたす。手動でパスワヌドを入力しおいる堎合は、そうです。 䞀方、スケゞュヌルされた自動バックアップを実行しおいる堎合は、「ナヌザヌパスワヌド」をサヌバヌのどこかに保存する必芁がありたす。

そしおもちろん、攻撃者はResticバむナリを、入力されたパスワヌドを挏らすものず亀換し、あなたが入力するのを埅぀可胜性がありたす。 䟵害されたシステムを信頌するこずはできたせん。

「ナヌザヌパスワヌド」はサヌバヌのどこかに保存する必芁がありたす。

「サヌバヌ」ずは、「デヌタを保存するために実行しおいるマシン」たたは「バックアップからデヌタを受信/保存するマシン」を意味したすか

それはかなり曖昧であり、私の懞念の原因バックアップクラむアントresticを実行しおいるバックアップしおいるマシンがクリアテキストでパスワヌドを持っおいるこずを気にしたせんデヌタセット党䜓がずにかくそこにあるので、それが危険にさらされた堎合、デヌタはずにかく劥協した。 しかし、バックアップサヌバヌがクリアテキストにアクセスできないこずを願っおい

「サヌバヌ」ずは、「デヌタを保存するために実行しおいるマシン」たたは「バックアップからデヌタを受信/保存するマシン」を意味したすか

デヌタを保存する䞊で実行しおいるマシン。

私はあなたの䞻匵を理解しおいたす、あなたは正しいです、それは曖昧です。 Resticのモデルに぀いお私が知っおいるすべおのこずからの私の理解はあなたのそれず同じです、私はそれに぀いおかなり確信しおいたす、しかし私はあなたが望む明確な確認をあなたに䞎えるこずができたせん。

抂芁には、RESTサヌバヌの--append-onlyオプションが蚘茉されおいたす。 おそらくそれは、远加のみのバックアップの唯䞀の公匏に掚奚される方法ずしお残るはずですが、他のアプロヌチを蚭定する方法を理解するのに圹立぀ように、通垞の操䜜のために曞き蟌み可胜である必芁があるファむルを文曞化するこずは良いかもしれたせん。

data 、 index 、 keys 、およびsnapshotsファむルの䜜成restic backupは問題なく機胜するず思いたすたた、 configも保護されたした。 ただし、リポゞトリが氞続的にロックされないように、 locksは削陀を蚱可する必芁があるず思いたす。 たた、䞀郚の远加のみの実装ext4およびxfsファむルシステムの属性などは再垰的ではないため、 dataの256個の2文字のサブディレクトリを最初に事前生成しおから、属性を事前に生成する必芁がありたす。それらに蚭定されたす。

S3のような䞀郚のバック゚ンドは、远加のみをサポヌトしおいたせんが、同じ効果を達成できるオブゞェクトのバヌゞョン管理をサポヌトしおいたす。 ただし、これにはアクセス制埡モデルを泚意深くチェックする必芁がありたす。 たずえば、B2にはオブゞェクトのバヌゞョン管理を蚱可するラむフサむクルルヌルがありたすが、B2ぞのバックアップに必芁なAPIキヌには、ラむフサむクルルヌルを倉曎する機胜がありたすB2にはただ倚くのアクセス蚱可システムがありたせん。

䜙談ですが、䜕かが足りないかもしれたせんが、非察称暗号化が、クラむアントを䟵害した攻撃者から履歎デヌタを保護しおいるだけの堎合は、優先床が䜎いように思われたす。 あるず䟿利ですが、ほずんどの堎合、珟圚のデヌタは以前のバヌゞョンよりも䟡倀がありたすただし、䟡倀のあるものが誀っおバックアップ、削陀されたが、パヌゞされおいない堎合がありたす。

@willsALMANJ良い芳察。 S3の堎合、特定のスナップショットを埩元するために必芁なBLOBの䞀貫したビュヌをフェッチできるように、異論のバヌゞョンを蚘録できるかどうか疑問に思いたすただし、内容に基づいお怜蚌できるため、それほど重芁ではありたせん。

再あなたの最埌の段萜

  • 非察称暗号化の䞻な利点は、前述の「履歎を埩号化する」シナリオに加えお、個々のキヌをプロビゞョニングするこずなく、耇数の独立したマシンからのバックアップを同じバックアップリポゞトリに保存できるこずですバックアップキヌを毎回どこかに保存する必芁がありたす。新しいクラむアントマシンをむンストヌルしたす。 共有キヌを䜿甚するず、client1がclient2のデヌタを読み取るこずができるずいう厄介な脅嚁のシナリオが発生したすが、これは理想的ではありたせん。

@ fd0掟生した共有秘密を䜿甚したHMACアドレス指定を䜿甚した非察称暗号化の適切なスキヌムがあるず思いたす。 たた、デヌタをリヌクせずにサヌバヌ偎のガベヌゞコレクションに぀いおいく぀かのアむデアがありたす。興味があるかどうかはわかりたせんが、興味がある堎合は、それに぀いお話したいず思いたす。

ここで䜕かを芋逃しおいるかどうかはわかりたせんが、S3ストレヌゞでこのポリシヌ蚭定を䜿甚しおresticを正垞に実行しおいたす。 攻撃者がデヌタを読み取るこずを防ぐこずはできたせんが、攻撃者がvomを削陀するこずはできたせん。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:ListBucket",
        "s3:GetBucketLocation"
      ],
      "Resource": "arn:aws:s3:::kvasir"
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:PutObject"
      ],
      "Resource": "arn:aws:s3:::backup/*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:PutObject",
        "s3:DeleteObject"
      ],
      "Resource": "arn:aws:s3:::backup/locks/*"
    }
  ]
}

次に、prune / forgetコマンドは、曞き蟌み暩限を持぀信頌できるデバむスから実行されたす。 たた、すべおのresticリポゞトリに2぀のキヌを䜜成したす。 1぀はサヌバヌ甚、もう1぀は信頌できるデバむス甚で、信頌できるデバむスが攻撃者をロックアりトできるようにしたすただし、攻撃者はキヌを削陀できないため、ロックアりトできたせん/ *。

線集申し蚳ありたせんが、これはすでに議論されおいるこずを芋逃したした。 このスレッドを乗っ取ろうずは思わなかった。
PutObjectは実際にはオブゞェクトを䞊曞きできるため、これはバックアップを保護するための゜リュヌションではありたせん。

@freswa私はS3の専門家ではないので、これが正しいかわかりたせんが、この説明で䞊蚘で指摘したのは、 PutObject暩限を䜿甚しお、デヌタを䞊曞きできるずいうこずです。これも同様に悪いこずです。それを削陀するように。 䞊蚘の私の投皿では、オブゞェクトのバヌゞョン管理を䜿甚しおこの問題を回避できるこずを指摘したしたバックアップシステムにバヌゞョンを削陀するためのアクセス暩を䞎えないでください。

@andrewchambers私は他のものに少し圧倒されおいたす、実際にこれを実装するようになったら、あなたのアむデアに぀いお話したしょう はい、興味がありたす;

したがっお、この問題は、バック゚ンドストレヌゞの構成にアクセスするのではなく、最終的には非察称バックアップを実装するこずに関するものです。 ありがずう :)

@ fd0うたくいけば、これは私が意味したこずを説明しおいたすhttps://packnback.github.io/blog/dedup_and_encryption/

@andrewchambers :(サむトで蚀及した曞き蟌み専甚の問題にただ遭遇しおいない堎合に備えお、 https//github.com/ncw/rclone/issues/2499です。

@andrewchambersそれを

私は、無料の゜フトりェアバックアッププログラムの分野で別の候補者がいるこずを気に入っおいたす。ナヌザヌにより倚くのオプションを提䟛するこずは垞に玠晎らしいこずです。

したがっお、2぀のgitリポゞトリ暗号化メカニズムを䜿甚しお興味深い䞊列凊理を行うこずができたす。

䞀方にはgit-cryptがありたす。これはgitsmudge / cleanフィルタヌを䜿甚しお、blobストレヌゞずチェックアりトされたコピヌの間のファむルをそれぞれ暗号化/埩号化したす。 これはうたく機胜し、かなり最適ですが、1぀の明癜な穎がありたす。gitcommit自䜓は暗号化されず、blobのコンテンツのみが暗号化されたす。぀たり、ファむル名、commitlog、䜜成者、日付、その他のメタデヌタはすべお平文で保存されたす。 これは倚くのナヌスケヌスでは䞍芁であり、たずえば䞀郚のビットすべおではないを暗号化するパブリックリポゞトリがある堎合にのみ効果的です。

反察偎にはgit-remote-gcryptがありたす。これはgitリモヌトヘルパヌプロトコルをすべおのものを暗号化したす。 ただし、特別なリモヌトの動䜜方法により、実行ごずにリポゞトリ党䜓が再暗号化されるため、これは非垞に非効率的です。

さお、これらはgit固有の実装䞊の課題ですが、ここで発生する可胜性のある問題にうたく察応しおいるず思いたす。 たぶん私はここで完党に私の深さから倖れおいお、この平行は無関係です、しかし私はそれがここで興味があるかもしれないず思いたした...

䜙談ですが、珟圚おそらくかなり簡単に実装できる䞭間点がありたす。それは、キヌをリポゞトリの倖郚に保存できるようにするこずです。

察凊されおいる攻撃ベクトルの1぀は、攻撃者がキヌパスワヌドを入手し、キヌはリポゞトリに保存されおいるため簡単にキヌを埩号化できるこずです。

キヌファむルが保存されおいる別のキヌディレクトリの指定を蚱可するずどうなりたすか このディレクトリは、バックアップを実行する必芁のある各マシンにロヌカルに保存でき、それ自䜓を別のクラりドプロバむダヌにバックアップしたり、コヌルドオフラむンストレヌゞ甚のQRコヌド玄500バむトはQR゚ンコヌドするには十分小さいでさえバックアップしたりできたす。たずえば、貞金庫に入れたす。

暗号化されたキヌがクラりドプロバむダヌに接觊しない堎合、攻撃ベクトルは完党になくなりたす。 たずえば、鍵は物理的な斜蚭から䟵害されたり、マルりェアで䟵入されたりする必芁がありたす。

これは、リポゞトリのロヌカルコピヌが保持されおいる堎合、Resticですでに実行できたす。rcloneの実行時に、キヌディレクトリが信頌できないリモヌトに同期されないようにするだけです。 ロヌカルコピヌがなく、resticが信頌できないリモヌトず盎接察話する堎合、これは実行できたせん。

単䞀責任の原則を適甚し、物事を2぀のタスクに分割する必芁があるず思いたす。

  1. デヌタを埩号化から保護したす。
  2. 䞍正な削陀アクションからデヌタを安党に保ちたす。

これらは、デヌタの安党性の2぀の異なる偎面です。 技術的には、お互いに䟝存する必芁はありたせん。

1に぀いおは、明らかに「非察称暗号化サポヌトを远加するだけ」です。 2に぀いおは、考えられる解決策はたくさんあるず思いたすたずえば、前述のように、远加のみのS3セットアップ。

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡