Security Update 2004-12-02
これをウチのサーバにあてたところ、私のBlogホームページが表示されなくなってしまった。
Security Update 2004-12-02 がリリースされた。この中にはApacheのアップデートも含まれており、ようやく Web共有のセキュリティホールが改善されると思って自宅サーバにも適応した。すると私のホームページ(Blog)が全く表示されなくなってしまった。Apple は Security Update 2004-12-02 で一体何をしたのか?
エラーログを見ると、
[Fri Dec 3 20:10:31 2004] [alert] [client 192.168.xx.xx] /Library/WebServer/Documents/.htaccess:
Regex could not be compiled
|
というメッセージが出ている。意味不明である・・・が、どうやらホームページのディレクトリ下に置いてある ".htaccess" ファイルが関係しているらしい。".htaccess" ファイルを置いたディレクトリは Apacheの設定を上書きすることができ、ディレクトリ毎にアクセス制限など変更したい場合に使うファイルだ。このファイルによるApache設定の上書きを許すか否かは大元の Apacheの設定ファイル "/etc/httpd/httpd.conf" に記されている。と言うことで、"/etc/httpd/httpd.conf" をチェックすると確かに更新されている。加えて以前のファイルも "httpd.conf.applesaved" という名前で保存されている。これで何が変わったのか調べることができる。
しかし、"httpd.conf" を "httpd.conf.applesaved" で置き換え(つまり元の設定に戻し)Web共有を再起動してみても症状は一向に変わらず、また変更された内容を調べてみても原因になりそうな変更ではなかった。
色々と試行錯誤した結果、".htaccess" ファイルを削除するとホームページが表示されるようになるようだ。要するに ".htaccess" ファイルにより Apache設定の上書きを行おうとするページ(ディレクトリ)は拒否してしまうらしいのだ。もしかすると何らかの方法で ".htaccess" を送り込まれて設定を変更(例えば "Options All" などを追加)されてしまうと、その下にあるファイル、ディレクトリを丸見えにすることもできるので、これを脆弱性と考えたのかも?
しかし、これは Apacheの正式な機能の一部だし、"httpd.conf" で Apache設定の上書きを認めないよう "AllowOverride None" としておけば良いはずなのだが。
と言うわけで、Blogページに置いてあった "/Library/WebServer/Documents/.htaccess" は削除して復旧させてある。このファイルには PHPセキュリティのための設定やアクセス解析(BBClone)機能の設定が記述してあったのだが、取り敢えずこれが無くても大丈夫な様子だ。
|