blog

テクノロジー|Stratis 暗号化を始める

Stratisの公式サイトでは、"Linuxのための使いやすいローカルストレージ管理 "と説明されています。...

Oct 20, 2025 · 6 min. read
シェア

Stratisのバージョン2.1では、暗号化のサポートが導入されました。Stratisで暗号化を始める方法については、こちらをお読みください。

前提条件

暗号化には Stratis 2.1 以上が必要です。Stratis 2.1 は Fedora 33 の最終リリースで使用されます。

暗号化プールを作成するには、利用可能なブロックデバイスが少なくとも1 つ必要です。次の例は、5GBの仮想ディスク・ドライブを持つKVM仮想マシンで実行されています。

カーネルのキーリングにキーを作成します。

カーネルのキーリングにキーを設定するには、stratisのkey setコマンドを使用します。キーをどこから読み込むかを指定する必要があります。標準入力からキーを読み込むには、-capture-keyオプションを使います。ファイルからキーを読み取るには、 -keyfile-path <file> オプションを使用します。最後の引数はキーの説明です。これは、後で暗号化 Stratis プールを作成するときに使用されます。

例えば、 pool1key 記述されたキーを作成し、そのキーを標準入力から読み込むには、次のようにタイプします:

  1. # stratis key set --capture-key pool1key
  2. Enter desired key data followed by the return key:

コマンドは鍵データとパスワードの入力を促し、鍵はカーネルの鍵リングに作成されます。

キーが作成されたことを確認するには、 stratis key list実行します:

  1. # stratis key list
  2. Key Description
  3. pool1key

これにより、pool1key が作成されたことが確認されます。これらのキーは永続的ではないことに注意してください。ホストが再起動された場合、暗号化された Stratis プールにアクセスする際に、キーを再度提供する必要があります。

複数の暗号化プールがある場合、それぞれ別の鍵を持つことも、同じ鍵を共有することもできます。

キーは以下の # stratis key set --capture-key pool1key コマンドでも確認できます:

  1. # keyctl get_persistent @s
  2. # keyctl show
  3. Session Keyring
  4. --alswrv 0 0 keyring: _ses
  5. --alswrv 0 65534 \_ keyring: _uid.0
  6. ---lswrv 0 65534 \_ keyring: _persistent.0
  7. --alswrv 0 0 \_ user: stratis-1-key-pool1key

暗号化されたStratisプールの作成

Stratis 用のキーが作成されたので、次のステップは暗号化された Stratis プールを作成することです。プールの暗号化は、プールの作成時にのみ可能です。既存のプールを暗号化することはできません。

stratis pool createコマンドを使用してプールを作成します。key-desc と、前のステップで提供した鍵の説明を追加します。これは、プールが提供された鍵で暗号化されるべきであることを Stratis に通知します。次の例では、/dev/vdb に Stratis プールを作成し、pool1 と名前を付けています。

  1. # stratis pool create --key-desc pool1key pool1 /dev/vdb

stratis pool list 使用して、プールが作成されたことを確認できます:

  1. # stratis pool list
  2. Name Total Physical Properties
  3. pool1 4.98 GiB / 37.63 MiB / 4.95 GiB ~Ca, Cr

上記のサンプル出力では、~Caはキャッシュが無効であることを意味し、crは暗号化が有効であることを意味します。キャッシュと暗号化は互いに排他的であることに注意してください。同時に有効にすることはできません。

次に、ファイルシステムを作成します。次の例では、filesystem1 という名前のファイルシステムを作成し、/filesystem1 マウントポイントにマウントし、新しいファイルシステムにテストファイルを作成します:

  1. # stratis filesystem create pool1 filesystem1
  2. # mkdir /filesystem1
  3. # mount /stratis/pool1/filesystem1 /filesystem1
  4. # cd /filesystem1
  5. # echo "this is a test file" > testfile

再起動後の暗号化プールへのアクセス

再起動すると、Stratis は暗号化プールとそのブロック・デバイスを表示しなくなります:

  1. # stratis pool list
  2. Name Total Physical Properties
  1. # stratis blockdev list
  2. Pool Name Device Node Physical Size Tier

暗号化プールにアクセスするには、まず、同じ鍵の説明と鍵データ/パスフレーズを使用して鍵を再作成します:

  1. # stratis key set --capture-key pool1key
  2. Enter desired key data followed by the return key:

次に、 stratis key list コマンドを実行し、プールとそのブロック・デバイスが表示されることを確認します:

  1. # stratis pool unlock
  2. # stratis pool list
  3. Name Total Physical Properties
  4. pool1 4.98 GiB / 583.65 MiB / 4.41 GiB ~Ca, Cr
  5. # stratis blockdev list
  6. Pool Name Device Node Physical Size Tier
  7. pool1 /dev/dm-2 4.98 GiB Data

次に、ファイルシステムをマウントし、作成したテスト・ファイルにアクセスできることを確認します:

  1. # mount /stratis/pool1/filesystem1 /filesystem1/
  2. # cat /filesystem1/testfile
  3. this is a test file

起動時に Stratis プールのロックを自動的に解除するには、systemd ユニット・ファイルを使用します。

手動で操作しなくても、起動時に Stratis プールのロックを自動的に解除することは可能です。ただし、キーを含むファイルが必要です。環境によっては、キーをファイルに保存することがセキュリティ上の問題となる場合があります。

まず、以下のコマンドでキーファイルを作成します。passphrase入力したのと同じキー・データ/パスワードに置き換えてください。

  1. # echo -n passphrase > /root/pool1key

ファイルがrootによってのみ読み取れるようにします:

  1. # chmod 400 /root/pool1key
  2. # chown root:root /root/pool1key

以下の内容を含むsystemdユニットファイルを /etc/systemd/system/stratis-filesystem1.service 作成します:

  1. Description = stratis mount pool1 filesystem1 file system
  2. After = stratisd.service
  3. [Service]
  4. ExecStartPre=sleep 2
  5. ExecStartPre=stratis key set --keyfile-path /root/pool1key pool1key
  6. ExecStartPre=stratis pool unlock
  7. ExecStartPre=sleep 3
  8. ExecStart = mount / stratis / pool1 / filesystem1 / filesystem1;
  9. RemainAfterExit=yes
  10. [Install]
  11. WantedBy = multi-user.target

次に、サービスを有効にして、起動時に実行されるようにします:

  1. # systemctl enable stratis-filesystem1.service

ここで再起動し、Stratis プールが自動的にロック解除され、ファイルシステムがマウントされていることを確認します。

結論

今日の環境では、暗号化は多くの人々や組織にとって必須です。この記事では、Stratis 2.1 で暗号化を有効にする方法を紹介します。

経由

Read next

Hardcore Watch|#News Beat #Fedora開発者、Vi/Vimの代わりにNanoをデフォルトのテキストエディタとして使うアイデアを再考する

- Ubuntuのデイリーメッセージに広告を仕込んだCanonicalが非難される - Jakarta EE 9 Milestone 1リリース javax.*からjakarta.*への移行 - iOS 14とmacOS Big SurがDNS暗号化通信をサポート - Wordエディタに「オンラインウェイトチェック」が搭載 - Android 12が明らかに:Googleは32ビットサポートを完全に捨て去りたいと考えているようです。

Oct 20, 2025 · 3 min read