カスタム検索

2014年10月03日

FreeBSD 10.0R で geliで暗号化 その4

いよいよ、終盤です
インストール用にブートパーティションと暗号化パーティションをマウントします。
  • 「/mnt」に暗号化パーティション「/dev/ada0p4」をマウントする
  • ディレクトリ「/mnt/boot2」を作成する
  • 「/mnt/boot2」にディレクトリ「boot」を作成する
  • 「/mnt」に移動する
  • シンボリックリンク「boot」に「boot2/boot」リンクする
  • 「/mnt/boot2」にブートパーティションをマウントする
  • ディレクトリ「boot」を「boot2」に作成する
  • 「fstab」を「/tmp/bsdinstall_etc/」に作成する(bsdinstallが/etcにコピーします)
  • ディレクトリ「boot2/boot/keys」を作成する
  • 「boot2/boot/keys」に暗号鍵ファイル「ada0.key」を移動します

# mount /dev/ada0p4 /mnt
# mkdir /mnt/boot2
# cd /mnt
# ln -s boot2/boot boot
# mount /dev/ada0p2 /mnt/boot2
# mkdir /mnt/boot2/boot
エディタ等で「fstab」を作成する
# mkdir boot2/boot/keys
# mv boot2/ada0.key boot2/boot/keys/
"/tmp/bsdinstall_etc/fstab"
/dev/ada0p2     /boot2  ufs     rw,noatime      1       1
/dev/ada0p4.eli /       ufs     rw,noatime      1       1
/dev/ada0p3.eli none    swap    sw              0       0
FreeBSD init encrypted volume
「exit」で抜けるとbsdinstallがインストールを継続します。
インストールが終了してネットワーク等の設定が終了したら、再起動する前にshellに入り、「/boot/loader.conf」を編集します。
  • geom eliモジュールを読み込む
  • ルートの場所を「/dev/ada0p4.eli」にする
  • 暗号鍵ファイルの場所を「/boot/keys/ada0.key」にする
  • メッセージバッファを4MBにする
"/boot/loader.conf"
geom_eli_load="yes"
vfs.root.mountfrom="ufs:/dev/ada0p4.eli"
geli_ada0p4_keyfile0_load="yes"
geli_ada0p4_keyfile0_type="ada0p4:geli_keyfile0"
geli_ada0p4_keyfile0_name="/boot/keys/ada0.key"
kern.msgbufsize="4194304"
FreeBSD /etc/fstab /boot/loader.conf
以上の設定で、再起動するとブート途中でgeliがパスワードを問い合わせてくるので入力すると
システムが起動します。
その後、初期設定を行えば終了です。
ただ、portsのsamba 4.1でgaminを利用してファイルの更新検知を利用しようとすると、エラーが出てしまいVFSモジュールを読み込めずsambaが起動しませんもうやだ〜(悲しい顔)
とりあえず、VMで構築したsanbaでも再現するので、更新検知なしで使用することにしました。
最後にCrystalDiskMark 3.0.3の結果を貼っておきます。ディスクキャッシュが効いているようで読み込みはルート暗号化なしと同じような結果が出ていますあせあせ(飛び散る汗)書き込みはシーケンシャルで20MB/s程度遅いようです。AES-NIが使えるマシンがほしいたらーっ(汗)
-----------------------------------------------------------------------
CrystalDiskMark 3.0.3 Shizuku Edition x64 (C) 2007-2013 hiyohiyo
                           Crystal Dew World : http://crystalmark.info/
-----------------------------------------------------------------------
* MB/s = 1,000,000 byte/s [SATA/300 = 300,000,000 byte/s]

           Sequential Read :   104.502 MB/s
          Sequential Write :    69.696 MB/s
         Random Read 512KB :    97.348 MB/s
        Random Write 512KB :    62.622 MB/s
    Random Read 4KB (QD=1) :     8.012 MB/s [  1956.1 IOPS]
   Random Write 4KB (QD=1) :     2.618 MB/s [   639.0 IOPS]
   Random Read 4KB (QD=32) :     8.774 MB/s [  2142.0 IOPS]
  Random Write 4KB (QD=32) :     2.670 MB/s [   651.8 IOPS]

  Test : 1000 MB [Y: 32.9% (1180.1/3589.7 GB)] (x3)
  Date : 2014/10/03 6:50:09
    OS : Windows 8.1 Pro [6.3 Build 9600] (x64)
CrystalDiskMark 3.0.3
posted by にゃおたん at 06:40| Comment(3) | TrackBack(0) | PC
この記事へのコメント
geli root な環境を作る WEB は英文で多数ありますが、どれも typo がありひどいものばかりでした。
こちらのページは typo などもなくとてもまともなもので、しかも日本語だったのでとても参考になりました。
ありがとうございました。
Posted by kanmei at 2014年11月21日 23:08
kanmeiさん
私もgeli on rootを試してみようと思って、参考資料を探していたら
古めの情報だったりして、困ったので記事にしてみました。
参考になったら幸いです。
なお、当初Journaled Softupdateで作成したのですが、
現状スナップショットが作成できず、
dumpでLオプションが使用できないので、
Softupdateで運用していますが、
4TBのHDDでスナップショット作成に
2〜3分かかります。
仮想マシンでZFSを試したら結構よさげで、
ZFSに移行する方法を模索中だったりします。
(新しいHDDを用意してコピーするのが手っ取り早そうなのですが…)
こんなblogですがよろしくお願いします。

Posted by にゃおたん at 2014年11月23日 07:30
その通りですね。zfs は data drive には使用していたのですが、10.1 ではインストーラーで zfs root を選択すれば encryption するかどうかを選択することができますね。
同じく仮想マシンでテスト中ですが、結構よさそうな感じです。
zfs なのでもちろんスナップショットは瞬時に作成できます。
ご参考まで。
Posted by kanmei at 2014年11月23日 21:39
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/104023723
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック