Apache2 suExecモジュールをカスタマイズして、いくつかの特別な環境変数がsuExecを通過するようにする必要があります。
DebianパッケージApache2-suexec
からソースコードをダウンロードし、suexec.c
-> safe_env_lst
を変更し、.debパッケージを再コンパイルして再度ビルドし、本番システムにロールアウトする方法を教えてください。
apt-get source Apache2-suexec
を試しましたが、発生したApache2- *フォルダー内にsuexec.c
が見つかりませんでした。
変更されたソースコードは次のようになります。
static const char *const safe_env_lst[] =
{
/* variable name starts with */
"HTTP_",
"SSL_",
/* NEW: Perl debugging variables */
"Perl5OPT=",
"Perl5LIB=",
"PERLDB_OPTS=",
"DBGP_IDEKEY=",
/* NEW: FCGI variables */
"FCGI=",
"FCGI_CONNECTION=",
"FCGI_RUNTIME=",
"FCGI_STARTTIME=",
ドラフトに基づく: http://static.askapache.com/httpd/support/suexec.c
apt-get source Apache2-suexec
を試しましたが、発生したApache2- *フォルダー内にsuexec.c
が見つかりませんでした。
私のUbuntu12.04の場合:
# cd Apache2-2.2.22/
# find . -name 'suexec.c'
./support/suexec.c
./.pc/045_suexec_log_cloexec/support/suexec.c
./.pc/058_suexec-CVE-2007-1742/support/suexec.c
Debianパッケージ
Apache2-suexec
からソースコードをダウンロードし、suexec.c
->safe_env_lst
を変更し、.debパッケージを再コンパイルして再度ビルドし、本番システムにロールアウトする方法を教えてください。
# apt-get build-dep Apache2-suexec
# apt-get install devscripts
# debuild -i -us -uc -b
# dpkg -i ../Apache2-suexec_2.2.22-1ubuntu1_AMD64.deb