GNU/Linux >> Linux の 問題 >  >> Debian

DebianSqueezeでeCryptfsを使用してディレクトリ/パーティションを暗号化する方法

eCryptfsは、Linux用のPOSIX準拠のエンタープライズクラスのスタック暗号化ファイルシステムです。これを使用して、基盤となるファイルシステムやパーティションタイプなどに関係なく、パーティションや独自のパーティションを使用しないディレクトリを暗号化できます。このチュートリアルでは、eCryptfsを使用してDebianSqueezeでディレクトリを暗号化する方法を示します。

>

これがあなたのために働くという保証はありません!

1予備メモ

このチュートリアルでは、/パーティションにあるホームディレクトリ/ home / falko /を暗号化します(つまり、/ home / falko /は通常のディレクトリであり、独自のパーティションを使用しません)。

2eCryptfsのインストール

eCryptfsは、次のように簡単にインストールできます。

 apt-get install ecryptfs-utils 

3ディレクトリの暗号化

ここで、ホームディレクトリ/ home /falko/を暗号化します。そのディレクトリにはすでに(暗号化されていない)ファイルがあるので、後で暗号化された/ home / falko /ディレクトリに復元できるように、それらのバックアップを作成する必要があります(そうしないと、ディレクトリが暗号化):

 cp -pfr / home / falko / / tmp / 

これで、ディレクトリ/ home / falko /をファイルシステムタイプecryptfsでマウントすることで暗号化できます:

 mount -t ecryptfs / home / falko / home / falko 

これを初めて行うときは、いくつかの質問に答える必要があります:

[メールで保護]:〜#mount -t ecryptfs / home / falko / home / falko
パスフレーズ:<-some_passphrase
暗号を選択:
1)aes:blocksize =16; min keysize =16; max keysize =32(ロードされていません)
2)blowfish:blocksize =16; min keysize =16; max keysize =56(ロードされていません)
3)des3_ede:blocksize =8; min keysize =24; max keysize =24(ロードされていない)
4)twofish:blocksize =16; min keysize =16; max keysize =32(ロードされていません)
5)cast6:blocksize =16; min keysize =16; max keysize =32(ロードされていない)
6)cast5:blocksize =8; min keysize =5; max keysize =16(ロードされていない)
選択[aes]:<-ENTER
キーバイトを選択:
1)16
2)32
3)24
選択[16]:<-ENTER
プレーンテキストパススルーを有効にする(y / n)[n]:<-ENTER
ファイル名の暗号化を有効にする(y / n)[n]:<-ENTER
次のオプションを使用してマウントを試みます:
ecryptfs_unlink_sigs
ecryptfs_key_bytes =16
ecryptfs_cipher =aes
ecryptfs_sig =bd28c38da9fc938 [/root/.ecryptfs/sig-cache.txt]のコンテンツ、
これまで、このキーを使用したことがないようです。
これは、パスフレーズを間違って入力したことを意味している可能性があります。

マウントを続行しますか(はい/いいえ)? :<-はい
将来的にこの警告を回避するために、
[/root/.ecryptfs/sig-cache.txt]
にsig[bd28c38da9fc938b]を追加しますか?はい・いいえ)? :<-はい
新しいsigがユーザーのsigキャッシュファイルに正常に追加されました
マウントされたeCryptfs
[メールで保護]:〜#

の出力を見てください
マウント

/ home /falko/が暗号化されていることがわかります。

 [email protected]:〜#mount 
/ dev / sda1 on / type ext3(rw、errors =remount-ro)
tmpfs on / lib / init / rw type tmpfs(rw、nosuid 、mode =0755)
proc on / proc type proc(rw、noexec、nosuid、nodev)
sysfs on / sys type sysfs(rw、noexec、nosuid、nodev)
udev on / dev type tmpfs(rw、mode =0755)
tmpfs on / dev / shm type tmpfs(rw、nosuid、nodev)
devpts on / dev / pts type devpts(rw、noexec、nosuid、gid =5、mode =620)
/ home / falko on / home / falko type ecryptfs(rw、ecryptfs_sig =bd28c38da9fc938b、ecryptfs_cipher =aes、ecryptfs_key_bytes =16、ecryptfs_unlink_sigs)
[email protected]:〜#

バックアップを暗号化されたディレクトリ/home/ falko /に復元し、後でバックアップを削除しましょう:

 cp -pfr / tmp / falko / / home / 
rm -fr / tmp / falko /

テストの目的で、他のファイルをコピーしてみましょう。 / etc / hosts、/ home / falko /に移動して、実際に暗号化されているかどうかを確認します:

 cp / etc / hosts / home / falko 

/ home / falko /はecryptfsファイルシステムタイプでマウントされていますが、/ home / falko / hostsの内容を読み取ることができるはずです:

 cat / home / falko / hosts 

/ home / falko / ...

のマウントを解除します
 umount / home / falko 

...そして/home/ falko / hostsをもう一度読んでみてください。そうすれば、謎めいたものを手に入れるはずです:

 cat / home / falko / hosts 
?æËÊÀû5)í}Ó`§wʽ.ÂçµÔyiIezz°Ñd¦R、`Ëi、0ñ*úÐ%^-']YÑj÷#6 ÷¨Y-]«é²ùô 

4起動時に暗号化されたパーティションを自動的にマウントする方法

もちろん、毎回/ home /falko/を手動でマウントする必要はありません。起動時に自動的にマウントできると便利です。これを行うには、パスフレーズファイルが必要です。セキュリティ上の理由から、このパスフレーズファイルをUSBキーに配​​置する必要があります。

USBキーを差し込んで実行します

 fdisk -l <​​/ pre> 

デバイス名とファイルシステムタイプを確認するには:

 [メール保護]:〜#fdisk -l <​​br />
ディスク/dev/ sda:32.2 GB、32212254720バイト
255ヘッド、63セクター/トラック、3916シリンダー
単位=16065のシリンダー*512=8225280バイト
セクターサイズ(論理/物理):512バイト/512バイト
I / Oサイズ(最小/最適):512バイト/512バイト
ディスク識別子:0x00035e35

デバイスのブート開始終了ブロックIDは、システム
は/ dev / sda1を* 1 3793 30461952 83 Linuxの
は/ dev / sda2は3793 3917 992257 5拡張
/ dev / sda5 3793 37939225682Linuxスワップ/Solaris

ディスク/dev/ sdb:8086 MB、8086617600バイト
255ヘッド、63セクター=16065のシリンダー*512=8225280バイト
セクターサイズ(論理/物理):512バイト/512バイト
I / Oサイズ(最小/最適):512バイト/512バイト
ディスク識別子:0x000e439f

デバイスブート開始終了ブロックブロックI dシステム
/dev / sdb1 1 983 7895916 b W95 FAT32
[メール保護]:〜#

私の場合、デバイス名は/ dev / sdb1で、FAT32ファイルシステムを使用しています。

USBキーを/mnt/ usbにマウントしましょう:

 mkdir / mnt / usb 
mount / dev / sdb1 / mnt / usb

の出力を見てください
マウント

...ファイルシステムタイプvfat(FAT32)でマウントされていることがわかります。後で/ etc/fstabファイルにこの情報が必要になります。

 [email protected]:〜#mount 
/ dev / sda1 on / type ext3(rw、errors =remount-ro)
tmpfs on / lib / init / rw type tmpfs(rw、nosuid 、mode =0755)
proc on / proc type proc(rw、noexec、nosuid、nodev)
sysfs on / sys type sysfs(rw、noexec、nosuid、nodev)
udev on / dev type tmpfs(rw、mode =0755)
tmpfs on / dev / shm type tmpfs(rw、nosuid、nodev)
devpts on / dev / pts type devpts(rw、noexec、nosuid、gid =5、mode =620)
/ dev / sdb1 on / mnt / usb type vfat(rw)
[email protected]:〜#

/root/.ecryptfs/sig-cache.txtの内容を見てみましょう:

 cat /root/.ecryptfs/sig-cache.txt 
 bd28c38da9fc938b 

次のように作成するファイル/root/.ecryptfsrcにこの署名が必要です。

 vi /root/.ecryptfsrc 

ecryptfs_sig行の/root/.ecryptfs/sig-cache.txtファイルの署名を使用していることを確認してください:

 key =passphrase:passphrase_passwd_file =/ mnt / usb / passwd_file.txtecryptfs_sig =bd28c38da9fc938becryptfs_cipher =aesecryptfs_key_bytes =16ecryptfs_passthrough =necryptfs_enable_filename 

次に、USBキーにパスフレーズファイルを作成します。

 vi /mnt/usb/passwd_file.txt 
 passphrase_passwd =some_passphrase 

正しいパスフレーズ、つまり、ディレクトリを手動でマウントした場合に使用するパスフレーズを使用していることを確認してください。

次に/etc/fstabを開きます...

 vi / etc / fstab 

...そして次の2行を追加します(USBキーに正しいファイルシステムタイプを使用していることを確認してください-私の場合はvfat):

 [...] / dev / sdb1 / mnt / usb vfat ro 0 0 / home / falko / home /falkoecryptfsデフォルト00

(暗号化されたパーティションをマウントする前にUSBキーをマウントする必要があるため、USBキーの行が暗号化されたパーティションの行の前に来ることが重要です!)

次に、システムを再起動します。

再起動

すべてがうまくいけば、再起動後に暗号化されたパーティションが自動的にマウントされます。ただし、システムが起動中にUSBキーをマウントできない可能性があります。つまり、暗号化されたパーティションもマウントできません。これが発生した場合は、/ etc / rc.localを編集します(このスクリプトはブートプロセスの最後に実行されます)...

 vi /etc/rc.local 

...そしてexit0行の前に行/bin/ mount -aを追加します:

#!/ bin / sh -e ## rc.local ##このスクリプトは、各マルチユーザーランレベルの最後に実行されます。スクリプトは成功すると「exit0」、エラーになると他の#値になります。##このスクリプトを有効または無効にするには、execution#ビットを変更するだけです。##デフォルトでは、このスクリプトは何もしません。/bin/mount -aexit 0 

これにより、起動プロセスの最後にすべてのパーティション(USBキーと暗号化されたパーティションを含む)が(再)マウントされます。

  • eCryptfs:https://launchpad.net/ecryptfs
  • Debian:http://www.debian.org/

Debian
  1. Debian 9StretchLinuxでEncFSを使用してディレクトリを暗号化する方法

  2. Debian10でUFWを使用してファイアウォールを設定する方法

  3. DebianSqueezeでmylvmbackupを使用してMySQLデータベースをバックアップする方法

  1. Debian9でUFWを使用してファイアウォールを設定する方法

  2. ApacheでAutomadCMSをインストールし、Debian10で暗号化する方法

  3. ElkArteフォーラムをApacheでインストールし、Debian10で暗号化する方法

  1. Nginxを使用してOpenCartをインストールし、Debian10で暗号化する方法

  2. Drupal 9をNginxでインストールし、Debian10でSSLを暗号化する方法

  3. ApacheでJoomlaをインストールし、Debian10でSSLを暗号化する方法