All Systems Go Systemd の発明者である Lennart Poettering 氏は、ベルリンで開催された All Systems Go Linux ユーザー スペース イベントで、ホーム ディレクトリを再発明して、他の方法では解決できない現在のモデルの問題を解決するつもりであると語った。
具体的には、Systemd、または systemd-homed を使用してホーム ディレクトリを管理および整理したいと考えています。
Linuxシステムでは、通常、各ユーザーは/home以下に個人の文書やデータ用のディレクトリを持ちます。ユーザーはユーザー名とユーザーID(UID)番号で識別されます。これらの番号は、デフォルトでは/etc/passwdというテキストデータベースに格納されています。
今月初めにドイツで開催されたイベントで講演したポエタリング氏は、この長年のアプローチにはいくつかの問題点があると指摘しました。哲学的に言えば、このアプローチは状態と設定を混同していると彼は述べました。なぜなら、彼の見解では、ユーザーレコードは設定ではなく状態であり、したがって/etc/ディレクトリには属さないからです。
/etc/passwd データベースは拡張できないため、Linux では、暗号化されたパスワード ハッシュや、パスワードの有効期限までの最大時間などのその他のパスワード関連フィールドに使用される特権の場所である /etc/shadow など、他の場所に保存される多数のセカンダリ データベースが開発されました。
彼はまた、セキュリティ上の問題にも強い懸念を抱いている。それは、フルディスク暗号化が使用されている場合でも、システムがサスペンド状態になると復号鍵がメモリに保持されるため、サスペンド中にノートパソコンが盗難に遭ってもデータにアクセスできてしまうという点だ。パスワードで保護されたロック画面だけでは、強固なセキュリティには不十分だ。
Poetteringのアイデアは、自己完結型のホームフォルダを用意し、フォルダの存在を検出するとシステムがUIDを自動的に割り当てるというものです。ユーザーに関するすべての情報は、パスワードハッシュも含めて、拡張可能なJSONユーザーレコードとしてそのディレクトリに保存されます。
ということは、USBメモリにホームフォルダを保存しておけば、どんなLinuxシステムにもログインできるということでしょうか? 講演後の質問に答えて、ポエタリング氏は「いいえ」と答えました。そのマシン上の特権プロセスは、ユーザーデータのセキュリティ上重要な部分に署名しなければ、そのデータを認識することができません。これにより、例えばユーザーが自分のデータを編集して自分自身をグループに追加することを防ぐことができます。
LUKアウト
Systemdの発明者は、ファイル、パーティション、あるいはハードドライブ全体を暗号化できるLUKS暗号化の支持者です。また、ほとんどのユーザーがノートPCのディスクを暗号化しているという前提に基づき、ユーザーパスワードと暗号化キーを統合することも計画しています。これは、システムがサスペンド状態になった際に、復号キーをメモリから削除できることを意味します。復帰時には、同じパスワードでログインとホームフォルダの復号が行えます。つまり、サスペンド状態になった際に復号キーはメモリから削除され、復帰時に再入力されることになります。
これらすべては、Systemdのコンポーネントとなる新しいデーモン「systemd-homed」によって実現されます。この新しいコンポーネントは、YubikeyやFIDO2、U2F(Universal Second Factor)認証をサポートするその他のセキュリティデバイスなど、他の認証形式もサポートします。
いくつか複雑な点がありますが、その 1 つは SSH 経由のリモート アクセスです。
「SSH経由で認証する場合、ホームディレクトリ内の認証キーが使われます。つまり、ホームディレクトリ内にある何かを認証してホームディレクトリにアクセスしたい場合、ホームディレクトリにアクセスするための復号キーはどこから来るのでしょうか?これは卵が先か鶏が先かという問題です」とポエタリング氏は述べた。
あなたはSystemdが大好きです - ただまだ気づいていないだけです、Red Hatの皆さん、ウィンク
続きを読む
彼の解決策は、SSHが機能するにはユーザーが既にログインしている必要があるというものです。セッションの参加者の一人が、例えば200マイル離れた場所から、夜間に再起動されたLinuxマシンにログインしたい大学生はどうすればいいのかと質問しました。答えは「本当にこのシステムが自動的に起動することを望むなら、このツールは使わないほうがいい。これはセキュリティの問題だ」でした。
ただし、このソリューションの焦点はサーバーではなくラップトップを持つエンドユーザーであり、ラップトップへのリモートログインは一般的ではないため、実際にはそれほど問題にならない可能性があります。
ポエタリング氏は、ホームフォルダをLUKSで暗号化されたコンテナに保存しておけば、バックアップや他のノートパソコンへの切り替えに必要なのは、そのファイルだけになると考えています。「ユーザーレコードとホームディレクトリがすべて1つのファイルになります。そのファイルをノートパソコンから別のノートパソコンに持ち込むだけで、すぐにポップアップ表示され、そこに保存されます。」
これは根本的な変更であり、互換性の問題や、長年問題なく動作してきたシステムの一部を変更することへの反対意見もあるだろう。しかし、ポエタリング氏にとっては、セキュリティのためだけでも価値がある。「自分のノートパソコンがようやく安全になり、サスペンドできるようになることを望んでいます。これらの問題は、これまで解決できなかったので、ついに解決してほしいのです」と彼は語った。
プレゼンテーションはここからご覧いただけます。®