6.3.2. 特権のないユーザーに対する SystemTap のサポート
セキュリティのために、エンタープライズ環境でユーザーが自身のマシンへの特権アクセス (つまり、root や
sudo
) を与えられることは滅多にありません。さらに、SystemTap の完全な機能があるとシステムを完全にコントロールできるため、これも特権のあるユーザーに制限されています。
Red Hat Enterprise Linux 6 の SystemTap では、SystemTap クライアントに
--unprivileged
という新しいオプションが追加されました。このオプションを使うと、特権のないユーザーが stap
を実行できるようになります。もちろん、stap
を実行しようとする特権のないユーザーにはいくつかの制限が課せられます。
注記
特権のないユーザーとは、
stapusr
グループのメンバーですが stapdev
グループのメンバーではありません (また、root でもありません)。
特権のないユーザーが作成したカーネルモジュールを読み込む前に、SystemTap が標準のデジタル (暗号法) 署名技術を使ってモジュールの整合性を検証します。
--unprivileged
オプションを使用する際は毎回、サーバーは特権のないユーザーに対して課せられら制限についてスクリプトをチェックします。チェックが成功した場合は、サーバーはスクリプトをコンパイルして自己生成した証明書を使って作成されたモジュールに署名します。クライアントがモジュールを読み込もうとする際には、root が保守/権限を付与している信頼できる署名証明書のデータベースに対してモジュールの署名をチェックすることで、staprun
が最初にモジュールの署名を検証します。
署名されたカーネルモジュールが正常に検証されると、
staprun
は以下の点が保証されます。
- モジュールが信頼できる systemtap サーバー実装を使用して作成された。
- モジュールが
--unprivileged
オプションを使用してコンパイルされた。 - モジュールが、特権のないユーザーによる使用で必要とされる制限を満たしている。
- モジュールは作成以降、改ざんされていない。