Appendix eCryptfsによるディレクトリの暗号化
環境
RockyLinux 9
ecryptfs-utils-111 @ELRpoリポジトリ
やること
"/root/ecryptfs-dir" を暗号化する
パスフレーズは "eCryptfspassword" とする
手順
1. ディレクトリを作成する
[root@lpic303-rocky34 ~]#
[root@lpic303-rocky34 ~]# mkdir ecryptfs-dir
[root@lpic303-rocky34 ~]#
[root@lpic303-rocky34 ~]# ls -lF
合計 52
:
drwxr-xr-x. 2 root root 6 2月 5 21:13 ecryptfs-dir/
:
[root@lpic303-rocky34 ~]#
2. マウントする
mount -t ecryptfs <dirname> <dirname>
以下の例では暗号化は AES で、鍵の長さを 16Byte とデフォルト値を採用しています。
[root@lpic303-rocky34 ~]#
[root@lpic303-rocky34 ~]# mount -t ecryptfs ecryptfs-dir ecryptfs-dir
Select key type to use for newly created files:
1) passphrase
2) pkcs11-helper
3) tspi
Selection: 1
Passphrase: <---★"eCryptfspassword" を入力
Select cipher:
1) aes: blocksize = 16; min keysize = 16; max keysize = 32
2) blowfish: blocksize = 8; 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
Selection [aes]:
Select key bytes:
1) 16
2) 32
3) 24
Selection [16]:
Enable plaintext passthrough (y/n) [n]:
Enable filename encryption (y/n) [n]: y
Filename Encryption Key (FNEK) Signature [afdd919416f6e233]:
Attempting to mount with the following options:
ecryptfs_unlink_sigs
ecryptfs_fnek_sig=afdd919416f6e233
ecryptfs_key_bytes=16
ecryptfs_cipher=aes
ecryptfs_sig=afdd919416f6e233
WARNING: Based on the contents of [/root/.ecryptfs/sig-cache.txt],
it looks like you have never mounted with this key
before. This could mean that you have typed your
passphrase wrong.
Would you like to proceed with the mount (yes/no)? : yes
Would you like to append sig [afdd919416f6e233] to
[/root/.ecryptfs/sig-cache.txt]
in order to avoid this warning in the future (yes/no)? : yes
Successfully appended new sig to user sig cache file
Mounted eCryptfs
[root@lpic303-rocky34 ~]#
[root@lpic303-rocky34 ~]# cat /root/.ecryptfs/sig-cache.txt
afdd919416f6e233
[root@lpic303-rocky34 ~]#
★マウントされていることを確認する★
[root@lpic303-rocky34 ~]#
[root@lpic303-rocky34 ~]# df -h
ファイルシス サイズ 使用 残り 使用% マウント位置
devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs 882M 0 882M 0% /dev/shm
tmpfs 353M 5.7M 348M 2% /run
/dev/mapper/rl-root 46G 2.3G 43G 5% /
/dev/sda1 1014M 388M 627M 39% /boot
tmpfs 177M 0 177M 0% /run/user/1000
/root/ecryptfs-dir 46G 2.3G 43G 5% /root/ecryptfs-dir
[root@lpic303-rocky34 ~]#
[root@lpic303-rocky34 ~]# mount | grep ecryptfs
/root/ecryptfs-dir on /root/ecryptfs-dir type ecryptfs (rw,relatime,ecryptfs_fnek_sig=afdd919416f6e233,ecryptfs_sig=afdd919416f6e233,ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecryptfs_unlink_sigs)
[root@lpic303-rocky34 ~]#
3. ファイルを作成する
[root@lpic303-rocky34 ~]#
[root@lpic303-rocky34 ~]# echo "secret data" > ecryptfs-dir/encrypted.txt
[root@lpic303-rocky34 ~]#
[root@lpic303-rocky34 ~]# ls -l ecryptfs-dir/
合計 12
-rw-r--r--. 1 root root 12 2月 5 21:17 encrypted.txt
[root@lpic303-rocky34 ~]#
[root@lpic303-rocky34 ~]# cat ecryptfs-dir/encrypted.txt
secret data
[root@lpic303-rocky34 ~]#
4. マウントを解除する
マウントを解除するとファイル名が隠蔽され、中身も暗号化されて閲覧できなくなる。
[root@lpic303-rocky34 ~]#
[root@lpic303-rocky34 ~]# umount /root/ecryptfs-dir
[root@lpic303-rocky34 ~]#
[root@lpic303-rocky34 ~]# ls -l /root/ecryptfs-dir/
合計 12
-rw-r--r--. 1 root root 12288 2月 5 21:17 ECRYPTFS_FNEK_ENCRYPTED.FWajrN4I3jPWAkQLJWVIK2vUlvCCA.xGP0OoZskmyO2nOI0Iu8nESi6T0k--
[root@lpic303-rocky34 ~]#
[root@lpic303-rocky34 ~]# cat /root/ecryptfs-dir/ECRYPTFS_FNEK_ENCRYPTED.FWajrN4I3jPWAkQLJWVIK2vUlvCCA.xGP0OoZskmyO2nOI0Iu8nESi6T0k--
\��>.�����UF��M��@��u�@3��
:
���,o�[�7_��2C�W��uᖭ^r��9���n��F�H�����E�Z��`"S�!�
:
[root@lpic303-rocky34 ~]#
5. 再度マウントする
暗号化が解除されてファイルが閲覧できる
[root@lpic303-rocky34 ~]#
[root@lpic303-rocky34 ~]# mount -t ecryptfs ecryptfs-dir ecryptfs-dir
Select key type to use for newly created files:
1) passphrase
2) pkcs11-helper
3) tspi
Selection:
Passphrase: <---★"eCryptfspassword" を入力
Select cipher:
1) aes: blocksize = 16; min keysize = 16; max keysize = 32
2) blowfish: blocksize = 8; 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
Selection [aes]: 1
Select key bytes:
1) 16
2) 32
3) 24
Selection [16]:
Enable plaintext passthrough (y/n) [n]:
Enable filename encryption (y/n) [n]: y
Filename Encryption Key (FNEK) Signature [afdd919416f6e233]:
Attempting to mount with the following options:
ecryptfs_unlink_sigs
ecryptfs_fnek_sig=afdd919416f6e233
ecryptfs_key_bytes=16
ecryptfs_cipher=aes
ecryptfs_sig=afdd919416f6e233
Mounted eCryptfs
[root@lpic303-rocky34 ~]#
[root@lpic303-rocky34 ~]# df -h
ファイルシス サイズ 使用 残り 使用% マウント位置
devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs 882M 0 882M 0% /dev/shm
tmpfs 353M 5.7M 348M 2% /run
/dev/mapper/rl-root 46G 2.3G 43G 5% /
/dev/sda1 1014M 388M 627M 39% /boot
tmpfs 177M 0 177M 0% /run/user/1000
/root/ecryptfs-dir 46G 2.3G 43G 5% /root/ecryptfs-dir
[root@lpic303-rocky34 ~]#
[root@lpic303-rocky34 ~]# ls -l /root/ecryptfs-dir/
合計 12
-rw-r--r--. 1 root root 12 2月 5 21:17 encrypted.txt
[root@lpic303-rocky34 ~]#
[root@lpic303-rocky34 ~]# cat /root/ecryptfs-dir/encrypted.txt
secret data
[root@lpic303-rocky34 ~]#
[root@lpic303-rocky34 ~]#
参考
この記事が気に入ったらサポートをしてみませんか?