はじめに
- 端末を再起動するとLUKSでの暗号化・マウントが解除されてしまうので、端末の起動後、自動で暗号化→マウントする方法について書く。
- 環境は「CentOS7」で実施。
- LUKSによる暗号化については以下を参照。
⇒ cryptsetupコマンドを使用したディスクの暗号化
1.キーファイルの作成・登録
- これまではパスワードで認証を行っていたが、自動化のためにキーファイルで認証を行えるようにする。
keyfileの作成
dd bs=512 count=4 if=/dev/urandom of=/etc/mykeyfile
keyfileに600の権限を付与(所有者の読込・書込のみ)
chmod 600 /etc/mykeyfile
keyfileの登録
cryptsetup luksAddKey /dev/sde /etc/mykeyfile
Enter any existing passphrase: <- 既存のパスフレーズを入力
keyfileの登録を確認
cryptsetup luksDump /dev/sde
LUKS header information for /dev/sde
Version: 1
Cipher name: aes
Cipher mode: xts-plain64
Hash spec: sha256
Payload offset: ###
MK bits: 2##
MK digest: ##################
MK salt: ##################
##################
MK iterations: ##################
UUID: ##################
Key Slot 0: ENABLED
Iterations: ##################
Salt: ##################
##################
Key material offset: ##################
AF stripes: ##################
Key Slot 1: ENABLED
Iterations: ##################
Salt: ##################
##################
Key material offset: ##################
AF stripes: ##################
Key Slot 2: DISABLED
Key Slot 3: DISABLED
Key Slot 4: DISABLED
Key Slot 5: DISABLED
Key Slot 6: DISABLED
Key Slot 7: DISABLED
2.キーファイルによる暗号化の確認
- すでに暗号化・マウントされているなら、現在のマウント・暗号化デバイスの解除を行い、キーファイルによる暗号化、マウントまで完了できることを確認する。
# keyfileによる暗号化
cryptsetup luksOpen /dev/sde hogehoge --key-file /etc/mykeyfile
# マウント
mount /dev/mapper/hogehoge /mnt/hogehoge/
3.crypttabへの登録
- crpttabに設定を書くことで、OS起動時にLUKSへの接続を行い暗号化を行えるので、以下のように設定する。
vi /etc/crypttab
# 以下を追記
# {target name} {source device} {key file} luks, {options}
# timeout=5・・・パスワードを入力しないまま5秒放置したら無視して続行
hogehoge /dev/sde /etc/mykeyfile luks,timeout=5
4.rc.localへのデバイスのマウント処理追記(権限付与をすること)
- rc.localは起動プロセスの最後に実行されるシェルスクリプトであり、ここにマウント処理を記述し、起動の最後にマウントを行うようにする。
vi /etc/rc.local
# 以下を追記
# 今まで手動で行っていたmountのコマンド
mount /dev/mapper/hogehoge /mnt/hogehoge/
権限付与
chmod 755 /etc/rc.d/rc.local