geli
geliでファイルシステムを暗号化する
synopsis
$ man geli(8)
$ w3m /usr/share/doc/en/books/handbook/disks-encrypting.html
$ geli init -K key foo
$ geli attach -k key foo
$ mount foo.eli mount-point
まずgeom(4)のカーネルモジュールをロードする。キーを生成する。詳細はgeli(8)を参照。
$ dd if=/dev/random of=priv.key bs=64 count=1
によるデバイスを使う。本番のときは、「md0」を「ad0s1f」などに置き換えればいい。
$ dd if=/dev/zero of=priv.md bs=1m count=50
$ sudo mdconfig -a -t vnode -f priv.md
$ sudo mdconfig -l
crw-r----- 1 root operator 0, 102 Jul 8 07:55 /dev/md0
geliデバイスを初期化する。こう設定すると使うときにパスフレーズを聞いてくる。
$ sudo geli init -s 4096 -K priv.key /dev/md0
- Pオプションを付けるとパスフレーズ無しで使えるようになる:
$ sudo geli init -s 4096 -P -K priv.key /dev/md0
使う前にデバイスにアタッチする。
$ sudo geli attach -k priv.key /dev/md0
$ ls -l /dev/md0*
crw-r----- 1 root operator 0, 102 Jul 8 09:20 /dev/md0
crw-r----- 1 root operator 0, 103 Jul 8 07:55 /dev/md0.eli
まず、新規のファイルシステムを作る。
$ sudo newfs /dev/md0.eli
$ mkdir priv
$ sudo mount /dev/md0.eli priv
$ df | grep eli
/dev/md0.eli 50152 8 46132 0% /home/tengu/hello/geli/priv
$ geli list
geli list output
Geom name: md0.eli
EncryptionAlgorithm: AES-CBC
KeyLength: 128
Crypto: software
UsedKey: 0
Flags: NONE
Providers:
1. Name: md0.eli
Mediasize: 52424704 (50M)
Sectorsize: 4096
Mode: r1w1e1
Consumers:
1. Name: md0
Mediasize: 52428800 (50M)
Sectorsize: 512
Mode: r1w1e1
EncryptionAlgorithm: AES-CBC
KeyLength: 128
Crypto: software
UsedKey: 0
Flags: NONE
Providers:
1. Name: md0.eli
Mediasize: 52424704 (50M)
Sectorsize: 4096
Mode: r1w1e1
Consumers:
1. Name: md0
Mediasize: 52428800 (50M)
Sectorsize: 512
Mode: r1w1e1
$ geli status
Name Status Components
md0.eli N/A md0
後片付け
$ sudo umount priv
$ sudo geli detach md0.eli
$ sudo mdconfig -d -u 0 # assuming /dev/md0
「-p」オプションでパスフレーズを省く。
initは大文字、attachが小文字、なんで間違えないように。
$ sudo geli init -s 4096 -P -K priv.key /dev/md0
$ sudo geli attach -p -k priv.key /dev/md0
パスフレーズを使わないで、システム上のキーだけに頼った暗号化パーティションって
マシンに物理的なアクセスを得た者には読まれてしまう。やはり、パスフレーズを使うべきなんだろうか。
キーをUSBドライブなどのリムーバブルメディアに入れておけばそれだけでも大丈夫なんだろうな。
ここら辺をもっと勉強しなくては。
まとめ
FreeBSDだとgeliで簡単に暗号化パーティションが作れる。あと、geom(4)は凄い機構だ。
これだと、ディスク管理機能がモジュール化されていて、自由に組み合わせることができるようでだ。
使い込なせるようになりたいシステムだ。
リファレンス
todo
happy geli'ng..