転載・引用について

ユーザ用ツール

サイト用ツール


tweet:2013:0902_01

某の件まとめ

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

ポイントは

まぁ、要するに、

  • 「マルチユーザー」環境で「共用サービス」を提供する場合には「注意すべきこと」がやはり沢山ある
  • 今時、共有環境なんて使っていない人たちが多いので既に「忘れ去られている」知識が増えている

ということでしょうね。

結論としては、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側を調べてみた結果、以下が判明

  • WordPresssでrewriteに対応するために設定しているhttpd.confの以下の部分を変更する
    • ##### WPのサイトに記載されている標準
             <IfModule mod_rewrite.c>
                 RewriteEngine On
                 RewriteBase /
                 RewriteCond %{REQUEST_FILENAME} !-f
                 RewriteCond %{REQUEST_FILENAME} !-d
                 RewriteRule . /index.php [L]
             </IfModule>
      ##### 修正後
             <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>
  • これで、FollowSymlinkもSymLinksIfOwnerMatchもOffにして、rewrite出来るようになった。

というわけで、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>

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

このウェブサイトはクッキーを使用しています。 Webサイトを使用することで、あなたはあなたのコンピュータにクッキーを保存することに同意します。 また、あなたはあなたが私たちのプライバシーポリシーを読んで理解したことを認めます。 同意しない場合はウェブサイトを離れてください。クッキーに関する詳細情報
tweet/2013/0902_01.txt · 最終更新: 2013/09/02 01:00 by 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki