web-dev-qa-db-ja.com

Redhatでは、「kernel.suid_dumpable = 1」はどういう意味ですか?

Bashスクリプトを実行していくつかのログファイルをコピーし、Red Hatボックスでサービスを再起動しています。スクリプトを実行するたびに、コンソールに次のメッセージが表示されます。

[root@servername ~]# sh /bin/restart_ nss.sh
kernel.suid_dumpable = 1
サービスを停止しています:[OK]
サービスを開始しています:[OK]
[root @ servername〜]#

この場合、「kernel.suid_dumpable = 1」はどういう意味ですか?

ありがとう、IVRアベンジャー

9
IVR Avenger

いくつかの背景:

setuidビット:
実行可能ファイルのsetuidビットにより、任意のユーザーによって実行される実行可能ファイルは、実行可能ファイルの所有者によって実行されているかのように実行されます。したがって、rootが所有するプログラムにsetuidが設定されている場合、誰が実行しても、root権限で実行されます。もちろん、それほど単純ではありません。 このウィキペディア の記事を参照するか、Unix環境でのStevenのプログラミングのコピーを入手してください。

コアダンプ:
コアダンプは、プログラムの作業メモリのファイルへのダンプです。 このウィキペディアの記事 を参照してください。

suid_dumpable
これは、上記のようにsetuidプログラムからコアをダンプできるかどうかを制御します。下記参照。これはカーネル調整パラメータであり、次のように変更できます。

Sudo sysctl -w kernel.suid_dumpable=2

この調整可能パラメータについては、サワーコードのドキュメントで確認できます。インストールされている場合は、/usr/src/linux-source-2.6.27/Documentation/sysctl/のようなディレクトリにあります。この場合、以下の参照はそのディレクトリのfs.txtにあります。使用 uname -aコマンドを使用して、カーネルのバージョンを確認します。

重要な理由:

これはセキュリティリスクになる可能性があります:
つまり、コアダンプがあり、通常のユーザーがそれらを読み取ることができる場合、特権情報が見つかる可能性があります。プログラムが適切にダンプされ、メモリ内に特権情報があり、ユーザーがダンプを読み取ることができる場合、ユーザーはその特権情報を見つける可能性があります。

参照:

This value can be used to query and set the core dump mode for setuid
or otherwise protected/tainted binaries. The modes are

0 - (default) - traditional behaviour. Any process which has changed
   privilege levels or is execute only will not be dumped
1 - (debug) - all processes dump core when possible. The core dump is
   owned by the current user and no security is applied. This is
   intended for system debugging situations only.
2 - (suidsafe) - any binary which normally not be dumped is dumped
   readable by root only. This allows the end user to remove
   such a dump but not access it directly. For security reasons
   core dumps in this mode will not overwrite one another or 
   other files. This mode is appropriate when adminstrators are
   attempting to debug problems in a normal environment.
13
Kyle Brandt

Setuidプロセスからコアダンプを取得できるかどうかを決定します。

元のパッチ からの情報

+suid_dumpable:
+
+This value can be used to query and set the core dump mode for setuid
+or otherwise protected/tainted binaries. The modes are
+
+0 - (default) - traditional behaviour. Any process which has changed
+   privilege levels or is execute only will not be dumped
+1 - (debug) - all processes dump core when possible. The core dump is
+   owned by the current user and no security is applied. This is
+   intended for system debugging situations only.
+2 - (suidsafe) - any binary which normally not be dumped is dumped
+   readable by root only. This allows the end user to remove
+   such a dump but not access it directly. For security reasons
+   core dumps in this mode will not overwrite one another or 
+   other files. This mode is appropriate when adminstrators are
+   attempting to debug problems in a normal environment.
1
Travis Campbell