Rclone cryptによるクラウドストレージ暗号化

投稿者:sirius

Rclone cryptによるクラウドストレージ暗号化

 Rcloneには、クラウドストレージを暗号化出来る機能があります。この機能を使うと、Rcloneでファイルをアップロードする際にファイルが暗号化され、読み込み時に復号されます。クラウドストレージ上には暗号化されたファイルが格納され、Rcloneを介さずにアクセスした場合読み込むことができなくなりますので、安全にファイルを保存できます。

 設定時の手順を残しておきます。

 事前準備

 暗号化をするには、設定元となるクラウドストレージが必要となりますので、あらかじめ設定しておきます。

 設定手順

 ここから設定手順となります。

 新規リモート設定の作成

 通常のクラウドストレージを登録する手順で作成していきます。

/* Rclone設定画面の起動 */
# rclone config
Current remotes:

Name                 Type
====                 ====
Gdrive               drive

e) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config

/* n 応答し新規作成画面に進みます */
e/n/d/r/c/s/q> n

 名前の指定

 特に決まりはないのでわかりやすい名前でよいですが、元の設定との関連がわかるようにするのが良いかと思います。ここでは元の名前が”Gdrive”なので”Gdrive_crypt”としました。

name > Gdrive_crypt

 ストレージタイプの指定

 サービスを指定する部分で、”10 / Encrypt/Decrypt a remote”を指定すると暗号化ストレージの設定に進みます。10 もしくは crypt と入力して進みます。

Type of storage to configure.
Enter a string value. Press Enter for the default ("").
Choose a number from below, or type in your own value
 1 / 1Fichier
   \ "fichier"
 2 / Alias for an existing remote
   \ "alias"
 3 / Amazon Drive
   \ "amazon cloud drive"

~中略~

10 / Encrypt/Decrypt a remote
   \ "crypt"

~中略~

Storage> crypt

 パスの設定

 ここで暗号化するクラウドストレージの紐づけを行います。もともと設定してあるストレージが”Gdrive”という名前ですので、どこのディレクトリから暗号化するかによって以下の通り指定します。

1.ルートフォルダから暗号化する場合

 Gdrive: を指定

2.ルートフォルダ配下の特定のフォルダを暗号化する場合

 Gdrive:/folder_name を指定 *folder_name は任意のフォルダ名に置き換え

 今回は、Gdriveのルート配下にcrypt_folderという名前のフォルダを作成し、これを暗号化します。

** See help for crypt backend at: https://rclone.org/crypt/ **

Remote to encrypt/decrypt.
Normally should contain a ':' and a path, eg "myremote:path/to/dir",
"myremote:bucket" or maybe "myremote:" (not recommended).
Enter a string value. Press Enter for the default ("").
remote> Gdrive:/crypt_folder

 ファイル名の暗号化

 ファイル名を暗号化するか聞かれるので、standardと入力します。

How to encrypt the filenames.
Enter a string value. Press Enter for the default ("standard").
Choose a number from below, or type in your own value
 1 / Encrypt the filenames see the docs for the details.
   \ "standard"
 2 / Very simple filename obfuscation.
   \ "obfuscate"
 3 / Don't encrypt the file names.  Adds a ".bin" extension only.
   \ "off"
filename_encryption> standard

 ディレクトリ名の暗号化

 続けてディレクトリ名を暗号化するか聞かれるので、trueと入力します。

Option to either encrypt directory names or leave them intact.

NB If filename_encryption is "off" then this option will do nothing.
Enter a boolean value (true or false). Press Enter for the default ("true").
Choose a number from below, or type in your own value
 1 / Encrypt directory names.
   \ "true"
 2 / Don't encrypt directory names, leave them intact.
   \ "false"
directory_name_encryption> true

 パスワードの種類

 暗号化する際のパスワードを任意のものにするか、暗号化されたランダムなパスワードにするか聞かれます。暗号化されたパスワードのほうがセキュアなので、gと入力します。

Password or pass phrase for encryption.
y) Yes type in my own password
g) Generate random password
y/g> g

 パスワードの強度

 パスワードの暗号強度を求められますので、128と入力します。(128bitの暗号強度)

Password strength in bits.
64 is just about memorable
128 is secure
1024 is the maximum
Bits> 128

 パスワードの生成と確認

 パスワードが生成され確認を求められるので、問題なければyを入力します。xxxxx…の部分には実際のパスワードが表示されていますので、取り扱いには注意します。

Your password is: xxxxxxxxxxxxxxxxxxxxxx
Use this password? Please note that an obscured version of this
password (and not the password itself) will be stored under your
configuration file, so keep this generated password in a safe place.
y) Yes (default)
n) No
y/n> y

 ソルトの生成

 続けてソルト1の生成になります。こちらも暗号化されたランダムなソルトを生成するためgと入力します。

  1. パスワードなどをハッシュ値へと変換する際に、パスワードに付与するランダムの文字列 ↩︎
Password or pass phrase for salt. Optional but recommended.
Should be different to the previous password.
y) Yes type in my own password
g) Generate random password
n) No leave this optional password blank (default)
y/g/n> g

 ソルトの強度

 パスワードと同様に128bitとしますので、128と入力します。

Password strength in bits.
64 is just about memorable
128 is secure
1024 is the maximum
Bits> 128

 ソルトの確認

 確認後問題なければyと入力します。

Your password is: xxxxxxxxxxxxxxxxxxx
Use this password? Please note that an obscured version of this
password (and not the password itself) will be stored under your
configuration file, so keep this generated password in a safe place.
y) Yes (default)
n) No
y/n> y

 Advanced config

 高度な設定は行わないので、nと入力します。

Edit advanced config? (y/n)
y) Yes
n) No (default)
y/n> n

 設定の終了

 これまで設定した内容が表示されるので、問題なければyと入力します。パスワードはここでは表示されず、*** ENCRYPTED ***と表示されます。

Remote config
--------------------
[Gdrive_crypt]
remote = Gdrive:/crypt_folder
filename_encryption = standard
directory_name_encryption = true
password = *** ENCRYPTED ***
password2 = *** ENCRYPTED ***
--------------------
y) Yes this is OK (default)
e) Edit this remote
d) Delete this remote
y/e/d> y

 設定確認

 rclone configメニューのトップに戻り、設定が追加されていれば完了となります。qを入力するとconfigメニューが閉じます。

Current remotes:

Name                 Type
====                 ====
Gdrive               drive
Gdrive_crypt         crypt

e) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
e/n/d/r/c/s/q> q

 以上で設定は完了です。

 動作確認

 ここからは暗号化が正しくされているか確認していきます。

 テストファイルのアップロード

 適当なファイルを作成し、Rclone経由でアップロードします。

/* テストファイル作成 */
# echo test > test.txt

/* Rcloneでアップロードする */
# rclone copy test.txt Gdrive_crypt:/

/* アップロード先フォルダの参照 */
# rclone ls Gdrive_crypt:/
        5 test.txt

 暗号化用に作成したGdrive配下のcrypt_folderというフォルダは、Gdrive_cryptのルートフォルダになっていますので、ディレクトリ構造の違いに注意します。

Gdrive				Gdrive: のルートフォルダ
└ crypt_folder		Gdrive_crypt:のルートフォルダ

 暗号化の確認

 Gdrive:経由でcrypt_folderを参照すると、暗号化されていることが確認できます。

# rclone ls Gdrive:crypt_folder
       53 gm6vnlkp3psop519eojfqeorug

 このように、ランダムな文字列となり拡張子もないので、まったく何のファイルかわからなくなっています。

著者について

sirius administrator

コメントを残す