Stefan Esser氏が自身のブログ[PHP Security Blog]で、open_basedirの欠陥を指摘しつつも、その有効性を説明しています。
Stefan Esser氏が自身のブログ[PHP Security Blog]で、open_basedirの欠陥を指摘しつつも、その有効性を説明しています。
確かに、open_basedirには設計上の欠陥があり、シンボリックリンクを作成することで、opne_basedir制限を容易く回避できます(詳しくはAdvisory 08/2006: PHP open_basedir Race Condition Vulnerabilityを参照して下さい)。
それでも、open_basedirを用いるべきであると筆者は主張しています。特に、インクルード攻撃に対して有効な対応策となるのです。
彼は、ブログで以下のように述べています。
リモートファイルのインクルードに対しては、 PHPアプリケーションの安全な運用を目的としたプロジェクト(Suhosinなど)が有効に働きます。しかし、ログファイルや、POSTでアップロードされたテンポラリファイルなど、ローカルファイルをインクルードする攻撃に対し、それらは有効ではありません。特に、テンポラリファイル名を生成する部分に脆弱性があるシステムでは、深刻な問題となります。
この攻撃に対し、open_basedir制限は非常に強力な盾となります。もしインクルードさせたいファイル名をリモート攻撃者が埋め込んでいたとしても、open_basedir制限を回避できません(※)。それゆえに、ローカルファイル・インクルード脆弱性を突けるファイル数は限定されます。また、open_basedirが適切に設定されていれば、ログファイルなどをインクルードできません。結果、攻撃の危険度は大幅に下がります。
※ただし、リモートからopen_basedir制限を回避できるセキュリティ・ホールがpack関数にあります。(PHPプロ!)
関連リンク
関連ニュース
- バーチャルホスト時にクッキーハイジャックする例が紹介されています
- PHP 5.2で登場したFilterエクステンションは本当に必要か?
- PHPのsafe_modeを改良するセキュリティパッチが公開されています
転載元
PHPプロ!:最新のPHPニュース
この記事は参考になりましたか?
- この記事の著者
-
PHPプロ!(PHPプロ!)
「PHPプロ!」は、アシアル株式会社が運営するPHP開発者のためのポータル&コミュニティサイトです。同サイトでは、PHP最新ニュースや、困ったときのQ&A掲示板、初心者向けのPHP講座、PHP中級者のためのTIPSメーリングリスト、中・上級者向けの技術ノウハウ満載のPHPプロ!マガジンの提供など、PHP開発...
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です