ハードドライブの暗号化を検討してください。解決策は、パスワードにdm-cryptとLUKSを使用するようです。読み取りには、ディスクプールに取り付けられた複数の独立したハードドライブを使用します。この場合、パスワードを複数回入力する必要があります。
キーファイルでハードドライブを暗号化したり、USBドライブに保存したり、必要に応じて接続したりする方法はありますか?
ベストアンサー1
これを達成するための最良の方法の1つは、暗号化ブロックデバイスのキーをロック解除する暗号化キーを持つスマートカードを使用することです。パスワード(ツールではこれを「PIN」と呼びますが、実際にはパスワードです)を一度だけ入力すると、後でキャッシュされます。これは、あなたが持っているもの(秘密鍵を抽出できないスマートカード自体)と知っているもの(パスワード)を使用して暗号化されたデータを保護することができるという利点を提供します。
/etc/crypttab
次のようにフォーマットします。
mapper-name /dev/disk/raw-device /var/lib/filename-containing-encrypted-key \
luks,keyscript=/lib/cryptsetup/scripts/decrypt_opensc
Debianとその派生製品では、initramfs-toolsはキースクリプトをチェックし、スマートカードにアクセスするために必要なすべてのツールとデーモンをinitramfsに自動的にコピーします。
スマートカードの設定と鍵の生成(および暗号化)に関する情報は、で確認できます/usr/share/doc/cryptsetup/README.opensc.gz
。
あなたはそれを使用することができますユビック4またはユビックネオ何よりも、この目的のために。
実装ノート:この機能はエッジが粗く、デフォルトでは機能しないため、YMMVです。前回正常に実装したときは、次のトリックを追加する必要がありました。
systemd
暗号化されたデバイスを設定するプロセス全体を致命的に引き継ぎようとしましたが、/etc/crypttab
重大なエラーの原因が何であるかがわからないため、無効になりました。keyscript
幸いなことに、Debianではまだオプトアウトできますsystemd
。/etc/initramfs-tools/hooks/yubipin
組み込み機能がinitramfsでYubikeyを使用できるようにするのに十分な機能がないため、この修正の親スクリプトがインストールされます。これを調整する必要があるかもしれません。#!/bin/sh PREREQ=cryptroot prereqs() { echo "$PREREQ" } case $1 in prereqs) prereqs exit 0 ;; esac # /scripts/local-top/cryptopensc calls pcscd with the wrong path ln -s ../usr/sbin/pcscd ${DESTDIR}/sbin/pcscd mkdir -p "${DESTDIR}/usr/lib/x86_64-linux-gnu" # opensc-tool wants this dynamically, copy_exec doesn't know that cp -pL /usr/lib/x86_64-linux-gnu/libpcsclite.so.1 "${DESTDIR}/usr/lib/x86_64-linux-gnu/libpcsclite.so.1" mkdir -p "${DESTDIR}/lib/x86_64-linux-gnu" # without this, pcscd aborts with a pthread_cancel error cp -pL /lib/x86_64-linux-gnu/libgcc_s.so.1 "${DESTDIR}/lib/x86_64-linux-gnu/libgcc_s.so.1" # this gets copied as a dangling symlink, fix it rm "${DESTDIR}/usr/lib/pcsc/drivers/ifd-ccid.bundle/Contents/Info.plist" cp -pL /usr/lib/pcsc/drivers/ifd-ccid.bundle/Contents/Info.plist "${DESTDIR}/usr/lib/pcsc/drivers/ifd-ccid.bundle/Contents/Info.plist" # pcscd needs this to open the reader once it has found it cp -pL /lib/x86_64-linux-gnu/libusb-1.0.so.0 "${DESTDIR}/lib/x86_64-linux-gnu/libusb-1.0.so.0"
クリーンアップする別のスクリプトをインストールしてください
/etc/initramfs-tools/scripts/local-bottom/killpcscd
。#!/bin/sh set -e PREREQ=cryptopensc prereqs() { echo "$PREREQ" } case $1 in prereqs) prereqs exit 0 ;; esac # because cryptopensc does not do it properly killall pcscd