[EPA2008b]EPAサーバのHiki 領域に関する設定

2009/2/20 時点で, apache の設定ファイル /usr/local/apache2/conf/httpd.conf における Hiki 領域の設定が 「各領域の .htaccess による設定の上書きをすべて許可する」状況になっていたので, スクリプトの実行のみを許可するように変更した. しかし, apache がうまく作動せず Hiki が使用不能になったため, 別の設定に変更してある. 原因を正確に把握できていないため, 事故の経緯と 2009/3/28 現在 apache で 有効にしている Hiki 領域に関する設定を記す.

事故の経緯 (2009/2/20)

ika の apache の設定ファイル /usr/local/apache2/conf/httpd.conf 内の Hiki 領域に関する設定項目 "Setting for Hiki area" にて, <Directory> タグ内を

AllowOverride All -> AllowOverride Options=ExecCGI

と書き換えた. 具体的には,

#
# Setting for Hiki Area
#
<Directory "/home/epalab/public_html/hiki">
 AllowOverride Options=ExecCGI
</Directory>

<Directory "/home/itpass/public_html/hiki">
 AllowOverride Options=ExecCGI
</Directory>

<Directory "/home/cps/public_html/for-steering/hiki-wheel">
 AllowOverride Options=ExecCGI
</Directory>

である. 書き換え後にapache を再起動したが Hiki のページを表示できなくなった. その時は, 佐々木さんが <Directory> タグ内を

AllowOverride FileInfo AuthConfig Limit Indexes Options=ExecCGI,FollowSymlinks

と書き換え apache を再起動する事で再び Hiki を使えるようになった.

エラーログ

原因を知るため, httpd のエラーに関するログを調べた. 2009/2/20 の Hiki が使用不能になった時間帯 18:50-20:30 から "alert" と表示されている行を検索した. 以下に示すのは検索結果のうち, エラーの種類1 種類につき1 例のみ抜き出したものである.

  • httpd-error.log.6.gz
[Fri Feb 20 18:54:42 2009] [alert] [client 133.30.109.47] /home/cps/public_html/for-steering/hiki-wheel/.htaccess: AddHandler not allowed here

[Fri Feb 20 19:45:36 2009] [alert] [client 133.30.109.46] /home/cps/public_html/for-steering/hiki-wheel/.htaccess: DirectoryIndex not allowed here
  • httpd-ssl-error.log.6.gz
[Fri Feb 20 18:51:07 2009] [alert] [client 133.30.109.22] /home/epalab/public_html/hiki/.htaccess: Option FollowSymLinks not allowed here, referer: http://epa.scitec.kobe-u.ac.jp/

[Fri Feb 20 19:28:48 2009] [alert] [client 133.30.109.48] /home/epalab/public_html/hiki/.htaccess: DirectoryIndex not allowed here, referer: http://epa.scitec.kobe-u.ac.jp/

[Fri Feb 20 19:31:48 2009] [alert] [client 133.30.109.48] /home/epalab/public_html/hiki/.htaccess: Illegal option DirectoryIndex, referer: http://epa.scitec.kobe-u.ac.jp/

[Fri Feb 20 19:36:44 2009] [alert] [client 133.30.109.48] /home/epalab/public_html/hiki/.htaccess: deny not allowed here, referer: http://epa.scitec.kobe-u.ac.jp/

[Fri Feb 20 19:42:47 2009] [alert] [client 133.30.109.48] /home/epalab/public_html/hiki/.htaccess: AuthType not allowed here

httpd.conf の Hiki 領域に関する設定内容 (2009/3/28 現在)

5 箇所の Hiki 領域 ~epalab/hiki , ~itpass/hiki, ~itpass/hiki-secret, ~cps/for-steering/hiki, ~/tansaku/hiki では, 以下の設定を .htaccess により 上書きすることが許可されている.

  • FileInfo (ディレクトリ表示)
  • AuthConfig (認証に関するディレクティブの設定)
  • Limit (ホスト名や IP アドレスによるアクセス制御)
  • Indexes (クライアントから指定されたファイルが存在しない場合に, ディレクトリ一覧を表示する)
  • Options=ExecCGI,FollowSymlinks (CGI スクリプトの実行を許可, リンク先への移動を許可)

以下に httpd.conf の Hiki 領域に関する設定を示す.

#
# Setting for Hiki Area
#
<Directory "/home/epalab/public_html/hiki">
 AllowOverride FileInfo AuthConfig Limit Indexes Options=ExecCGI,FollowSymlinks
</Directory>

<Directory "/home/itpass/public_html/hiki">
 AllowOverride FileInfo AuthConfig Limit Indexes Options=ExecCGI,FollowSymlinks
</Directory>

<Directory "/home/itpass/public_html/hiki-secret">
 AllowOverride FileInfo AuthConfig Limit Indexes Options=ExecCGI,FollowSymlinks
</Directory>

<Directory "/home/cps/public_html/for-steering/hiki-wheel">
 AllowOverride FileInfo AuthConfig Limit Indexes Options=ExecCGI,FollowSymlinks
</Directory>

<Directory "/home/tansaku/public_html/hiki">
 AllowOverride FileInfo AuthConfig Limit Indexes Options=ExecCGI,FollowSymlinks
</Directory>

5 箇所の Hiki 領域 ~epalab/hiki , ~itpass/hiki, ~itpass/hiki-secret, ~cps/for-steering/hiki, ~/tansaku/hiki では, 以下の設定に関して .htaccess による上書きが 許可されている.

  • FileInfo (ディレクトリ表示)
  • AuthConfig (認証に関するディレクティブの設定)
  • Limit (ホスト名や IP アドレスによるアクセス制御)
  • Indexes (クライアントから指定されたファイルが存在しない場合に, ディレクトリ一覧を表示する)
  • Options=ExecCGI,FollowSymlinks (CGI スクリプトの実行を許可, リンク先への移動を許可)

.htaccess の設定内容 (2009/3/28 現在)

以下に 各 Hiki 領域における .htaccess の内容を示す.

  • /home/epalab/hiki/cgi/.htaccess
Options +ExecCGI
Options +FollowSymLinks

AddHandler cgi-script .cgi
DirectoryIndex hiki.cgi

AuthType Basic
AuthName "EPA-Lab. Hikiwiki"
AuthUserFile /home/epalab/.htpasswd-hiki
Require user hogehoge

<Files "hikiconf.rb">
        deny from all
</Files>
  • /home/itpass/hiki/cgi/.htaccess
Options +ExecCGI
Options +FollowSymLinks

AddHandler cgi-script .cgi
DirectoryIndex hiki.cgi

<Files "hikiconf.rb">
        deny from all
</Files>
  • /home/itpass/hiki-secret/cgi/.htaccess
Options +ExecCGI

AddHandler cgi-script .cgi
DirectoryIndex hiki.cgi

<Files "hikiconf.rb">
        deny from all
</Files>
AuthType Basic
AuthName "ITPASS secret-Hikiwiki"
AuthUserFile /home/itpass/.htpasswd-hiki-secret
Require user itpasspass
  • /home/cps/for-steering/hiki/cgi/.htaccess
Options +ExecCGI

AddHandler cgi-script .cgi
DirectoryIndex hiki.cgi

<Files "hikiconf.rb">
        deny from all
</Files>

Options +FollowsymLinks
  • /home/tansaku/hiki/cgi/.htaccess
Options +ExecCGI

AddHandler cgi-script .cgi
DirectoryIndex hiki.cgi

<Files "hikiconf.rb">
        deny from all
</Files>


Options +FollowSymLinks

Hiki ページの修正

今回の設定変更を Hiki のページに反映させるため, [EPA2008b]apache2のインストールと設定 のページを一部修正. 変更点を以下に示す.

1. 設定ファイルの編集 項目の Hiki 領域の設定に関する記述を変更.

2. httpd.conf と オリジナルとの変更点で, diff の出力結果を更新.

3. [EPA2008b]Hikiのページ毎の基本設定#ファイルへのアクセス制御の設定 項目の <Directory> タグ内を変更.

Last modified:2009/04/01 12:23:32
Keyword(s):
References: