[an error occurred while processing this directive] [APACHE DOCUMENTATION]

Apache suEXEC サポート


suEXECとは?

Apache 1.2で追加されたsuEXECはウェブサーバ起動したユーザIDとは異なるユーザIDでCGIプログラムを起動出来るようにします。適切に使用すれば、これはユーザにCGIプログラムの起動を許可する危険性をかなり軽減することが出来ます。同様に不適切にコンフィグレーションされると、これは容易にあなたのコンピュータを破壊し、家を全焼し、退職金を盗むでしょう。:-)もしsetuid rootプロクラムの管理と、そこに生じるセキュリティの問題に精通していないのなら、この機能を使用しないことを強く勧めます。


suEXECサポートを有効にする

この機能を有効にするのは、それを使う決まったユーザーによってのみインストールされたり、通常のインストール/コンパイル処理の一部ではないので、目的としては難しいでしょう。


suEXECのセキュリティモデル

あらゆるプログラムを実行する前にApacheのsuEXEC wrapperは以下のセキュリティチェックを行ないます。
  1. wrapperを実行するユーザーはこのシステムの正当なユーザーでなければならない。
  2. wrapperを実行するユーザーはHTTPD_USERにコンパイルされていなければならない。
  3. 実行を要求するコマンドは/を含んでいてはならない。
  4. 実行されているコマンドはDOC_ROOTの下にコンパイルされていなければならない。
  5. カレントワーキングディレクトリはディレクトリでなければならない。
  6. カレントワーキングディレクトリはgroupotherによる書き込みは不可でなければならない。
  7. 実行されているコマンドはシンボリックリンクではない。
  8. 実行されているコマンドはgroupotherによる書き込みができない。
  9. 実行されているコマンドはsetuidsetgidプログラムではない
  10. ターゲットUIDとGIDは このシステムの正当なユーザーとグループでなければならない。
  11. 実行するターゲットUID and GIDはディレクトリのUIDとGIDに一致していなければならない。
  12. ターゲットの実行UIDとGIDはprivledged ID 0であってはならない。
  13. グループアクセスリストはNOGROUPのセットで、コマンドは実行される。
もしこれらの内のいくつかが非常に限定的であったり、あまり限定的に見えなかったりしたら、自分で作ったwrapperバージョンをインストールすることを薦めます。ロープをあげたのですから楽しんで下さい。 :-)

suEXECの使用

実行可能なsuexec wrapperを正確にインストールした後で、Apacheサーバを終了して、再起動しなければなりません。単純なkill -1 `cat httpd.pid`では不十分です。ウェブサーバのスタートアップで、Apacheがきちんと設定されたsuexec ラッパーを探していれば、コンソールに以下のメッセージが表示されます。

Configuring Apache for use with suexec wrapper.

もしサーバのスタートアップ時にこのメッセージが表示されなければ、サーバはおそらく予想された場所でwrapperプログラムを見つけていないか、実行可能なものがsetuid rootにインストールされていません。インストレーションをチェックして、再実行して下さい。

suEXECを実行するための一つの方法は、VirtualHost定義のUserGroupの命令を経ることです。これらの命令がメインサーバのユーザーidとは違う値をセッティングすることにより、CGI資源に対する全ての要求が<VirtualHost>によって定義されたUserGroupとして実行されます。もしたった一つか、又はどちらでもないこれらの命令が<VirtualHost>によって特定されていれば、メインサーバのユーザーidが仮定されます。

suEXECはまた、要求されたユーザーとしてCGIプログラムを実行するために使われます。これは実行を要求されたユーザーidの前に~記号を使うことにより実行される。この特徴が実行されるのに必要なことは、ユーザーにとってCGIが実行可能で、スクリプトが上記の精密なsecurity checksに合致していることです。


suEXECのデバッギング

suEXEC wrapperは上記のようにsuexec.hで定義されたロケーションのログ情報を書き込みます。もし正確にコンフィギュアされ、インストールされたwrapperだと考えているなら、迷っている場所を見るためにサーバのこのログとエラーログを探して下さい。
このJAPACHE!ニュースグループへ ( japache.suEXEC ) | JAPACHE!ニュースについて | JAPACHE!ホームページへ

このページの情報に関わる、ご質問、お問い合わせは、 japache@infoscience.co.jpまで。


検索文字
The English original manual is here.

Index