次のページ 前のページ 目次へ

3. 手順のまとめ

作業はいくつかの手順からなります.それぞれの手順については,次の節 詳細な手順で説明します. リファレンスとしてまとめを最初に用意しておくといいだろうと考えました (もし読者の皆さんの UNIX/Linux の経験が豊富ならば,いずれにせよ細かい 説明は不要でしょう).では,まとめを以下に示します:

  1. 国際版暗号パッチの最新版を以下の場所からダウンロードします(本文 書の執筆時点では `patch-int-2.2.10.4' を用いました):

    http://ftp.kerneli.org/pub/kerneli/

  2. カーネルにパッチを当てます

  3. `make config'(または `menuconfig' や `xconfig')を実行して,新しい カーネル用の `Makefile' を設定します.暗号化を有効にするためのオプ ションは,あちこちに散らばっています.まずはともかく,どのオプションよ りも前に `Code Maturity level options' の下の `Prompt for development and/or incomplete code/drivers' を有効 にしてください. 次に,`Crypto options' の下の `crypto ciphers' と `serpent' を有効にします.繰り返しますが,本文書では serpent を使うものと します.でも,読者の皆さんは好きなものを試してください.ただし 2.2.10.4 の時点では DES とは組み合わせられないことを忘れないでください. 今後もまずサポートされることはないでしょう.`Block Devices' の下には,選択 すべき重要なオプションがいくつかあります. `Loopback device support', `Use relative block numbers as basis for transfer functions(RECOMMENDED)', `General encryption support' です.ここでは `cast 128' や `twofish' は選択しないでください.ネット ワーク関連の各種項目の下にある暗号関係のオプションは,どれも選択する必 要はありません.カーネルの設定については,これ以上細かい部分には立ち入 りません.これは本文書の守備範囲ではないので,LDP のサイトにある他の文 書をご覧になってください.

  4. 新しいカーネルをコンパイルします.

  5. `/etc/lilo.conf' を編集して,新しいカーネルイメージを追加しま す.それから `lilo -v' を実行して,ブートローダにこのカーネルを追加し ます.

  6. 最新の `util-linux' パッケージ(筆者は `util-linux-2.9v' を使っ ています)を以下の場所から入手します:

    ftp://ftp.kernel.org/pub/linux/utils/util-linux/

  7. `util-linux' のソースを展開します.

  8. ローカルの `/usr/src/linux/Documentation/crypto/' ディレクトリ にある,使いたい暗号に対応するパッチを当てます.

  9. `INSTALL' ファイルを注意深く読んでください! このパッケー ジには,システム依存のファイル(`login', `passwd', `init' といった重要 なツール群)のソースコードがたくさん入っています. MCONFIG ファイルをいい加減に編集してこれらのソースをコンパイルしてしま うと,システムがめちゃくちゃになるかもしれません - 起動ディスクか ショットガンを用意しておきましょう. 基本的には,ほとんど全ての `HAVE_*' の項目を `yes' にしておき,重要な 認証ツールのコンパイルと上書きが行われないようにしておきましょう. 再構築の必要があるツールは,新しい暗号化手法に対応させる `mount' と `losetup' です.このステップについては,後述の 詳細な手順の節を参照することをお 勧めします.

  10. `util-linux' のソースのコンパイルとインストールを行います.

  11. 新しいカーネルでマシンを再起動します.

  12. `/etc/fstab' を編集し,以下のようなマウントポイントの項目を追 加します:


    /dev/loop0  /mnt/crypt  ext2  user,noauto,rw,loop 0 0
    

  13. ファイルシステムをマウントするためのディレクトリを作ります. 上記の例では `/mnt/crypt' です.

  14. 一般ユーザ権限で,暗号化するファイルを以下のようにして作ります:

    dd if=/dev/urandom of=/etc/cryptfile bs=1M count=10
    

  15. 以下のように losetup を実行します:

    losetup -e serpent /dev/loop0 /etc/cryptfile
    

    パスワードを入力する機会は一度しかないので注意してください.パスワード の二重チェックをしたければ,以下のコマンドを使いましょう:

    losetup -d /dev/loop0
    

    このコマンドは loop デバイスをアクティブでない状態にします.次にもう一 度 losetup を実行し,以下のようにしてパスワードを確認します.

    losetup -e serpent /dev/loop0 /etc/cryptfile
    

  16. ext2 ファイルシステムを以下のようにして作成します:

    mkfs -t ext2 /dev/loop0
    

  17. ここで,暗号化したファイルシステムを以下のコマンドでマウント します:

    mount -t ext2 /dev/loop0 /mnt/crypt
    

  18. ファイルシステムの使用を終了したら,以下のコマンドでファイル システムをアンマウントして保護します:

    umount /dev/loop0
    losetup -d /dev/loop0
    


次のページ 前のページ 目次へ