これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド rsynccrypto です。
プログラム:
NAME
rsynccrypto - rsync フレンドリーな暗号化
SYNOPSIS
rsynccrypto [オプション] srcファイル dstファイル キーファイル キー
rsynccrypto [オプション] -r srcdir dstdir キーディレクトリ キー
DESCRIPTION
このマニュアルページには、 rsynccrypto
rsynccrypto ファイル (またはディレクトリ構造) を次の方法で暗号化するユーティリティです。
プレーン テキスト ファイルに対するローカルな変更が、
暗号テキストファイル。 これにより、次のことが保証されます。 rsync 暗号化されたものを同期するには
ファイルを別のマシンにコピーしても、影響はわずかです。 rsyncの効率。
rsynccrypto 対称ブロック暗号 (AES) を使用してファイルを暗号化します。 各ファイルは暗号化されます
一意のキーを使用します。 ファイルキーは XNUMX つの場所に保存されます。 XNUMXつは「キー「ファイル」と
XNUMX つ目は暗号化されたファイル自体の中にあります。 XNUMX 番目のコピーは RSA を使用して暗号化されます
公開キー。すべての暗号化ファイルで共有できます。
ファイルの復号化は、次の XNUMX つの形式のいずれかで実行できます。
暖かい 復号化
キーファイル 復号化に使用されます srcファイル に dstファイル.
コールド 復号化
If キーファイル 失われ、 キー は プライベート RSA 暗号化のキー、抽出、
作ります キーファイル 暗号化されたものから srcファイル、両方を作成します キーファイル と dstファイル.
両方の場合 キーファイル 秘密キーが利用できない場合、復号化はできません。
通常、これは、暗号化されたファイルを次の場所に転送することを意味します。
どのような方法でも (安全であろうと不安定であろうと、おそらく rsync :)、プレーン テキスト ファイルを次のように保存します。
キーファイルも安全です。 RSA 秘密キーを保存していれば、次のことが可能です。
両方を再構築します。
パラメーター
パラメータの意味は、 -r と -d フラグ。
srcファイル or srcdir
これが操作のソースです。 これはプレーンテキストファイルになります
暗号化と復号化用の暗号文ファイル。 もし -r オプションが与えられ、
srcdir ファイルを暗号化/復号化するディレクトリです。 さもないと、
srcファイル 暗号化/復号化するファイルです。 いかなる場合でも、 SRC より前に存在する必要があります
ランニング rsynccrypto.
dstファイル or dstdir
そして SRC、これが操作の目的地です。 プレーンテキストになります
作成される場合 -d 指定された場合、または暗号化されたファイルが指定された場合。
キーファイル or キーディレクトリ
暗号化用の対称キーを保持するファイル、またはそのディレクトリ
対称鍵ファイルが存在します。 後の場合、キー ファイルは次と同じ名前になります。
プレーンテキストファイル。
キー このファイルは、公開キーを保持する X509 証明書、または PEM 形式のいずれかです。
秘密鍵。 コールド復号化が必要でない限り、秘密キーは必要ありません。
ジョブの設定方法については、 必須(1)または x509(1) 詳細についてはマニュアルページを参照してください。
If DST 存在しない場合は作成されます。 作成されるディレクトリは次のとおりです。
実行前に存在する rsynccrypto.
暗号化中にファイルの対称キーが見つかった場合は、同じパラメータが使用されます
暗号化の場合は、 - NS or --fk オプションが使用されます。 そうなると鍵は
ファイルは正しいパラメータに置き換えられます。
OPTIONS
これらのプログラムは通常のGNUコマンドライン構文に従い、長いオプションはで始まります
XNUMXつのダッシュ( `-')。
-h, - 助けて
オプションの概要を表示します。
-V, - バージョン
現在のバージョン番号を出力します。
-d, -復号化
解読する SRC に DST。 デフォルトの動作は暗号化です SRC に DST、作成
キーファイル 存在しない場合。
-r, -再帰
ディレクトリ構造全体を再帰的に暗号化/復号化します。 以下のすべてのファイル srcdir
同じ名前とパスのファイルに暗号化されます (ほぼ、 - トリム) 下
dstdir。 まだ存在していない場合は、次のファイルごとにキー ファイルが作成されます。
キーディレクトリ.
-ファイルリスト
最初の引数は、次のリストを持つファイルへのポインタ (標準入力の場合は「-」) です。
処理するファイル。 「/」で終わる名前はすべて、次のディレクトリとみなされます。
再帰モード、その他の名前はファイル名です。 XNUMX 番目の引数は、
ファイルが暗号化されるディレクトリ。 --filelist と -r は相互に一致します
排他的。
-c, - かわった
実行する前に、送信元と宛先の変更時刻を確認してください (--modify-window を参照)。
操作を実行しています。 変更時刻が同じ場合、ファイルは同じであるとみなされます。
も同様なので操作をスキップします。 とは異なることに注意してください rsync、ファイルサイズは
比較されていません。 これは、ファイル サイズが途中で変更されることが予想されるためです。
暗号化 (したがって復号化) 操作。
--危険な書き込み
通常、rsyncrypto がファイルを書き込むときは、一時的な名前を使用してファイルを移動します。
正常に完了すると、最終的な名前に変更されます。 これには XNUMX つの目的があります。 その間
暗号化により、セキュリティの誤った認識が防止されます。
部分的なファイルが存在しないようにすることによる rsynccrypto の中断 (および
更新の場合は、古いバックアップを保持します)。 これにより、再起動も確実に行われます
rsynccrypto を使用すると、操作が必要かどうかを正しく検出できるようになります。
繰り返した。 これにより、復号化中に、確実になるまでファイルが上書きされなくなります。
そのソースを解読できます。
このアプローチの主な問題は、書き込まれるファイルが大きい場合に、
ファイル システムには、次の期間にそのコピーを XNUMX つ保存できる十分なスペースが必要です。
操作。 また、ハード リンクが維持されている場合、デフォルトの rsynccrypto の動作は
リンクが切れてしまいます。
指定 --危険な書き込み rsynccrypto が既存のファイルを直接上書きするようにするには
最後の名前を使用します。
--modify-window=NUM
以下の場合にのみ適用されます -c が有効になっています。 ファイルの変更時間を比較するときは、
等しい変更時間として NUM 数秒違います。 デフォルト値はゼロです。
このオプションは、暗号化されたファイルが FAT ファイル システムに保存されている場合に最も役立ちます。
FAT は、2 秒の精度でのみ変更時刻を保存できます。 これにより、次のような結果が生じる可能性があります
元のファイルと暗号化されたファイルの間で変更される変更時刻。 このような場合には、
--modify-window=1 使用すべきです。
--エクスポート-変更=ログファイル
ファイルを暗号化または削除するときは、必ずファイルの名前を次の場所に書き込みます。 ログファイル。 この
通過を許可します ログファイル 〜へ rsync(1)を使用して --include-from rsync オプション。
このオプションは主に次のような場合に役立ちます。 rsynccrypto 巨大なデータを繰り返し暗号化するために使用されます
ディレクトリ ツリーを作成し、rsync を使用してリモートで同期します。 これの使用
オプションで焦点を合わせることができます rsync 変更されたことがわかっているファイルのみ、
ファイルリスト全体をリモートマシンに送信させるのではなく、
rsync 操作が高速化されます。 rsync バージョン 3 では実際の
ファイルリストの転送中にファイルを転送するため、パフォーマンスが低下します。
このオプションによる利益はあまり目立たなくなります。
このオプションを rsync と組み合わせて使用する場合は、次の点に注意してください。 ログファイル is
書き込まれる前にゼロに設定されます。 これは、少なくとも XNUMX つが存在しない限り、
rsynccrypto の呼び出しごとに rsync 操作が完全に成功した場合、
以前の呼び出しによってディスク上に変更されたファイルが存在する可能性があります。
rsynccrypto ですが、後の呼び出しによって上書きされたため、
最新バージョン ログファイル。 つまり、rsyncrypto が複数回実行されると、
rsync の XNUMX 回の完全に成功した呼び出しの間には、次のようなことが考えられます。 ログファイル
完全ではないこと。 この オプション at 自分の 危険!
rsync バージョン 3 以降にアップグレードすることを強くお勧めします。
このオプションを信頼してください。
-n, --name-encrypt=翻訳ファイル
ファイル名を暗号化します。 このオプションを指定すると、ファイル名が
同様に暗号化されます。 これは、暗号化されたファイルの名前を
ランダムな文字列、および次のように指定されたファイルに翻訳を保存します。
パラメータ。 再帰モードで作業している場合、このファイルも自動的に含まれます
暗号化では「filemap」という固定名が付けられます。 これは次のように行われます
対称キーが失われた場合でも、ファイル名の復号化は可能です。
--ne-nesting=NUM
--name-encrypt オプションを使用すると、デフォルトでは、すべてのマングルされたファイル名が
単一のディレクトリに保存されます。 大規模なディレクトリ ツリーを暗号化する場合、これにより、
その結果、かなり大きなディレクトリが作成されます。 「--ne-nesting」を使用すると、ファイルがサブに分割されます
暗号化されたファイル名の一部であるランダムなビットに従ってディレクトリを抽出します。 「ん」
ネストするディレクトリの数です。
--トリム=NUM
最初から何レベルのディレクトリをトリミングするかを決定します。 srcdir path
以下にディレクトリを作成するとき dstdir。 デフォルト値は 1 です。 を参照してください。 、 TRIM オプション
のガイドをご参照ください。
- 消去
再帰モードの場合、以下のファイルとディレクトリを削除します。 dstdir 存在しない
下 srcdir.
-- 削除キー
ファイルを削除するときは、対称キーとファイル名のマッピングも削除します (
該当する)。 いつだけ - 消去 が使用されている場合、対称キーとファイル マッピングは
ファイルが再作成された場合に元のファイルと再同期できるようにするために保持されます。
ファイル。 このオプションの意味は、 - 消去.
-bNUM --keybits=NUM
ブロック暗号の鍵サイズを指定します。 AES の場合、これらは 128、192、または 256 になります。
そうでない限り、 - NS or --fkP オプション また 指定、 この 意志 の 影響を及ぼす
ファイル for which いいえ キーファイル 存在しています。
--noatime=NUM
(一部のプラットフォーム、特に Linux のみ)。 プラットフォームは通常、以下を追跡します
ファイルが最後にアクセスされたとき。 以来 rsynccrypto 通常はバックアップに使用されますが、
Linux 固有の O_NOATIME オプションを使用して暗号化したファイルを開きます。
ファイルのアクセス時間を更新しないようにシステムに指示する拡張子。 開くとき
開くプロセスがファイル所有者によって所有されていないファイル、開こうとする試み
O_NOATIME を含むファイルを開くと、「アクセス許可が拒否されました」というメッセージが表示されて開くことができません。
NUM 次のいずれかのオプションを指定できます。 0 O_NOATIME をまったく使用しないことを意味します。 1 (
デフォルト)は、次の場合にのみ O_NOATIME の使用を試みることを意味します。 rsynccrypto 引き起こさないと思う
権限拒否エラー。 2 常に O_NOATIME を使用することを意味します。
--no-アーカイブモード
タイムスタンプを保存しようとしないでください。 このオプションは以下と互換性がありません -c.
--gzip=path
デフォルトでは、 rsynccrypto 平文を暗号化する前に圧縮します。 で
圧縮によりrsyncが不親切にならないように、 rsynccrypto 検索します
のインスタンスのパス gzip(1)をサポートする --rsyncable オプション。 の場合
システムのデフォルトの gzip は、このオプションをサポートしていません (すべての Debian とその派生製品、
他の人もサポートしています)、このオプションを使用して伝えます rsynccrypto 使用する
gzip の別のインスタンス。 rsynccryptoのソースのtestsディレクトリにはファイルがあります
「gzip」と呼ばれる、入力と出力をリダイレクトすることで NULL 圧縮を行います。
catとします。
--ロールウィン=NUM, --ロール分=NUM, --ロール感度=NUM
ローリング ブロック アルゴリズムに影響します。 見る 注意事項.
--fk, - NS
コマンドラインまたはデフォルトが異なるバージョンの場合は、
- ロール-* オプションまたは -b オプションの場合、これらは次のファイルにのみ影響します。
キーファイル はまだ存在しません。 を指定する --fk or - NS 再作成します キーファイル それであれば
前のキー ファイルの値とは異なる値が含まれています。
-v, -詳細
詳細レベルを上げます。 より冗長にするには、複数回指定します。
注意事項
暗号化 stdin
If srcファイル `-' として指定すると、プレーン テキスト データが標準入力から読み取られます。 これはまだ
減圧のために働きます(を参照) バグ).
--ロールウィン=番号、 --ロール分=番号、 --ロール感度= num
これらの値は、内部動作の一部に影響を与えます。 rsynccryptoの意思決定。 で
特に、これらはどのように影響するか rsynccrypto いつ IV に戻すかを決定します。
自分が何をしているのかを理解していない限り、これらのオプションを使用しないでください。 彼らです
データ損失を引き起こすことがないという点で、危険ではありません。 どの値でも許可する必要があります
ファイルの復号化。 それらは確かに影響を及ぼします rsyncの効率。
これらのオプションは、セキュリティ上の問題が発生した場合に迅速に対応できるようにするためにのみ存在します。
デフォルト値を使用します。 そうなると、新たな価値観を与える勧告が出てくるかもしれない。
回避策として記入してください。 それが起こるまで、ほとんどのユーザーはこれらのオプションをそのままにしておくことが推奨されます
単独で。
、 TRIM オプション
実行時 rsynccrypto 再帰モードでは、以下のディレクトリ構造が srcdir 再です
下で作成 dstdir、パスから XNUMX つのディレクトリが削除されます。 言い換えれば、私たちが
次のようなディレクトリ構造を持っています。
a/b/c/ファイル
ランニング rsynccrypto srcdir 「a/b」の、そして dstdir 「f」の場合は「f/b/c/file」が作成されます。
この - トリム オプションを使用すると、ユーザーはトリミングする部分の数を指定できます。 srcdir 作成するとき
以下のディレクトリ dstdir と キーディレクトリ。 上の例で次のように言った場合、 - トリム=0 の場合
「f/a/b/c/file」が作成されるはずです。 同様に、次のように言った場合 - トリム=2 の場合、「f/c/file」
作成されていたでしょう。
ディレクトリ部分の数よりも大きいトリム値を指定するとエラーになります。
実際に srcdir。 上記の例では、 - トリム=3 の場合はエラーになります。
SECURITY
ロール値は、完全にわかっているわけではありませんが、どの程度の情報が「漏洩」するかに影響します。
平文と暗号文の間。 デフォルト値は 20 未満のリークであると想定されています
最悪の場合、8KB ごとにプレーン テキスト ファイルに関する集約情報が含まれます。
これらの値が、ほとんどの用途で十分に安全であるとみなされることを願っています。 ただし、あなたの場合は、
国の運命が危機に瀕している場合は、提供されているような、rsync に最適化されていない暗号化を使用してください。
by opensslのとします。
例 そして チュートリアル
rsynccrypto の使用を開始する前に、X509 証明書形式の公開キーが必要です。
これらのいずれかを生成する最も簡単な方法は、 opensslの(1)パッケージ。 を生成するには、
新しい 1536 ビット RSA キーを「backup.key」として保存し、対応する暗号化されていない公開キーを保存します
「backup.crt」で、次のコマンドを使用します。
openssl req -nodes -newkey rsa:1536 -x509 -keyoutbackup.key -outbackup.crt
証明書の詳細について何を回答するか、いつ設定するかは関係ありません。
期限切れ。 Rsyncrypto は、実際のキーを除く証明書内のすべてを無視します。
ファイル「data」を「data.enc」に暗号化し、ファイルの特定のキーを「data.key」に保存するには、
実行:
rsyncrypto データ data.enc data.key backup.crt
これらの例で「backup.crt」が使用されている箇所では、「backup.key」も同様に使用できます。
上記では、最後の引数として「backup.key」を指定することもできます。 これらの例がリストされている場合
「backup.key」、具体的には「backup.crt」という意味です 代わりに使用してください。
「data.enc」が作成されます。 以前の実行から「data.key」が存在する場合、新しく
作成された「data.enc」は同じ対称キーとその他の属性を持つため、
暗号化の rsync フレンドリーさ。 したがって、以前の情報を提供することが重要です
データのキー ファイルが利用可能な場合。
ファイルを復号化するためのコマンド ラインは、ファイルを復号化するときに使用するキー ファイルがあるかどうかによって異なります。
ファイルは暗号化されていました。 そうすると、公開されたファイルのみを使用して復号化を行うことができます。
次のコマンドを使用してキーを入力します。
rsynccrypto -d data.enc data.dec data.key backup.crt
キー ファイルが失われた場合は、秘密キーを使用して暗号化されたファイルから復元する必要があります。
次のコマンドを使用してファイルを作成します。
rsynccrypto -d data.enc data.dec data.key backup.key
上記コマンドにより「data.dec」と同様に「data.key」も作成されます。
rsynccrypto を使用してディレクトリ全体を暗号化する場合も同様ですが、ディレクトリ名が置き換えられます。
上の例のファイル名。 「data」というディレクトリの内容を暗号化するには、
「enc」というディレクトリに対称キーを保存し、「keys」というディレクトリに保存したら、
次のコマンド:
rsyncrypto -r データ暗号化キー backup.crt
前と同様に、ディレクトリ「enc」と「keys」が存在しない場合は作成されます。
「plain」配下のディレクトリ構造は「enc」配下と「keys」配下に複製されます。
つまり、「data」の下に「foo」というファイルがある場合、「foo」という暗号化ファイルが作成されます。
「enc」の下に「foo」という名前のキーファイルが作成され、「keys」の下にキーファイルが作成されます。 で
つまり、「data/foo」へのパスの最初の部分 (「data」と書かれている部分) は次のようになります。
パスから削除され、これにより「enc」の下のファイルの名前が決定され、
「鍵」。
別のトリミングが必要な場合は、--trim オプションを使用できます。 rsyncrypto を使用するには
上記の代わりに「enc/data/foo」を作成するには、次のコマンドを使用します。
rsyncrypto -r --trim=0 データ暗号化キーのバックアップ.crt
単一のディレクトリからすべてのファイルを取得する代わりに、rsyncrypto を提供することができます。
暗号化するファイルとディレクトリのリストを含めます。 これは --filelist を使用して行われます
オプション、次のように:
rsynccrypto --filelist --trim=0 暗号キーのリストのバックアップ.crt
「enc」と「keys」は以前と同じ意味を保持します。 「list」はリストを含むテキスト ファイルです。
暗号化するファイルの行ごとの数。 --trim=0 オプションは、リストに行が含まれているかどうかを示します。
ファイル名を示す「/home/foo/bar」と言うと、暗号化されたファイルが
「enc/home/foo/bar」が作成されます。 これがないと、ファイルの名前は「enc/foo/bar」になります。
同様に、--trim=2 を指定すると、ファイルは「enc/bar」として作成されます。
ファイル名が暗号化されていないことが問題になることがよくあります。 その場合、私たちは次のことを行うことができます
実際のファイルだけでなくファイル名も暗号化するように rsynccrypto に依頼します。 Rsyncrypto はそうではありません
実際にファイル名を暗号化します。 代わりに、実際のファイル名をランダムな名前に置き換えます。
キャラクターのシリーズ。 実際のファイル名と文字化けした名前のマッピングは次のとおりです。
マッピングファイルに保存されます。
rsyncrypto --name-encrypt=map --trim=0 -r プレーン暗号キーbackup.crt
これにより、以前とまったく同じように、「プレーン」ディレクトリ構造が enc に暗号化されます。 とは異なり
以前は、すべてのファイルは「enc」ディレクトリの直下にあり、
意味のない文字化け。 現在のディレクトリの下に「map」というファイルが作成されます。
ファイルの切妻名と実際の名前の間のマップが含まれています。 さらに、XNUMXつのファイル、
「enc/filemap」および「keys/filemap」という名前のファイルも作成されます。 これらは暗号化されており、
上記の「マップ」ファイルに対応するキーファイル。 復号化中に「map」が実行した場合
存在しない場合は、「enc/filemap」を復号化して作成されます。
重要 注意事項: ファイル名の暗号化を実行する場合、ファイル名を暗号化することが非常に重要です。
暗号化中と復号化中の両方で、正しい --trim 値を使用してください。 そうしないと、
rsynccrypto が存在しないファイル名を検索し、検索するファイルを見つけることができない原因となります。
復号化します。
onworks.net サービスを使用してオンラインで rsynccrypto を使用する