EncFSは、ユーザースペースに暗号化されたファイルシステムを提供します。特別な権限なしで実行され、FUSEライブラリとLinuxカーネルモジュールを使用してファイルシステムインターフェイスを提供します。これはパススルーファイルシステムであり、暗号化されたブロックデバイスではありません。つまり、既存のファイルシステムの上に作成されます。このチュートリアルでは、DebianJessieでEncFSを使用してデータを暗号化する方法を示します。
1予備メモ
このチュートリアルでは、DebianJessieシステムでユーザー名を使用しています。
2EncFSのインストール
サーバーまたはデスクトップにrootユーザーとしてログインします。リモートサーバーを使用する場合は、たとえば、 SSHでログインします。 EncFSは、次のようにaptを使用してインストールできます(root権限が必要です):
apt-get -y install encfs
次の警告が表示されます:
Encfsのセキュリティ情報
Taylor Hornby(Defuse Security)によるセキュリティ監査によると、Encfsの現在の実装は、複数のタイプの攻撃に対して脆弱であるか、潜在的に脆弱です。たとえば、暗号化されたデータへの読み取り/書き込みアクセス権を持つ攻撃者は、正当なユーザーに気付かれることなく、後続の暗号化データの復号化の複雑さを軽減したり、タイミング分析を使用して情報を推測したりする可能性があります。
問題が解決された場合、そのような攻撃が発生する可能性があるシナリオでは、暗号化は機密データの安全なホームと見なされるべきではありません。
encfsは、大規模な組織や政府のデータを暗号化するソリューションではない場合や、サードパーティが上記の方法でデータに書き込みアクセスできるサーバーで使用するためのソリューションではない場合がありますが、それでも、個人で使用するのに十分な安全性が必要です。デスクトップ。 encfsを使用する場合は、これを考慮に入れてください。
EncFSのマニュアルページを見て、そのオプションを今すぐ理解することをお勧めします:
man encfs
3EncFSの使用
次に、ホームディレクトリに暗号化および復号化されたディレクトリを作成します。
mkdir -p〜/暗号化
mkdir -p〜/復号化
復号化されたディレクトリは、暗号化されたディレクトリのマウントポイントとして機能します。 〜/暗号化を〜/復号化にマウントするには、次のコマンドを実行します:
encfs〜/暗号化〜/復号化
このコマンドを初めて実行する場合は、EncFSセットアップが開始され、暗号化されたボリュームのパスワードを定義する必要があります。
[メール保護]:〜$ encfs〜/ encode〜/destroyd
新しい暗号化ボリュームの作成。
次のいずれかのオプションから選択してください。
エキスパート設定の場合は「x」を入力してくださいモード、
事前設定されたパラノイアモードの場合は「p」と入力します。
それ以外の場合は、空の行で標準モードを選択します。
?> <-p
パラノイア構成が選択されました。
構成が完了しました。作成されるファイルシステムには、
次のプロパティがあります。
ファイルシステム暗号: "ssl / aes"、バージョン3:0:2
ファイル名エンコーディング: "nameio / block"、バージョン3:0 :1
キーサイズ: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、relatime、size =10240k、nr_inodes =125548、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、relatime、size =204216k、mode =755)
/ dev / sda1 on / type ext4 (rw、relatime、errors =remount-ro、data =ordered、jqfmt =vfsv0、usrjquota =aquota.user、grpjquota =aquota.group)
/ 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)
tmpfs on / sys / fs / cgroup type tmpfs(ro、nosuid、nodev、noexec、mode =755)
cgroup on / sys / fs / cgroup / systemd type cgroup(rw、nosuid、 nodev、noexec、relatime、xattr、release_agent =/ lib / systemd / systemd-cgroups-agent、name =systemd)
pstore on / sys / fs / pstore type pstore(rw、nosuid、nodev、noexec、relatime)
cgroup on / sys / fs / cgroup / cpuset type cgroup(rw、nosuid、nodev、noexec、relatime、cpuset)
cgroup on / sys / fs / cgroup / cpu、cpuacct type cgroup(rw、nosuid、nodev、noexec、relatime、cpu、cpuacct)
cgroup on / sys / fs / cgroup / devices type cgroup(rw 、nosuid、nodev、noexec、relatime、devices)
cgroup on / sys / fs / cgroup / freezer type cgroup(rw、nosuid、nodev、noexec、relatime、freezer)
cgroup on / sys / fs / cgroup / net_cls、net_prio type cgroup(rw、nosuid、nodev、noexec、relatime、net_cls、net_prio)
cgroup on / sys / fs / cgroup / blkio type cgroup(rw、nosuid、nodev、noexec、relatime、 blkio)
cgroup on / sys / fs / cgroup / perf_event type cgroup(rw、nosuid、nodev、noexec、relatime、perf_event)
systemd-1 on / proc / sys / fs / binfmt_misc type autofs( rw、relatime、fd =23、pgrp =1、timeout =300、minproto =5、maxproto =5、direct)
mqueue on / dev / mqueue type mqueue(rw、relatime)
debugfs on / sys / kernel / debug type debugfs(rw、relatime)
fusectl on / sys / fs / fuse /接続タイプfusectl(rw、relatime)
hugetlbfs on / dev / hugepagesタイプhugetlbfs(rw、relatime)
rpc_pipefs on / run / rpc_pipefsタイプrpc_pipefs(rw、relatime)
encfs on / home / till /復号化されたタイプfuse.encfs(rw、nosuid、nodev、relatime、user_id =5004、group_id =5005、default_permissions)
および
df -h
[メール保護]:〜$ df -h
使用されるファイルシステムのサイズ使用率使用率
/ dev / sda1 57G 2.2G 52G 5%/
udev 10M 0 10M 0% / dev
tmpfs 200M 4.7M 195M 3%/ run
tmpfs 499M 0 499M 0%/ dev / shm
tmpfs 5.0M 0 5.0M 0%/ run / lock
tmpfs 499M 0 499M 0%/ sys / fs / cgroup
encfs 57G 2.2G 52G 5%/ home / till / decode
データを暗号化された形式で保存するには、通常のディレクトリの場合と同じように、データを復号化されたディレクトリに配置します。
cd〜/ decoded
echo "hello foo"> foo
echo "hello bar"> bar
ln -s foo foo2
ディレクトリの内容を確認すると、暗号化されていない形式で表示されていることがわかります...
ls -l </ pre>[メール保護]:〜/ decoded $ ls-l
合計8
-rw-r--r--1月14日10:38まで
-rw -r--r--1月14日10時まで10:38foo
lrwxrwxrwx1月14日3日まで10:38foo2->foo
[メール保護]:〜/復号化$...暗号化されたディレクトリにある間は暗号化されます:
cd〜/ cryptod
ls -l </ pre>[メール保護]:〜/ cryptod $ ls -l <br /> total 8
lrwxrwxrwx 1 until 24 Jan 14 10:38 ewoacflDuTvKLjSZxXsipVZh-> nwekRkg2xWwmUW-P3YgCFNzI
-r -r-- 1〜26 Jan 14 10:38 nwekRkg2xWwmUW-P3YgCFNzI
-rw-r--r-- 1〜26 Jan 14 10:38 r7sj2xc9OJEHk、nETdYAtMZu
[メール保護]: 〜/ cryptod $
4encfsボリュームのマウントとアンマウント
暗号化されたボリュームをアンマウントするには、次のコマンドを実行します:
cd
fusermount -u〜/ decodeの出力を確認してください...
マウント...そして...
df -h...そして、EncFSボリュームがリストされなくなったことがわかります。
再度マウントするには、
を実行しますencfs〜/暗号化〜/復号化以前に定義したパスワードの入力を求められます:
[メール保護]:〜$ encfs〜/暗号化〜/復号化
EncFSパスワード:<-yoursecretpassword
[メール保護]:〜$正しいパスワードを指定すると、暗号化されたデータに暗号化されていない形式でアクセスできる〜/encryptedディレクトリが〜/decryptedにマウントされます。パスワードを忘れると、暗号化されたデータが失われます!
5encfsパスワードを変更する
パスワードを変更したい場合は、
を使用して変更できます。encfsctl passwd〜/ encodeコマンド。
[電子メールで保護]:〜$ encfsctl passwd〜/ encode
現在のEncfsパスワードを入力してください
EncFSパスワード:<-yoursecretpassword
新しいEncfsパスワードを入力してください
新しいEncfsパスワード:<- newsecretpassword
Encfsパスワードの確認:<-newsecretpassword
ボリュームキーが正常に更新されました。
6つのリンク
- EncFS:http://www.arg0.net/encfs
- Debian:http://www.debian.org/