GNU/Linux >> Linux の 問題 >  >> Ubuntu

Ubuntu15.10でEncFSを使用してデータを暗号化します

EncFSは、ユーザースペースに暗号化されたファイルシステムを提供します。特別な権限なしで実行され、FUSEライブラリとLinuxカーネルモジュールを使用してファイルシステムインターフェースを提供します。これはパススルーファイルシステムであり、暗号化されたブロックデバイスではありません。つまり、既存のファイルシステムの上に作成されます。このチュートリアルでは、Ubuntu 15.10(Wiley Werewolf)でEncFSを使用してデータを暗号化する方法を示します。

1予備メモ

ユーザー名falkoを使用しています このチュートリアルのUbuntu15.10システムで。セキュリティ監査により、encfsの現在の実装にいくつかの問題が明らかになりました。以下のセキュリティ警告を参照して、encfsの使用方法がこれらの問題の影響を受けるかどうかを判断してください。 encfsの代わりに、別のチュートリアルで取り上げるecryptfs(https://launchpad.net/ecryptfs)があります。

Encfsセキュリティ情報

"Taylor Hornby(Defuse Security)によるセキュリティ監査によると、Encfsの現在の実装は、複数のタイプの攻撃に対して脆弱であるか、潜在的に脆弱です。たとえば、暗号化されたデータへの読み取り/書き込みアクセス権を持つ攻撃者は、復号化を低下させる可能性があります正当なユーザーが気付かないうちに暗号化されたデータが複雑になるか、タイミング分析を使用して情報を推測する可能性があります。これらの問題が解決されるまで、 encfs は、そのような攻撃が発生する可能性のあるシナリオでは、機密データの安全な場所と見なされるべきではありません。」

2EncFSのインストール

EncFSは次のようにインストールできます(root権限が必要なため、sudoを使用します):

 sudo apt-get install encfs 

ここで、EncFSのマニュアルページを見て、そのオプションをよく理解する必要があります。

 man encfs 

3EncFSの使用

次に、ホームディレクトリに暗号化および復号化されたディレクトリを作成します。

 mkdir -p〜/暗号化
mkdir -p〜/復号化

復号化されたディレクトリは、暗号化されたディレクトリのマウントポイントとして機能します。 〜/暗号化を〜/復号化にマウントするには、次のコマンドを実行します:

 encfs〜/暗号化〜/復号化

このコマンドを初めて実行する場合は、EncFSセットアップが開始され、暗号化されたボリュームのパスワードを定義する必要があります。

 [メール保護]:〜$ encfs〜/ encode〜/decoded
新しい暗号化ボリュームの作成。
次のいずれかのオプションから選択してください。
エキスパート設定の場合は「x」を入力してくださいモード、
事前設定されたパラノイアモードの場合は「p」と入力します。
それ以外の場合は、空の行で標準モードを選択します。
?> <-p
パラノイア構成が選択されました。
構成が完了しました。作成されるファイルシステムには、
次のプロパティがあります。
ファイルシステム暗号: "ssl / aes"、バージョン3:0:2
ファイル名エンコーディング: "nameio / block"、バージョン4:0 :2
キーサイズ:256ビット
ブロックサイズ:1024バイト(8バイトのMACヘッダーを含む)
各ファイルには、一意のIVデータを含む8バイトのヘッダーが含まれます。
IVチェーンを使用してエンコードされたファイル名モード。
ファイルデータIVはファイル名IVにチェーンされます。
ファイルホールは暗号テキストに渡されます。
--------------------------警告-------------------- ------
外部初期化-ベクトル連鎖オプションが
有効になりました。このオプションは、
ファイルシステムでのハードリンクの使用を無効にします。ハードリンクがないと、一部のプログラムが機能しない場合があります。
プログラム「mutt」および「procmail」は失敗することが知られています。
詳細については、encfsメーリングリストを参照してください。
別の構成設定を選択する場合は、
ここでCTRL-Cを押して、中止して最初からやり直してください。
次に、ファイルシステムのパスワードを入力する必要があります。
回復メカニズムがまったくないため、このパスワードを覚えておく必要があります。
ただし、パスワードは
後でencfsctlを使用して変更できます。
新しいEncfsパスワード:<-ここに安全なパスワードを入力してください
Encfsパスワードを確認してください:<-もう一度安全なパスワードを入力してください

パスワードを忘れた場合、暗号化されたデータを復元する方法がないため、パスワードを忘れないようにしてください。

これで、

の出力にEncFSボリュームが表示されます。
マウント
 [email protected]:〜$ mount 
sysfs on / sys type sysfs(rw、nosuid、nodev、noexec、relatime)
proc on / proc type proc(rw、nosuid、nodev、noexec 、relatime)
udev on / dev type devtmpfs(rw、nosuid、relatime、size =1006420k、nr_inodes =251605、mode =755)
devpts on / dev / pts type devpts(rw、nosuid、noexec 、relatime、gid =5、mode =620、ptmxmode =000)
tmpfs on / run type tmpfs(rw、nosuid、noexec、relatime、size =204480k、mode =755)
/ dev / mapper / server1--vg-root on / type ext4(rw、relatime、errors =remount-ro、data =ordered)
securityfs on / sys / kernel / security type securityfs(rw、nosuid、nodev、noexec、relatime )
tmpfs on / dev / shm type tmpfs(rw、nosuid、nodev)
tmpfs on / run / lock type tmpfs(rw、nosuid、nodev、noexec、relatime、size =5120k)
/ sys / fs / cgroupタイプのtmpfstmpfs(ro、nosuid、nodev、noexec、mode =755)
/ sys / fs / cgroup / systemdタイプのcgroupのcgroup(rw、nosuid、nodev、noexec、relatime 、xattr、release_agent =/ lib / systemd / systemd-cgroups-agent、name =systemd)
/ sys / fs/pstoreタイプのpstore pstore(rw、nosuid、nodev、noexec、relatime)
cgroup on / sys / fs / cgroup / net_cls、net_prio type cgroup(rw、nosuid、nodev、noexec、relatime、net_cls、net_prio)
cgroup / sys / fs / cgroup / devicesタイプcgroup(rw、nosuid、nodev、noexec、relatime、devices)
cgroup on / sys / fs / cgroup / cpuset type cgroup(rw、nosuid、nodev、noexec、relatime 、cpuset、clone_children)
cgroup on / sys / fs / cgroup / blkio type cgroup(rw、nosuid、nodev、noexec、relatime、blkio)
cgroup on / sys / fs / cgroup / cpu、cpuacctタイプcgroup(rw、nosuid、nodev、noexec、relatime、cpu、cpuacct)
cgroup on / sys / fs / cgroup / memoryタイプcgroup(rw、nosuid、nodev、noexec、relatime、memory)
cgroup on / sys / fs / cgroup / hugetlb type cgroup(rw、nosuid、nodev、noexec、relatime、hugetlb)
cgroup on / sys / fs / cgroup / perf_event type cgroup(rw、nosuid、nodev、noexec、 relatime、perf_event)
cgroup on / sys / fs / cgroup / freezer type cgroup(rw、nosuid、nodev、noexec、relatime、freezer)
systemd-1 on / proc / sys / fs / binfmt_misc type autofs(rw、relatime、fd =21、pgrp =1、timeout =0、 minproto =5、maxproto =5、direct)
mqueue on / dev / mqueue type mqueue(rw、relatime)
debugfs on / sys / kernel / debug type debugfs(rw、relatime)
/ dev /hugepagesのhugetlbfsタイプhugetlbfs(rw、relatime)
fusectlの/sys/ fs / fuse / connectionsタイプfusectl(rw、relatime)
/ dev / sda1の/bootタイプext2(rw、 relatime)
tmpfs on / run / user / 1000 type tmpfs(rw、nosuid、nodev、relatime、size =204480k、mode =700、uid =1000、gid =1000)
encfs on / home / falko /復号化されたタイプfuse.encfs(rw、nosuid、nodev、relatime、user_id =1001、group_id =1001)

および

 df -h 
 [電子メールで保護]:〜$ df -h 
使用されるファイルシステムのサイズ使用率使用率
udev 983M 0 983M 0%/ dev
tmpfs 200M 4.9M 195M 3%/ run
/ dev / dm-0 28G 1.7G 25G 7%/
tmpfs 999M 0 999M 0%/ dev / shm
tmpfs 5.0M 0 5.0M 0%/ run / lock
tmpfs 999M 0 999M 0%/ sys / fs / cgroup
/ dev / sda1 236M 51M 173M 23%/ boot
tmpfs 200M 0 200M 0%/ run / user / 1000
encfs 28G 1.7G 25G 7%/ home / falko / decode

データを暗号化された形式で保存するには、通常のディレクトリの場合と同じように、データを復号化されたディレクトリに配置します。

 cd〜/ decoded 
echo "hello foo"> foo
echo "hello bar"> bar
ln -s foo foo2

ディレクトリの内容を確認すると、暗号化されていない形式で表示されていることがわかります...

 ls -l <​​/ pre> 
 [email protected] top:〜/ decoded $ ls -l <​​br /> total 8 
-rw-rw-r-- 1 falko falko 10 Nov 10 14:57 bar
-rw -rw-r-- 1 falko falko 10 Nov 10 14:57 foo
lrwxrwxrwx 1 falko falko 3 Nov 10 14:57 foo2-> foo

...暗号化されたディレクトリにある間は暗号化されます:

 cd〜/ cryptod 
ls -l <​​/ pre>
 [メール保護]:〜/ cryptod $ ls -l <​​br /> total 8 
lrwxrwxrwx 1 falko falko 24 Nov 10 14:57 gIKlbEtIpTfiGOCy、wKFpMFd-> nZgFI3s62v5LtaHOu-V4lUSy
rw-r-- 1 falko falko 26 Nov 10 14:57 mEqwt、ssEJhGYpN8HfJMoVxk
-rw-rw-r-- 1 falko falko 26 Nov 10 14:57 nZgFI3s62v5LtaHOu-V4lUSy

暗号化されたボリュームをアンマウントするには、次のコマンドを実行します:

 cd 
fusermount -u〜/ decode

の出力を確認してください...

マウント

...そして...

 df -h 

...そして、EncFSボリュームがリストされなくなったことがわかります。

再度マウントするには、

を実行します
 encfs〜/暗号化〜/復号化

以前に定義したパスワードの入力を求められます:

[メール保護]:〜$ encfs〜/暗号化〜/復号化
EncFSパスワード:<-yoursecretpassword

正しいパスワードを指定すると、暗号化されたデータに暗号化されていない形式でアクセスできる〜/encryptedディレクトリが〜/decryptedにマウントされます。パスワードを忘れると、暗号化されたデータが失われます!

パスワードを変更したい場合は、

を使用して変更できます。
 encfsctl passwd〜/ encode 

コマンド。

[電子メールで保護]:〜$ encfsctl passwd〜/ encode
現在のEncfsパスワードを入力してください
EncFSパスワード:<-yoursecretpassword
新しいEncfsパスワードを入力してください
新しいEncfsパスワード:<- newsecretpassword
Encfsパスワードの確認:<-newsecretpassword
ボリュームキーが正常に更新されました。

  • EncFS:http://www.arg0.net/encfs
  • Ubuntu:http://www.ubuntu.com/

Ubuntu
  1. Ubuntu 20.04/18.04でLetsEncryptを使用してNginxを保護する方法

  2. UbuntuLinuxでqToxを使用してチャットを保護する

  3. Encfs – Ubuntu / Debian /LinuxMintでデータを暗号化してパスワードで保護する方法

  1. Ubuntu18.04でLetsEncryptを使用してNginxを保護する

  2. Ubuntu16.04でLetsEncryptを使用してNginxを保護する

  3. Ubuntu18.04でLetsEncryptを使用してApacheを保護する

  1. Ubuntu20.04でLetsEncryptを使用してNginxを保護する

  2. Ubuntu20.04でLetsEncryptを使用してApacheを保護する

  3. Ubuntu16.04LTSでTombを使用してファイルを暗号化する方法