某の件まとめ

某ロ*プの件、一区切りついた。これ以上特に調べる必要はなさそう。

ポイントは

まぁ、要するに、

ということでしょうね。

結論としては、Apache+suExec+Chrootかなぁ。Apacheの設定を「もう一度点検せよ」かな。

追記 (2013/09/02 13:10)

WordPress利用者はしばしばPermalink設定のために「rewrite」を利用するが、このrewriteを使うにはFollowSymLinkが生きていないといけない模様。(ダメぢゃん)

で、回避策はと探してみたら、Apache本家の Apacheコア機能 の中に、

SymLinksIfOwnerMatch
シンボリック先のファイルまたはディレクトリが、 シンボリックリンクの所有ユーザ ID と同じ場合にのみシンボリックリンクを たどれるようにします。
注

<Location> 内にこのオプションを 指定しても無視されます。
このオプションはセキュリティの強化にはなりません。 なぜなら symlink の検査はレースコンディションを引き起こす可能性があり、 そのため回避可能になるからです。

を発見。って、Securityの強化にならないとな。これもダメか?というか、なんでURL rewriteでSymlinkが必要なんだよ?

追記 (2013/09/02 13:20)

で、WordPress側を調べてみた結果、以下が判明

というわけで、Symlink問題は

        AllowOverride None
        Options ExecCGI
       <IfModule mod_rewrite.c>
           RewriteCond $1 ^(index\.php)?$ [OR]
           RewriteCond $1 \.(gif|jpg|ico|css|js)$ [NC,OR]
           RewriteCond %{REQUEST_FILENAME} -f [OR]
           RewriteCond %{REQUEST_FILENAME} -d
           RewriteRule ^(.*)$ - [S=1]
           RewriteRule . /index.php [L]
       </IfModule>

でイケることが判明。よし、まず一歩目をクリア