af84459fbf938e508fd10b01cb8d699c79083813takashi<?xml version="1.0" encoding="UTF-8" ?>
af84459fbf938e508fd10b01cb8d699c79083813takashi<!DOCTYPE manualpage SYSTEM "/style/manualpage.dtd">
af84459fbf938e508fd10b01cb8d699c79083813takashi<?xml-stylesheet type="text/xsl" href="/style/manual.ja.xsl"?>
af84459fbf938e508fd10b01cb8d699c79083813takashi<!-- English Revision: 655869:1673945 (outdated) -->
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi<!--
af84459fbf938e508fd10b01cb8d699c79083813takashi Licensed to the Apache Software Foundation (ASF) under one or more
96ad5d81ee4a2cc66a4ae19893efc8aa6d06fae7jailletc contributor license agreements. See the NOTICE file distributed with
af84459fbf938e508fd10b01cb8d699c79083813takashi this work for additional information regarding copyright ownership.
af84459fbf938e508fd10b01cb8d699c79083813takashi The ASF licenses this file to You under the Apache License, Version 2.0
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowen (the "License"); you may not use this file except in compliance with
2e545ce2450a9953665f701bb05350f0d3f26275nd the License. You may obtain a copy of the License at
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowen
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowen http://www.apache.org/licenses/LICENSE-2.0
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi Unless required by applicable law or agreed to in writing, software
af33a4994ae2ff15bc67d19ff1a7feb906745bf8rbowen distributed under the License is distributed on an "AS IS" BASIS,
3f08db06526d6901aa08c110b5bc7dde6bc39905nd WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
af84459fbf938e508fd10b01cb8d699c79083813takashi See the License for the specific language governing permissions and
af84459fbf938e508fd10b01cb8d699c79083813takashi limitations under the License.
af84459fbf938e508fd10b01cb8d699c79083813takashi-->
3f08db06526d6901aa08c110b5bc7dde6bc39905nd
af84459fbf938e508fd10b01cb8d699c79083813takashi<manualpage metafile="suexec.xml.meta">
af84459fbf938e508fd10b01cb8d699c79083813takashi
f086b4b402fa9a2fefc7dda85de2a3cc1cd0a654rjung <title>suEXEC サポート</title>
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi <summary>
af84459fbf938e508fd10b01cb8d699c79083813takashi <p><strong>suEXEC</strong>
af84459fbf938e508fd10b01cb8d699c79083813takashi 機能により、Apache ユーザは Web サーバを実行しているユーザ ID とは
af84459fbf938e508fd10b01cb8d699c79083813takashi 異なるユーザ ID で <strong>CGI</strong> プログラムや <strong>SSI</strong>
3c13a815670b54d1c17bf02954f7d2b066cde95cnd プログラムを実行することができます。CGI プログラムまたは SSI
3c13a815670b54d1c17bf02954f7d2b066cde95cnd プログラムを実行する場合、通常は web サーバと同じユーザで実行されます。
2d39a41e98476f5235b7c37ce745a4aa0904b1cbrbowen </p>
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe <p>適切に使用すると、この機能によりユーザが個別の CGI
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe や SSI プログラムを開発し実行することで生じるセキュリティ上の危険を、
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe かなり減らすことができます。しかし、suEXEC の設定が不適切だと、
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe 多くの問題が生じ、あなたのコンピュータに新しいセキュリティホールを
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe 作ってしまう可能性があります。あなたが <em>setuid root</em>
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe されたプログラムと、それらから生じるセキュリティ上の問題の管理に
fed47023e9be04c612b5f6d4a5ee2b8e7c587181rbowen 詳しくないようなら、suEXEC の使用を検討しないように強く推奨します。
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe </p>
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe </summary>
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi <section id="before"><title>始める前に</title>
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi <p>この文書の先頭に飛ぶ前に、Apache
af84459fbf938e508fd10b01cb8d699c79083813takashi グループとこの文書での仮定を知っておくべきでしょう。
af84459fbf938e508fd10b01cb8d699c79083813takashi </p>
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi <p>第 1 に、あなたが <strong>setuid</strong> と
fed47023e9be04c612b5f6d4a5ee2b8e7c587181rbowen <strong>setgid</strong> 操作が可能な UNIX
af84459fbf938e508fd10b01cb8d699c79083813takashi 由来のオペレーティングシステムを使っていることを想定しています。
af84459fbf938e508fd10b01cb8d699c79083813takashi これは、すべてのコマンド例にあてはまります。
af84459fbf938e508fd10b01cb8d699c79083813takashi その他のプラットホームでは、もし suEXEC
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe がサポートされていたとしても設定は異なるかもしれません。</p>
af84459fbf938e508fd10b01cb8d699c79083813takashi
30471a4650391f57975f60bbb6e4a90be7b284bfhumbedooh <p>第 2 に、あなたが使用中のコンピュータの
af84459fbf938e508fd10b01cb8d699c79083813takashi セキュリティに関する基本的な概念と、それらの管理について詳しいことを
af84459fbf938e508fd10b01cb8d699c79083813takashi 想定しています。これは、<strong>setuid/setgid</strong>
fed47023e9be04c612b5f6d4a5ee2b8e7c587181rbowen 操作、あなたのシステム上でのその操作による様々な効果、
af84459fbf938e508fd10b01cb8d699c79083813takashi セキュリティレベルについてあなたが理解しているということを含みます。
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe </p>
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe <p>第 3 に、<strong>改造されていない</strong> suEXEC
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe コードの使用を想定しています。suEXEC のコードは、
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe 多くのベータテスタだけでなく、開発者によっても注意深く精査され
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe テストされています。それらの注意により、簡潔で信頼できる安全な
9a58dc6a2b26ec128b1270cf48810e705f1a90dbsf コードの基盤が保証されます。このコードを改変することで、
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe 予期されない問題や新しいセキュリティ上の危険が生じることがあります。
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe セキュリティプログラミングの詳細に通じていて、
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe 今後の検討のために成果を Apache
fed47023e9be04c612b5f6d4a5ee2b8e7c587181rbowen グループと共有しようと思うのでなければ、suEXEC
78f97ce162b66a0dbfd7af4dcd9984f162569b04minfrin コードは変えないことを <strong>強く</strong>推奨します。</p>
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe <p>第 4 に、これが最後ですが、suEXEC を Apache
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe のデフォルトインストールには<strong>含めない</strong>ことが
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe Apache グループで決定されています。これは、suEXEC
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe の設定には管理者の詳細にわたる慎重な注意が必要だからです。
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe suEXEC の様々な設定について検討が終われば、管理者は suEXEC
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe を通常のインストール方法でインストールすることができます。
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe これらの設定値は、suEXEC
fed47023e9be04c612b5f6d4a5ee2b8e7c587181rbowen 機能の使用中にシステムセキュリティを適切に保つために、
fed47023e9be04c612b5f6d4a5ee2b8e7c587181rbowen 管理者によって慎重に決定され指定されることが必要です。
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe この詳細な手順により、Apache グループは、suEXEC
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe のインストールについて、注意深く十分に検討してそれを使用することを
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe 決定した場合に限っていただきたいと考えています。
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe </p>
4bebf996eb7002ebfe897d46a0e0572390604a77nd
4bebf996eb7002ebfe897d46a0e0572390604a77nd <p>それでも進みますか? よろしい。では、先へ進みましょう!</p>
4bebf996eb7002ebfe897d46a0e0572390604a77nd </section>
4bebf996eb7002ebfe897d46a0e0572390604a77nd
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe <section id="model"><title>suEXEC セキュリティモデル</title>
4bebf996eb7002ebfe897d46a0e0572390604a77nd
9534272616b71aaea50aeec4162e749a96aebd7fsf <p>suEXEC の設定とインストールを始める前に、
4bebf996eb7002ebfe897d46a0e0572390604a77nd まず実装しようとしているセキュリティモデルについて論じておきます。
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe それには、suEXEC の内部で行なわれていること、
af84459fbf938e508fd10b01cb8d699c79083813takashi システムのセキュリティを保証するために警告されることを
af84459fbf938e508fd10b01cb8d699c79083813takashi よく理解しておいた方がよいでしょう。</p>
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi <p><strong>suEXEC</strong> は、Apache web
af84459fbf938e508fd10b01cb8d699c79083813takashi サーバから呼び出される setuid された "wrapper"
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe プログラムが基本となっています。設計した CGI、または SSI
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe プログラムへの HTTP リクエストがあると、この wrapper
fed47023e9be04c612b5f6d4a5ee2b8e7c587181rbowen が呼び出されます。このようなリクエストがあると、Apache
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe はそのプログラムが実行される際のプログラム名とユーザ ID とグループ
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe ID を指定して suEXEC wrapper を実行します。
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe </p>
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe <p>それから、wrapper は成功または失敗を決定するため
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe 以下の処理を行ないます。これらの状態のうち一つでも失敗した場合、
fed47023e9be04c612b5f6d4a5ee2b8e7c587181rbowen プログラムは失敗をログに記録してエラーで終了します。
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe そうでなければ、後の処理が続けられます。</p>
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe <ol>
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe <li>
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe <strong>wrapper
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe を実行しているユーザはこのシステムの正当なユーザか?</strong>
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe
57c845e03570b3641fbf41d4f139e2a9b49e406and <p class="indent">
57c845e03570b3641fbf41d4f139e2a9b49e406and これは、wrapper を実行しているユーザが
57c845e03570b3641fbf41d4f139e2a9b49e406and 本当にシステムの利用者であることを保証するためです。
57c845e03570b3641fbf41d4f139e2a9b49e406and </p>
57c845e03570b3641fbf41d4f139e2a9b49e406and </li>
57c845e03570b3641fbf41d4f139e2a9b49e406and
4b311579b2c8aebac85fb7cb8ac89e6c37b4bc1asf
57c845e03570b3641fbf41d4f139e2a9b49e406and <li>
7e9d90004f580231e0376880710dc25408950ab9rbowen <strong>wrapper が適切な数の引数で呼び出されたか?</strong>
7e9d90004f580231e0376880710dc25408950ab9rbowen
7e9d90004f580231e0376880710dc25408950ab9rbowen
7e9d90004f580231e0376880710dc25408950ab9rbowen <p class="indent">
7e9d90004f580231e0376880710dc25408950ab9rbowen wrapper は適切な数の引数が与えられた場合にのみ実行されます。
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe 適切な引数のフォーマットは Apache Web サーバに解釈されます。
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe 適切な数の引数を受け取らなければ、攻撃をされたか
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe あなたの Apache バイナリの suEXEC の部分が
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe どこかおかしい可能性があります。
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe </p>
fed47023e9be04c612b5f6d4a5ee2b8e7c587181rbowen </li>
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe <li>
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe <strong>この正当なユーザは wrapper
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe の実行を許可されているか?</strong>
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe <p class="indent">
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe このユーザは wrapper 実行を許可されたユーザですか?
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe ただ一人のユーザ (Apache ユーザ) だけが、
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe このプログラムの実行を許可されます。
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe </p>
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe </li>
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe <li>
4aa603e6448b99f9371397d439795c91a93637eand <strong>対象の CGI, SSI プログラムが安全でない階層の参照をしているか?
4aa603e6448b99f9371397d439795c91a93637eand </strong>
888cb40bdeec5abf452bd85d6bf63b26d5913d4chumbedooh
20f499565e77defe9dab24dd85c02f38a1175855nd <p class="indent">
888cb40bdeec5abf452bd85d6bf63b26d5913d4chumbedooh 対象の CGI, SSI プログラムが '/' から始まる、または
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe '..' による参照を行なっていますか? これらは許可されません。
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe 対象のプログラムは suEXEC のドキュメントルート
4aa603e6448b99f9371397d439795c91a93637eand (下記の <code>--with-suexec-docroot=<em>DIR</em></code> を参照)
4aa603e6448b99f9371397d439795c91a93637eand 内に存在しなければなりません。
888cb40bdeec5abf452bd85d6bf63b26d5913d4chumbedooh </p>
20f499565e77defe9dab24dd85c02f38a1175855nd </li>
888cb40bdeec5abf452bd85d6bf63b26d5913d4chumbedooh
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe <li>
f039cf01b271a31e317d5b84f24cb135f1c1b6d7nd <strong>対象となるユーザ名は正当なものか?</strong>
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe <p class="indent">
4aa603e6448b99f9371397d439795c91a93637eand 対象となるユーザ名は存在していますか?
888cb40bdeec5abf452bd85d6bf63b26d5913d4chumbedooh </p>
4aa603e6448b99f9371397d439795c91a93637eand </li>
888cb40bdeec5abf452bd85d6bf63b26d5913d4chumbedooh
20f499565e77defe9dab24dd85c02f38a1175855nd <li>
888cb40bdeec5abf452bd85d6bf63b26d5913d4chumbedooh <strong>対象となるグループ名は正当なものか?</strong>
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe
af84459fbf938e508fd10b01cb8d699c79083813takashi <p class="indent">
af84459fbf938e508fd10b01cb8d699c79083813takashi 対象となるグループ名は存在していますか?
2d39a41e98476f5235b7c37ce745a4aa0904b1cbrbowen </p>
fed47023e9be04c612b5f6d4a5ee2b8e7c587181rbowen </li>
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe <li>
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe <strong>目的のユーザはスーパーユーザでは<em>ない</em>か?
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe </strong>
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe <p class="indent">
c8c717fafa0a09ed13469a603a178921b851dd22igalic 今のところ、suEXEC は <code><em>root</em></code> による CGI/SSI
c8c717fafa0a09ed13469a603a178921b851dd22igalic プログラムの実行を許可していません。
b7f8d802ecaed65eada1fc31472d06d8460d5528igalic </p>
b7f8d802ecaed65eada1fc31472d06d8460d5528igalic </li>
b7f8d802ecaed65eada1fc31472d06d8460d5528igalic
b7f8d802ecaed65eada1fc31472d06d8460d5528igalic <li>
b7f8d802ecaed65eada1fc31472d06d8460d5528igalic <strong>対象となるユーザ ID は、最小の ID
b7f8d802ecaed65eada1fc31472d06d8460d5528igalic 番号よりも<em>大きい</em>か? </strong>
b7f8d802ecaed65eada1fc31472d06d8460d5528igalic
b7f8d802ecaed65eada1fc31472d06d8460d5528igalic <p class="indent">
b7f8d802ecaed65eada1fc31472d06d8460d5528igalic 最小ユーザ ID 番号は設定時に指定されます。これは、
7c7e501f542451bf7225b23cb299ee4228bfe15dgryzor CGI/SSI プログラム実行を許可されるユーザ ID
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe のとりうる最小値です。これは
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe "system" 用のアカウントを閉め出すのに有効です。
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe </p>
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe </li>
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe <li>
acf65805923cf80834c39689cc0e2a8e7201c186sf <strong>対象となるグループはスーパーユーザのグループでは
acf65805923cf80834c39689cc0e2a8e7201c186sf <em>ない</em>か?</strong>
acf65805923cf80834c39689cc0e2a8e7201c186sf
c8c717fafa0a09ed13469a603a178921b851dd22igalic <p class="indent">
7c7e501f542451bf7225b23cb299ee4228bfe15dgryzor 今のところ、suEXEC は 'root' グループによる CGI/SSI
4bebf996eb7002ebfe897d46a0e0572390604a77nd プログラムの実行を許可していません。
4bebf996eb7002ebfe897d46a0e0572390604a77nd </p>
4bebf996eb7002ebfe897d46a0e0572390604a77nd </li>
8559a67073808d84d85bb5dd552d4247caafe709sf
8559a67073808d84d85bb5dd552d4247caafe709sf <li>
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe <strong>対象となるグループ ID は最小の ID
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe 番号よりも<em>大きい</em>か?</strong>
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe <p class="indent">
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe 最小グループ ID 番号は設定時に指定されます。これは、
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe CGI/SSI プログラム実行を許可されるグループ
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe ID のとりうる最小値です。
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe これは "system" 用のグループを閉め出すのに有効です。
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe </p>
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe </li>
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe <li>
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe <strong>wrapper が正常に対象となるユーザとグループになれるか?
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe </strong>
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe <p class="indent">
8559a67073808d84d85bb5dd552d4247caafe709sf ここで、setuid と setgid
fed47023e9be04c612b5f6d4a5ee2b8e7c587181rbowen の起動によりプログラムは対象となるユーザとグループになります。
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe グループアクセスリストは、
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe ユーザが属しているすべてのグループで初期化されます。
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe </p>
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe </li>
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe <li>
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe <strong>CGI/SSI プログラムが置かれているディレクトリに移動
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe (change directory) できるか?</strong>
253547fb9cc7986e84ff68aef076f664fc4169dctakashi
253547fb9cc7986e84ff68aef076f664fc4169dctakashi <p class="indent">
253547fb9cc7986e84ff68aef076f664fc4169dctakashi ディレクトリが存在しないなら、そのファイルも存在しないかもしれません。
253547fb9cc7986e84ff68aef076f664fc4169dctakashi ディレクトリに移動できないのであれば、おそらく存在もしないでしょう。
253547fb9cc7986e84ff68aef076f664fc4169dctakashi </p>
253547fb9cc7986e84ff68aef076f664fc4169dctakashi </li>
8559a67073808d84d85bb5dd552d4247caafe709sf
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe <li>
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe <strong>ディレクトリが Apache のドキュメントツリー内にあるか?
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe </strong>
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe
c8c717fafa0a09ed13469a603a178921b851dd22igalic <p class="indent">
c8c717fafa0a09ed13469a603a178921b851dd22igalic リクエストがサーバ内のものであれば、
8559a67073808d84d85bb5dd552d4247caafe709sf 要求されたディレクトリが suEXEC のドキュメントルート配下にありますか?
c8c717fafa0a09ed13469a603a178921b851dd22igalic リクエストが UserDir のものであれば、要求されたディレクトリが suEXEC
c8c717fafa0a09ed13469a603a178921b851dd22igalic のユーザのドキュメントルート配下にありますか?
c8c717fafa0a09ed13469a603a178921b851dd22igalic (<a href="#install">suEXEC 設定オプション</a> 参照)
8559a67073808d84d85bb5dd552d4247caafe709sf </p>
8559a67073808d84d85bb5dd552d4247caafe709sf </li>
8559a67073808d84d85bb5dd552d4247caafe709sf
8559a67073808d84d85bb5dd552d4247caafe709sf <li>
8559a67073808d84d85bb5dd552d4247caafe709sf <strong>ディレクトリを他のユーザが書き込めるようになって
8559a67073808d84d85bb5dd552d4247caafe709sf <em>いない</em>か?</strong>
8559a67073808d84d85bb5dd552d4247caafe709sf
8559a67073808d84d85bb5dd552d4247caafe709sf <p class="indent">
8559a67073808d84d85bb5dd552d4247caafe709sf ディレクトリを他ユーザに開放しないようにします。
8559a67073808d84d85bb5dd552d4247caafe709sf 所有ユーザだけがこのディレクトリの内容を改変できるようにします。
8559a67073808d84d85bb5dd552d4247caafe709sf </p>
8559a67073808d84d85bb5dd552d4247caafe709sf </li>
8559a67073808d84d85bb5dd552d4247caafe709sf
8559a67073808d84d85bb5dd552d4247caafe709sf
8559a67073808d84d85bb5dd552d4247caafe709sf <li>
8559a67073808d84d85bb5dd552d4247caafe709sf <strong>対象となる CGI/SSI プログラムは存在するか?</strong>
8559a67073808d84d85bb5dd552d4247caafe709sf
8559a67073808d84d85bb5dd552d4247caafe709sf <p class="indent">
8559a67073808d84d85bb5dd552d4247caafe709sf 存在しなければ実行できません。
8559a67073808d84d85bb5dd552d4247caafe709sf </p>
a55680cd56cecad4f2d7d41b576aa63f0e008916rjung </li>
8559a67073808d84d85bb5dd552d4247caafe709sf
8559a67073808d84d85bb5dd552d4247caafe709sf <li>
8559a67073808d84d85bb5dd552d4247caafe709sf <strong>対象となる CGI/SSI プログラムファイルが他アカウントから
9a58dc6a2b26ec128b1270cf48810e705f1a90dbsf 書き込めるようになって<em>いない</em>か?</strong>
4bebf996eb7002ebfe897d46a0e0572390604a77nd
4bebf996eb7002ebfe897d46a0e0572390604a77nd <p class="indent">
4bebf996eb7002ebfe897d46a0e0572390604a77nd 所有者以外には CGI/SSI プログラムを変更する権限は与えられません。
4bebf996eb7002ebfe897d46a0e0572390604a77nd </p>
4bebf996eb7002ebfe897d46a0e0572390604a77nd </li>
4bebf996eb7002ebfe897d46a0e0572390604a77nd
4bebf996eb7002ebfe897d46a0e0572390604a77nd
4bebf996eb7002ebfe897d46a0e0572390604a77nd <li>
4bebf996eb7002ebfe897d46a0e0572390604a77nd <strong>対象となる CGI/SSI プログラムが setuid または setgid
4bebf996eb7002ebfe897d46a0e0572390604a77nd されて<em>いない</em>か?</strong>
4bebf996eb7002ebfe897d46a0e0572390604a77nd
4bebf996eb7002ebfe897d46a0e0572390604a77nd <p class="indent">
65a611af7093423efb91e5794b8887a527d4cf63trawick UID/GID を再度変更してのプログラム実行はしません
65a611af7093423efb91e5794b8887a527d4cf63trawick </p>
65a611af7093423efb91e5794b8887a527d4cf63trawick </li>
65a611af7093423efb91e5794b8887a527d4cf63trawick
65a611af7093423efb91e5794b8887a527d4cf63trawick
253547fb9cc7986e84ff68aef076f664fc4169dctakashi <li>
253547fb9cc7986e84ff68aef076f664fc4169dctakashi <strong>対象となるユーザ/グループがプログラムの
253547fb9cc7986e84ff68aef076f664fc4169dctakashi ユーザ/グループと同じか?</strong>
253547fb9cc7986e84ff68aef076f664fc4169dctakashi
253547fb9cc7986e84ff68aef076f664fc4169dctakashi <p class="indent">
253547fb9cc7986e84ff68aef076f664fc4169dctakashi ユーザがそのファイルの所有者ですか?
253547fb9cc7986e84ff68aef076f664fc4169dctakashi </p>
253547fb9cc7986e84ff68aef076f664fc4169dctakashi </li>
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe <li>
af84459fbf938e508fd10b01cb8d699c79083813takashi <strong>安全な動作を保証するための環境変数クリアが可能か?
af84459fbf938e508fd10b01cb8d699c79083813takashi </strong>
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi <p class="indent">
af84459fbf938e508fd10b01cb8d699c79083813takashi suEXEC は、安全な環境変数のリスト
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe (これらは設定時に作成されます) 内の変数として渡される安全な
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe PATH 変数 (設定時に指定されます) を設定することで、
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe プロセスの環境変数をクリアします。
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe </p>
8e9c6d6438af1ccb46adaa60d34caa3ac98f3851igalic </li>
8e9c6d6438af1ccb46adaa60d34caa3ac98f3851igalic
8e9c6d6438af1ccb46adaa60d34caa3ac98f3851igalic
8e9c6d6438af1ccb46adaa60d34caa3ac98f3851igalic <li>
9534272616b71aaea50aeec4162e749a96aebd7fsf <strong>対象となる CGI/SSI プログラムを exec して実行できるか?</strong>
7159c12b7697fe9f5ab3a533cc6dfc3d57803053igalic
7159c12b7697fe9f5ab3a533cc6dfc3d57803053igalic
7159c12b7697fe9f5ab3a533cc6dfc3d57803053igalic <p class="indent">
7159c12b7697fe9f5ab3a533cc6dfc3d57803053igalic ここで suEXEC が終了し、対象となるプログラムが開始されます。
7159c12b7697fe9f5ab3a533cc6dfc3d57803053igalic </p>
8e9c6d6438af1ccb46adaa60d34caa3ac98f3851igalic </li>
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe </ol>
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe
1d45c1463a8bc69bab1c07a4729269ec7333e713rbowen <p>ここまでが suEXEC の wrapper
1d45c1463a8bc69bab1c07a4729269ec7333e713rbowen におけるセキュリティモデルの標準的な動作です。もう少し厳重に
1d45c1463a8bc69bab1c07a4729269ec7333e713rbowen CGI/SSI 設計についての新しい制限や規定を取り入れることもできますが、
1d45c1463a8bc69bab1c07a4729269ec7333e713rbowen suEXEC はセキュリティに注意して慎重に少しずつ開発されてきました。
1d45c1463a8bc69bab1c07a4729269ec7333e713rbowen </p>
1d45c1463a8bc69bab1c07a4729269ec7333e713rbowen
1d45c1463a8bc69bab1c07a4729269ec7333e713rbowen <p>このセキュリティモデルを用いて
1d45c1463a8bc69bab1c07a4729269ec7333e713rbowen サーバ設定時にどのように許すことを制限するか、また、suEXEC
1d45c1463a8bc69bab1c07a4729269ec7333e713rbowen を適切に設定するとどのようなセキュリティ上の危険を避けられるかに
1d45c1463a8bc69bab1c07a4729269ec7333e713rbowen 関するより詳しい情報については、<a href="#jabberwock">"とかげに注意"
1d45c1463a8bc69bab1c07a4729269ec7333e713rbowen (Beware the Jabberwock)</a> の章を参照してください。
4126704c4950bfd46d32ad54e3b106ac6d868a73sf </p>
4126704c4950bfd46d32ad54e3b106ac6d868a73sf </section>
4126704c4950bfd46d32ad54e3b106ac6d868a73sf
4126704c4950bfd46d32ad54e3b106ac6d868a73sf <section id="install"><title>suEXEC
4126704c4950bfd46d32ad54e3b106ac6d868a73sf の設定とインストール</title>
4126704c4950bfd46d32ad54e3b106ac6d868a73sf
4126704c4950bfd46d32ad54e3b106ac6d868a73sf <p>ここから楽しくなります。</p>
4126704c4950bfd46d32ad54e3b106ac6d868a73sf
888cb40bdeec5abf452bd85d6bf63b26d5913d4chumbedooh <p><strong>suEXEC
888cb40bdeec5abf452bd85d6bf63b26d5913d4chumbedooh 設定オプション</strong><br />
888cb40bdeec5abf452bd85d6bf63b26d5913d4chumbedooh </p>
888cb40bdeec5abf452bd85d6bf63b26d5913d4chumbedooh
888cb40bdeec5abf452bd85d6bf63b26d5913d4chumbedooh <dl>
888cb40bdeec5abf452bd85d6bf63b26d5913d4chumbedooh <dt><code>--enable-suexec</code></dt>
a1ceb0cd0152edea3c72f4d9dcb352bae6ef273fjorton
a1ceb0cd0152edea3c72f4d9dcb352bae6ef273fjorton <dd>このオプションは、デフォルトではインストールされず、
a1ceb0cd0152edea3c72f4d9dcb352bae6ef273fjorton 有効にはならない suEXEC 機能を有効にします。
a1ceb0cd0152edea3c72f4d9dcb352bae6ef273fjorton suEXEC を使うように APACI に要求するには、<code>--enable-suexec</code>
253547fb9cc7986e84ff68aef076f664fc4169dctakashi オプションにあわせて少なくとも一つは <code>--with-suexec-xxxxx</code>
a1ceb0cd0152edea3c72f4d9dcb352bae6ef273fjorton オプションが指定されなければなりません。</dd>
a1ceb0cd0152edea3c72f4d9dcb352bae6ef273fjorton
a1ceb0cd0152edea3c72f4d9dcb352bae6ef273fjorton <dt><code>--with-suexec-bin=<em>PATH</em></code></dt>
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe <dd>セキュリティ上の理由により、<code>suexec</code> バイナリのパスはサーバに
af84459fbf938e508fd10b01cb8d699c79083813takashi ハードコードされている必要があります。デフォルトのパスを
af84459fbf938e508fd10b01cb8d699c79083813takashi 変えたいときはこのオプションを使ってください。<em>例えば</em>、
af84459fbf938e508fd10b01cb8d699c79083813takashi <code>--with-suexec-bin=/usr/sbin/suexec</code> のように。</dd>
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi <dt><code>--with-suexec-caller=<em>UID</em></code></dt>
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe <dd>Apache を通常動作させる<a
af84459fbf938e508fd10b01cb8d699c79083813takashi href="mod/mpm_common.html#user">ユーザ名</a>を指定します。
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe このユーザだけが suexec の実行を許可されたユーザになります。</dd>
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe <dt><code>--with-suexec-userdir=<em>DIR</em></code></dt>
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe <dd>suEXEC がアクセスを許されるユーザホームディレクトリ配下の
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe サブディレクトリを指定します。
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe このディレクトリ以下の全実行ファイルは、"安全な"プログラムになるよう、
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe suEXEC がそのユーザとして実行できるようにします。
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe "単純な" UserDir ディレクティブを使っている場合
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe (すなわち "*" を含まないもの)、これと同じ値を設定すべきです。
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe Userdir ディレクティブがそのユーザのパスワードファイル内の
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe ホームディレクトリと同じ場所を指していなければ、
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe suEXEC は適切に動作しません。デフォルトは "public_html" です。
c8c717fafa0a09ed13469a603a178921b851dd22igalic <br />
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe 各 UserDir が異なった仮想ホストを設定している場合、
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe それらを全て一つの親ディレクトリに含めて、
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe その親ディレクトリの名前をここで指定する必要があります。
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe <strong>このように指定されなければ "~userdir" cgi
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe へのリクエストが動作しません。</strong></dd>
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe
c8c717fafa0a09ed13469a603a178921b851dd22igalic <dt><code>--with-suexec-docroot=<em>DIR</em></code></dt>
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe <dd>Apache のドキュメントルートを設定します。これが suEXEC
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe の動作で使用する唯一のディレクトリ階層になります (UserDir
7ffcb32836c716e53b7f4b856ee16d9139b8d3bdsf の指定は別)。デフォルトでは <code>--datedir</code> に "/htdocs"
7ffcb32836c716e53b7f4b856ee16d9139b8d3bdsf というサフィックスをつけたものです。
7ffcb32836c716e53b7f4b856ee16d9139b8d3bdsf "<code>--datadir=/home/apache</code>" として設定すると、
7ffcb32836c716e53b7f4b856ee16d9139b8d3bdsf suEXEC wrapper にとって "/home/apache/htdocs"
7ffcb32836c716e53b7f4b856ee16d9139b8d3bdsf がドキュメントルートとして使われます。</dd>
7ffcb32836c716e53b7f4b856ee16d9139b8d3bdsf
7ffcb32836c716e53b7f4b856ee16d9139b8d3bdsf <dt><code>--with-suexec-uidmin=<em>UID</em></code></dt>
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe <dd>suEXEC の対象ユーザとして許される UID の最小値を指定します。
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe 大抵のシステムでは 500 か 100 が一般的です。
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe デフォルト値は 100 です。</dd>
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe
acf65805923cf80834c39689cc0e2a8e7201c186sf <dt><code>--with-suexec-gidmin=<em>GID</em></code></dt>
acf65805923cf80834c39689cc0e2a8e7201c186sf
acf65805923cf80834c39689cc0e2a8e7201c186sf <dd>suEXEC の対象グループとして許される GID
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe の最小値を指定します。大抵のシステムでは 100 が一般的なので、
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe デフォルト値としても 100 が使われています。</dd>
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe
af84459fbf938e508fd10b01cb8d699c79083813takashi <dt><code>--with-suexec-logfile=<em>FILE</em></code></dt>
af84459fbf938e508fd10b01cb8d699c79083813takashi
af84459fbf938e508fd10b01cb8d699c79083813takashi <dd>suEXEC の処理とエラーが記録されるファイル名を指定します。
af84459fbf938e508fd10b01cb8d699c79083813takashi (監査やデバッグ目的に有用)
f086b4b402fa9a2fefc7dda85de2a3cc1cd0a654rjung デフォルトではログファイルは "suexec_log" という名前で、
727872d18412fc021f03969b8641810d8896820bhumbedooh 標準のログファイルディレクトリ (<code>--logfiledir</code>) に置かれます。
0d0ba3a410038e179b695446bb149cce6264e0abnd </dd>
727872d18412fc021f03969b8641810d8896820bhumbedooh
cc7e1025de9ac63bd4db6fe7f71c158b2cf09fe4humbedooh <dt><code>--with-suexec-safepath=<em>PATH</em></code></dt>
0d0ba3a410038e179b695446bb149cce6264e0abnd
cc7e1025de9ac63bd4db6fe7f71c158b2cf09fe4humbedooh <dd>CGI 実行ファイルに渡される安全な PATH 環境変数です。
727872d18412fc021f03969b8641810d8896820bhumbedooh デフォルト値は "/usr/local/bin:/usr/bin:/bin" です。
0d0ba3a410038e179b695446bb149cce6264e0abnd </dd>
0d0ba3a410038e179b695446bb149cce6264e0abnd </dl>
0d0ba3a410038e179b695446bb149cce6264e0abnd
ac082aefa89416cbdc9a1836eaf3bed9698201c8humbedooh <p><strong>suEXEC wrapper
0d0ba3a410038e179b695446bb149cce6264e0abnd のコンパイルとインストール</strong><br />
0d0ba3a410038e179b695446bb149cce6264e0abnd <code>--enable-suexec</code> オプションで suEXEC 機能を有効にすると、
0d0ba3a410038e179b695446bb149cce6264e0abnd "make" コマンドを実行した時に <code>suexec</code> のバイナリ (Apache 自体も)
727872d18412fc021f03969b8641810d8896820bhumbedooh が自動的に作成されます。
0d0ba3a410038e179b695446bb149cce6264e0abnd <br />
0d0ba3a410038e179b695446bb149cce6264e0abnd すべての構成要素が作成されると、それらのインストールには
30471a4650391f57975f60bbb6e4a90be7b284bfhumbedooh <code>make install</code> コマンドが実行できます。バイナリイメージの <code>suexec</code>
07dc96d063d49299da433f84b5c5681da9bbdf68rbowen は <code>--sbindir</code> オプションで指定されたディレクトリにインストールされます。
af33a4994ae2ff15bc67d19ff1a7feb906745bf8rbowen デフォルトの場所は "/usr/local/apache/bin/suexec" です。<br />
0d0ba3a410038e179b695446bb149cce6264e0abnd インストール時には <strong><em>root</em></strong>
7fec19672a491661b2fe4b29f685bc7f4efa64d4nd 権限が必要なので注意してください。wrapper がユーザ ID
7fec19672a491661b2fe4b29f685bc7f4efa64d4nd を設定するために、所有者 <code><em>root</em></code>
7fec19672a491661b2fe4b29f685bc7f4efa64d4nd でのセットユーザ ID
43365cc9aaf2bea5be539bea80c5eb7c926ce148humbedooh ビットをそのファイルのモードに設定しなければなりません。
</p>
<p><strong>安全なパーミッションを設定する</strong><br />
suEXEC ラッパーは、<code>--with-suexec-caller</code> <program>configure</program>
オプションで指定した正しいユーザで起動されていることを確認しますが、
システム上でこのチェックが行なわれる前に、
suEXEC が呼ぶシステムやライブラリが脆弱である可能性は残ります。対抗策として、
一般に良い習慣ともされいますが、
ファイルシステムパーミッションを使って
Apache の実行時のグループのみが suEXEC を実行できるように
するのが良いでしょう。</p>
<p>たとえば、次のようにサーバが設定されていたとします。</p>
<example>
User www<br />
Group webgroup<br />
</example>
<p><program>suexec</program> が "/usr/local/apache2/bin/suexec"
にインストールされていた場合、次のように設定する必要があります。</p>
<example>
chgrp webgroup /usr/local/apache2/bin/suexec<br />
chmod 4750 /usr/local/apache2/bin/suexec<br />
</example>
<p>これで Apache が実行されるグループのみが
suEXEC ラッパーを実行できるということを
確証します。</p>
</section>
<section id="enable"><title>suEXEC
の有効化と無効化</title>
<p>起動時に、Apache は <code>--sbindir</code>
オプションで設定されたディレクトリで
<code>suexec</code> を探します
(デフォルトは "/usr/local/apache/sbin/suexec") 。
適切に設定された suEXEC がみつかると、
エラーログに以下のメッセージが出力されます。</p>
<example>
[notice] suEXEC mechanism enabled (wrapper: <var>/path/to/suexec</var>)
</example>
<p>サーバ起動時にこのメッセージが出ない場合、
大抵はサーバが想定した場所で wrapper プログラムが見つからなかったか、
<em>setuid root</em> としてインストールされていないかです。</p>
<p>suEXEC の仕組みを使用するのが初めてで、Apache が既に動作中であれば、
Apache を kill して、再起動しなければなりません。HUP シグナルや
USR1 シグナルによる単純な再起動では不十分です。</p>
<p>suEXEC を無効にする場合は、<code>suexec</code> ファイルを削除してから
Apache を kill して再起動します。
</p>
</section>
<section id="usage"><title>suEXEC の使用</title>
<p>CGI プログラムへのリクエストが suEXEC ラッパーを呼ぶのは、
<directive module="mod_suexec">SuexecUserGroup</directive> ディレクティブを
含むバーチャルホストへのリクエストか、<module>mod_userdir</module> により
処理されたリクエストの場合に限ります。</p>
<p><strong>仮想ホスト:</strong><br />
suEXEC wrapper の使い方として、
<directive module="core">VirtualHost</directive> 設定での
<directive module="mod_suexec">SuexecUserGroup</directive>
ディレクティブを通したものがあります。
このディレクティブをメインサーバのユーザ ID
と異なるものにすると、CGI リソースへのすべてのリクエストは、その
<directive module="core"
type="section">VirtualHost</directive> で指定された <em>User</em> と
<em>Group</em> として実行されます。<directive module="core"
type="section">VirtualHost</directive>
でこのディレクティブが指定されていない場合、
メインサーバのユーザ ID が想定されます。</p>
<p><strong>ユーザディレクトリ:</strong><br />
<module>mod_userdir</module> により処理されたリクエストは
リクエストされたユーザディレクトリのユーザ ID で CGI プログラムを
実行するために suEXEC ラッパーを呼びます。
この機能を動作させるために必要なことは、CGI
をそのユーザで実行できること、そのスクリプトが上記の<a
href="#model">セキュリティ検査</a>をパスできることです。
<a href="#install">コンパイル
時のオプション</a> <code>--with-suexec-userdir</code> も参照してください。</p>
</section>
<section id="debug"><title>suEXEC のデバッグ</title>
<p>suEXEC wrapper は、上記で述べた <code>--with-suexec-logfile</code>
オプションで指定されたファイルにログ情報を記録します。
wrapper を適切に設定、インストールできていると思う場合、
どこで迷っているか見ようとするならこのログとサーバの
エラーログを見るとよいでしょう。</p>
</section>
<section id="jabberwock"><title>とかげに注意: 警告と事例</title>
<p><strong>注意!</strong>
この章は完全ではありません。この章の最新改訂版については、
Apache グループの<a href="http://httpd.apache.org/docs/&httpd.docs;/suexec.html">
オンラインドキュメント</a>版を参照してください。
</p>
<p>サーバの設定に制限をもうける wrapper について、
いくつか興味深い点があります。suEXEC に関する "バグ"
を報告する前にこれらを確認してください。</p>
<ul>
<li><strong>suEXEC の興味深い点</strong></li>
<li>階層構造の制限
<p class="indent">
セキュリティと効率の理由から、<code>suEXEC</code> の全てのリクエストは
仮想ホストへのリクエストにおける最上位のドキュメントルート内か、
ユーザディレクトリへのリクエストにおける個々のユーザの最上位の
ドキュメントルート内に残らなければなりません。
例えば、四つの仮想ホストを設定している場合、
仮想ホストの suEXEC に有利なように、メインの Apache
ドキュメント階層の外側に全ての仮想ホストのドキュメントルートを
構築する必要があります。(例は後日記載)
</p>
</li>
<li>suEXEC の PATH 環境変数
<p class="indent">
これを変更するのは危険です。この指定に含まれる各パスが
<strong>信頼できる</strong>
ディレクトリであることを確認してください。
世界からのアクセスにより、誰かがホスト上でトロイの木馬
を実行できるようにはしたくないでしょう。
</p>
</li>
<li>suEXEC コードの改造
<p class="indent">
繰り返しますが、何をやろうとしているか把握せずにこれをやると
<strong>大きな問題</strong>を引き起こしかねません。
可能な限り避けてください。
</p>
</li>
</ul>
</section>
</manualpage>