web-dev-qa-db-ja.com

ユーザーログイン時に暗号化されたドライブを安全に自動マウント

ログインすると、暗号化された/ homeディレクトリが自動的にマウントされます。ディスクユーティリティでフォーマットおよび暗号化した2つ目の内部ハードドライブがあります。暗号化された/ homeディレクトリと同じように、ログイン時に自動的にマウントされるようにします。どうすればいいですか?

ここには非常によく似た質問がいくつかありますが、答えは私の状況には当てはまりません。ここで私の質問を閉じて結合し、下の2番目の質問を編集するのが最善かもしれませんが、それは放棄された可能性があります(したがって、承認済みとしてマークされることはありません)。

このソリューション は安全な方法ではなく、暗号化を回避します。
これfstabの編集が必要です。これには、起動時に追加のパスワードを入力する必要があります。/homeをマウントするような自動ではありません。
この質問 は非常に似ていますが、暗号化されたドライブには適用されません。このソリューションは、私のニーズには機能しません。
これは1つです しかし、NTFSドライブ用で、私のものはext4です。

ソリューションでこれが必要な場合は、2番目のドライブを再フォーマットおよび再暗号化できます。他の場所にすべてのデータをバックアップしました。

18
Tom Brossman

上記のソリューションはもう必要ありません。

前提条件:

  • ubuntu 14.04 LTSインストール
  • 暗号化されたホームディレクトリ( https://help.ubuntu.com/community/EncryptedHome を参照)
  • ログイン時にセカンダリ暗号化ドライブを自動的にマウントしたい[編集].

注:この方法は、暗号化されたドライブを手動でマウントするよりも安全性が低くなります。誰かがあなたのコンピューターに物理的にアクセスしている場合、あなたはルートパスワードに不注意であるか、コンピューターに複数のユーザー/ゲストアカウントがあります、この方法は安全ではありません ;ログアウトしてもセカンダリドライブはマウントされたままですが、システムをシャットダウンしないため、その内容は他のユーザーに表示されます。

パート1:セカンダリドライブを暗号化します。

  1. Unityダッシュに「disks」と入力してEnterキーを押します。
  2. [デバイス]の下で、暗号化するハードドライブをクリックします。
  3. [ボリューム]の下にある[歯車/その他のアクション]ボタンをクリックします。
  4. 「ボリュームのフォーマット」をクリックします。タイプには、「暗号化され、Linuxシステムと互換性があります」を選択します。ドライブに名前を付けて、強力なパスフレーズを付けます。
  5. 「フォーマット」をクリックします

パート2:システム起動時にHDDを自動的にマウントします。

  1. 「ディスク」アプリケーションを開いたままにして、歯車をクリックします。
  2. [暗号化オプションの編集]をクリックします。
  3. 「自動暗号化オプション」がオンになり、下のメニューがグレー表示されます。自動暗号化オプションをオフにします。
  4. ディスクをフォーマットしたときのパスフレーズを入力します。 「OK」をクリックします。

これで、コンピューターの起動時に自動的にマウントされる暗号化されたハードドライブができました。

5
tryion

数年前にこの回答を書いたとき、これがソリューションを実装する最良の方法でした。 次の答え を見て、代わりにmount.ecryptfs_privateを使用することをお勧めします。

また、2番目のeCryptfsボリュームを自動的にマウントする方法を探していました。次の一連のスクリプトと設定変更により、ログイン時にボリュームがGUIまたはCLIに安全かつ自動的にマウントされます。

作成中のより良い解決策があります(ただし、このスクリプトの有効期間は限られているため、ユーザーログイン時に自動マウントする準備ができていないと思います)。

小さすぎるハードドライブのecryptfs-暗号化にリンクを追加する方法?

スクリプトのセキュリティは、eCryptfsで暗号化されているホームディレクトリに依存しているため、パスフレーズを展開するためのパスワードを持つスクリプトとファイルは暗号化されます。ログイン後にルートシェルでコンピューターをロック解除したままにしておくと、パスワードにアクセスできますが、Sudo NOPASSWDを使用すると、パスワードを入力したり、ユーザーが読み取れるファイルにパスフレーズを残したりせずにパーティションを安全にマウントできます。

これらのスクリプトの既知の欠点の1つは、ログアウト時に2番目のボリュームがアンマウントされないことです。そのため、マルチユーザーシステムには特に適していません。

私のソリューションは、実際のマウントを実行するシェルスクリプトと、ラッパーとして機能するシェルスクリプトの2つのシェルスクリプトで実装されています。

これは、ディレクトリが既にマウントされているかどうかを検証するラッパースクリプトです。マウントされていない場合は、Sudoを使用してマウントスクリプトを呼び出します。

/ home/johnf/scripts/automount_ecryptfs

#!/bin/bash

MOUNT_POINT=/home/johnf/slow

grep -q $MOUNT_POINT /proc/mounts
if [ $? -eq 1 ]; then
  Sudo /home/johnf/scripts/mount_other_ecryptfs
fi

このスクリプトは、次の/ home/johnf/scripts/mount_other_ecryptfsを呼び出します。

このスクリプトでは、ファイル名の暗号化が有効になっていることを前提としていることに注意してください。必要がない場合は、スクリプトを変更して検出を処理する(ecryptfs-recover-privateを参照)か、ecryptfs_fnek_sigマウントオプションを削除する必要があります。

以下は/ home/johnf/scripts/mount_other_ecryptfsスクリプトです。

#!/bin/bash

ENCRYPTED_VOLUME=/vol0/.ecryptfs/johnf/.Private/
MOUNT_POINT=/home/johnf/slow
PASSFILE=/home/johnf/scripts/ecryptfs_passphrase
MOUNT_PASSWORD=secret_passphrase
ECRYPTFS_SIG=`head -1 ${ENCRYPTED_VOLUME}//../.ecryptfs/Private.sig`
ECRYPTFS_FNEK_SIG=`tail -1 ${ENCRYPTED_VOLUME}//../.ecryptfs/Private.sig`

printf "%s" $MOUNT_PASSWORD | ecryptfs-insert-wrapped-passphrase-into-keyring ${ENCRYPTED_VOLUME}/../.ecryptfs/wrapped-passphrase
mount -t ecryptfs -o key=passphrase:passfile=${PASSFILE},ecryptfs_sig=${ECRYPTFS_SIG},ecryptfs_fnek_sig=${ECRYPTFS_FNEK_SIG},ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecryptfs_passthrough=n ${ENCRYPTED_VOLUME} ${MOUNT_POINT}

また、パスワードを含むファイルを作成する必要があります。このファイルは、eCryptfsマウントコマンドで使用されます。

/ home/johnf/scripts/ecryptfs_passphrase:

passwd=secret_passphrase

いくつかのファイルのアクセス許可を変更する必要があります。

chmod +x /home/johnf/scripts/automount_ecryptfs
Sudo chown root:root /home/johnf/scripts/mount_other_ecryptfs /home/johnf/scripts/ecryptfs_passphrase
Sudo chmod a=x /home/johnf/scripts/mount_other_ecryptfs
Sudo chmod 400 /home/johnf/scripts/ecryptfs_passphrase

スクリプトを作成する前に、sudoパスワードを入力せずに、sudoを使用してマウントスクリプトの実行を許可するsudoers構成を作成する必要があります。

以下を/ etc/sudoers(または/etc/sudoers.dのファイル)に追加します。 johnfをユーザー名に置き換えます。マウントスクリプトへの絶対パスを使用する必要があります。

johnf   ALL = NOPASSWD: /home/johnf/scripts/mount_other_ecryptfs

最後のステップは、ログイン時にautomount_ecryptfsスクリプトを呼び出すことです。

Ubuntu Unity(およびおそらくgnome)では、スタートアップアプリケーションアプレットを使用して、/ home/johnf/scripts/automount_ecryptfsを呼び出す新しいスタートアッププログラムを作成します。

ログイン時に2番目のeCryptfsボリュームをbashシェルに自動的にマウントするには、〜/ .bashrcファイルを変更します。以下を追加します。

/home/johnf/scripts/automount_ecryptfs

この設定が完了したら、2番目のeCryptfsボリュームを自動的にマウントする必要があります。

10
johnf

@johnfの答えに基づいて構築しますが、代わりに mount.ecryptfs_private を使用します:

  • 暗号化された/home/bob/(SSDなど)、Ubuntuの通常の暗号化されたホームディレクトリマジックを使用します。
  • 暗号化された/media/hdd/bob_extra/(HDDなど)、/home/bob/extraにマウントされます。これは、ホームディレクトリと同様に、ログイン時に自動マウントされるはずです。
  • 両方に同じキー/資格情報を使用します。

作成する

mkdir /media/hdd/bob_extra
cp /home/bob/.ecryptfs/Private.sig /home/bob/.ecryptfs/extra.sig
echo "/media/hdd/bob_extra /home/bob/extra ecryptfs none 0 0" > /home/bob/.ecryptfs/extra.conf

試して

mount.ecryptfs_private extra

mountを実行すると、以下が表示されます。

...
/media/hdd/bob_extra on /home/bob/extra type ecryptfs (ecryptfs_check_dev_ruid,ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecryptfs_unlink_sigs,ecryptfs_sig=12345678abcdef,ecryptfs_fnek_sig=abcdef12345678)

アンマウントする:

Sudo umount /media/hdd/bob_extra

自動マウントのセットアップ

/home/bob/bin/automount_ecryptfs.extraを作成します。まだマウントされていない場合はマウントします。

#!/bin/bash

MOUNT_POINT=/home/bob/extra

grep -q $MOUNT_POINT /proc/mounts
if [ $? -eq 1 ]; then
  mount.ecryptfs_private extra
fi

実行可能(chmod +x)にしてから、/home/bob/.bashrcに追加します。

...
/home/bob/bin/automount_ecryptfs.extra

次に、それをGnomeのスタートアップアプリケーションにも追加します。

9
rcoup

暗号化されたホームディレクトリにスクリプトを作成します:~/scripts/mount_storage.sh

#!/bin/bash

Sudo cryptsetup open --type luks UUID=12e26119-0ee2-4eb4-bd40-d8a3547ecf0c storage --key-file ~/keys/storage_keyfile
Sudo mount /dev/mapper/storage /storage

「スタートアップアプリケーション」に追加します。

sh ~/scripts/mount_storage.sh

/etc/sudoersに追加:

%Sudo   ALL= NOPASSWD: /sbin/cryptsetup open --type luks UUID=12e26119-0ee2-4eb4-bd40-d8a3547ecf0c storage --key-file *
%Sudo   ALL= NOPASSWD: /bin/mount /dev/mapper/storage /storage

/storageマウントポイントを作成し、上記のスクリプトでUUIDを変更する必要があります(blkidで検索します)。

1
Raul Laasner

次の手順で安全に行う必要があります。パスフレーズを要求すると、ボリュームがマウントされていても、他のユーザーがボリュームにアクセスできなくなります。

1.ディスクを開き、ドライブを選択してLUKSボリュームをクリックします。歯車をクリックして、「ユーザーセッションのデフォルト」の選択を解除します。 「システム起動時にロック解除」と「ロック解除するには追加の認証が必要」を選択します: enter image description here

2.ディスクボリューム(LUKSボリュームの下)をクリックします。歯車をクリックして、「ユーザーセッションのデフォルト」の選択を解除します。 「システム起動時にマウント」と「ユーザーインターフェイスに表示」を選択します。 enter image description here

ボリュームをマウントするために追加の認証を要求することもできますが、その場合、問題のユーザーのマウントは自動化されません。

0
ElToro1966

これが一般的な答えになるとは思わない...

暗号化自体のセキュリティを回避せずに、暗号化されたパーティションを自動的にマウントすることはできません。

automatically」が何を意味するかを考え、automaticallyがあなたのデータも見るようになることを理解してください。

0
Dustin Kirkland