• ベストアンサー

PHP4.4.0以下に起こるセキュリティホールについて

お世話になります。 現在某レンタルサーバでPHPを使用しています。 先月末、PHPに最悪のセキュリティホールが発見されました。 http://itpro.nikkeibp.co.jp/article/NEWS/20051102/223939/ この件に関して、早急にバージョンを上げて欲しいということで レンタルサーバ業者に連絡を入れたのですが、 1.PHP4.4.1は仕様の変更がかなりあっているので、共有サーバという性質上、バージョンアップは難しい 2.セキュリティホールではあるが、サーバ自体に影響のある類のものでは無い 3.PHPコードのサニタイジングで対応可能 だという理由で今のところバージョンアップの予定は無いという回答でした。 そこで、とにかくも「3.PHPコードのサニタイジングで対応可能。」だという回答は貰えましたので、 早速今回のセキュリティホールに対応しようと行動を開始したのですが、 どこから手をつけて良いのか判らない状態です。 私なりに今回のセキュリティホールがどんなものか、理解しようと思い、以下のサイトを参照してみたのですが http://www.hardened-php.net/index.76.html ようはinputタグのtypeがfileであり、かつname="GLOBALS"の時、 PHPの大域変数(global変数という呼び方が一般的ですが、紛らわしいのでここでは大域変数と呼びます)が アップロードしたファイル名で上書きされる、といったところでしょうか?(自信なし) だとするならばサニタイジングするべきは、局所変数でない箇所すべて、ということになりますが この認識で合っているのでしょうか? 前置きが長くなりましたが、今回教えて欲しい点は サニタイジングすべきPHPの変数は、 ・大域変数全てなのか? ・スーパーグローバル変数全てなのか? ・$GLOBALS全てなのか? です。

  • PHP
  • 回答数2
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • satoh
  • ベストアンサー率77% (17/22)
回答No.2

> 今回私が検討をつけたサニタイジングすべき箇所 > > ・大域変数 > ・スーパーグローバル変数 > ・$GLOBALS > > は全てregister_globals = off > である場合に問題になるということが判りました。 あれ、違いませんか? 今回の脆弱性のうち、 PHP File-Upload $GLOBALS Overwrite Vulnerability の方は、参考URL先にありますが、register_glboals=offなら回避できるようですよ。 ※参考URL先の4.4.1の項目ですが、4.3.10でも回避策は同じだと思います。 ただ根本的な解決ではありませんので、是非バージョンアップをもう一度お願いしたらいかがでしょうか。サーバのPHPが4.3.10のようですが、4.3.11に上げれば、今回の脆弱性に対するパッチも出ていますので。 4.3.11のパッチはこちらです。 http://wiki.ohgaki.net/index.php?PHP%2Fpatch%2F%24GLOBAL%CA%DD%B8%EE%A5%D1%A5%C3%A5%C1 でも、サーバはどなたかの自前構築なのでしょうか?メジャーなディストリビューションなら、パッチがちゃんと出ると思うのですけど。 なお、 > しかし結局、今回"最悪"のセキュリティホールということで発表された > このセキュリティホールを、PHP4.4.0以下を利用している状態でどう > 対応すれば良いのか、ということは不明なままです。 と、心配されていますけど、わたしはPHP歴2年程度ですが、このくらいの脆弱性は「あ、またか」程度です(笑)。register_globals=offで済む話ですし。 と、言いながら、自分の管理のところはしっかり4.4.1に上げましたけど。上げられるなら上げるのがやっぱり一番です。

参考URL:
http://wiki.ohgaki.net/index.php?PHP%2F%C0%C8%BC%E5%C0%AD%A5%EA%A5%B9%A5%C8
haru1234
質問者

お礼

失礼しました。単純な、しかし一番重要な箇所でタイプミスしてしまいました^^; 仰るようにregister_globals=onの場合に問題になる、ですね。 ちなみにサーバはレンタルサーバを使用しています。 さて、今回の件ですが仰るようにregister_globals = offであればどうも問題無いようですね。 アドバイスありがとうございました。

その他の回答 (1)

回答No.1

ここも参考になるようです。

参考URL:
http://www.eth.jp/hiki.cgi?PHP-Changes-4.4.1
haru1234
質問者

お礼

返答ありがとうございます。 さて、返答頂きましたサイトを確認しましたところ、 今回私が検討をつけたサニタイジングすべき箇所 ・大域変数 ・スーパーグローバル変数 ・$GLOBALS は全てregister_globals = off である場合に問題になるということが判りました。 どうも、環境と使用している関数によって影響範囲が大きく変わるようなので、環境と 使用している関数を書きます。 apache1.3.3 PHP4.3.10 regitster_globals = off safe_mode = off import_request_variables() 使用箇所無し parse_str() 仕様箇所無し adslashes()仕様箇所無し foreach 展開や extract 展開による実質的なregister_globals = on無し という環境です。 また、PHPを利用しているscriptでは最大規模の大御所であるxoopsが、今回のセキュリティホールに ついてコメントを出しています。 http://xoopscube.jp/modules/cubeNews/index.php?action=detail&id=18 やはりサニタイジングすることによって、PHP4.4.0以下のバージョンでも影響を受けないと いうことが判りました。 しかし結局、今回"最悪"のセキュリティホールということで発表された このセキュリティホールを、PHP4.4.0以下を利用している状態でどう 対応すれば良いのか、ということは不明なままです。 引き続き、識者の方のご教示を仰ぎたいと思います。 よろしくお願いします。

関連するQ&A

  • PHPのセキュリティーホールについて

    プログラムについて素人のため、下記の内容が、よく理解できません。 対策としてはパッチを適用とありますが、具体的にどのようにするのでしょうか。 素人でもできるものなのでしょうか。やはり、プロの方にお願いしなくてはいけないのでしょうか。 的外れな質問かもしれませんが、よろしくお願いします。m(_ _)m ---------------------------------------------------------------- Hardened-PHP Projectは10月31日(現地時間),オープンソースWebアプリ ケーション開発言語PHPの深刻なセキュリティ・ホールを警告した。リモート からPHPスクリプトを実行される「今まで見つかった中でも最悪のセキュリ ティ・ホール。全てのPHPユーザは今すぐ対処を行う必要がある」(日本PHP ユーザー会 大垣靖男氏)。PHP4の4.4.0以前のバージョン,PHP5の5.0.5以 前のバージョンが影響を受ける。対策はパッチを適用することなど。 ---------------------------------------------------------------

  • 12/15に見つかったphpのセキュリティーホールについて

    phpのセキュリティーホールが見つかったようなので、バージョンアップしようと思うのですが、開発の途中でバージョンを変えても大丈夫なものなのでしょうか。 また、バージョンを変更する際に気をつけなければならない天などはありますでしょうか。 今使っているバージョンはphp4.3.9です。 これをphp4.3.10に変えようと思っています。 <<参考>> http://www.php.net/

    • ベストアンサー
    • PHP
  • リナックスのセキュリティホール

    いつもお世話になっております 今回HDEL inux Controller2.5(ISP)(ウェブベースの管理ツール)とRedHat7.3でサーバーの運用を始めたのですが、運用を開始してはや2ヶ月で2度もハッキングされてしまいました。 (内容としては、基本コマンドが使えなくなったり/パーテーショが使用率100%になってしまったり) 最低限のセキュリティ対策は施しておいたのですが、HDEの関係でApacheやPHP、SSLなどのバージョンアップはRedHatのエラータ待ちの状態でした。 上記の組み合わせで何か良い対策若しくは、既知のセキュリティホール及びその対策等ご教授いただければと思います。 利用目的としては、仲間数人で、レンタルサーバーを借りるよりも安く済ませようという目的です。

  • PHPのセキュリティ

    業者からphpのセキュリティサポートが終了するのでバージョンアップしないと改ざんや個人情報の漏洩につながると言われました。 サーバーのセキュリティがあれば、改ざんなど大丈夫かと思ったのですが違うのでしょうか? どなたかもう少し詳しくわかりやすく教えて下さい。

  • php設定ファイルについて

    セキュリティ上よろしくないとは知りながら、register_globalsの設定をonに変えたいと思っています。 で、いろいろ調べたのですが、ユーザーレベルでこの設定を変えるにはphpファイルのあるディレクトリでphp.iniというファイルを置き、中身を「register_globals=on」にする方法と、.htaccessを置いて中身を「php_flag register_globals on」とする方法と2つあるようですが、この方法はどちらもどのサーバーでも有効な方法なのでしょうか。 .htaccessについては許可していないサーバーもあるようですので万能ではないようですが、許可されているかされていないかは別として、これらのファイルを置けば有効になるものなのか、それともサーバー管理者が「このファイルにこう書けばOK」と設定次第で有効になるものなのかが知りたいのです。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • phpのバージョンアップは素人でも出来ますか?

    phpのバージョンアップは素人でも出来ますか? VPSサーバーをレンタルし、ワードプレスを利用しています。 ワードプレスの最新バージョンは3.2.1なのですが、このバージョンを利用するにはphp5.2.4以降を 必要としていますが、レンタルしているVPSサーバーのphpは5.1.6です。 レンタルサーバーに問い合わせをしましたが「ご自身でバージョンアップしてください」とのこと。 しかし私は素人で自分でサーバーのphpバージョンアップなど対応出来ません。 素人では無理ですよね? 諦めるしかないのでしょうか?

  • セキュリティホールについて

    最近、ウイルス検索をする度に、セキュリティホールが検出されます。 緊急:MS07-004 MS07-016 の二つがでるのですが、Micrsoft Updateを実施しても一向に解決しません。 アップデートのカスタムで検索しても、実際どうしたら良いかが分かりません。どなたか教えてください。 システムはWindows XP Home Edition Version2002 ServicePack2 を利用しています。 インターネットはInternet Explrer7を使用しています。 なぜ検出されるのか?具体的にどう対応したらよいかについて教えてください。

  • PHPとSQLについて

    PHPは全く分からない状態からの質問です。 旧サーバー(アルファメール)から新サーバー(xbit)に移行の際ディレクトリごと移動しました。 MYSQLは調べながらphpMyAdminを使い、(旧サーバーには既に存在しておりそれを利用。バージョン2.10.3)エクスポート。新サーバーに(バージョン4.1.13)インポートしました。 データーベース・ユーザー名・パスワードはすべて同一にPHPの動作はうまくっているようなのですが、データーベースから引っ張ってきた文字のみがすべて???表示になってしまいます。 文字コードをいろいろいじってみたのですが、直りません。 どこをいじればいいでしょうか? 文字コードはEUC-JP、sqlはujisになっています。

  • PHPですがバージョン4と5に対して互換性はありますか

    PHPバージョン5で作っていますが、レンタルサーバーはバージョン4です。うごきますでしょうか。

    • ベストアンサー
    • PHP
  • レンタルサーバのPHPバージョンアップについて

    PHP5.3の環境のレンタルサーバを利用しております。 もうすぐ、レンタルサーバ側にてPHP5.5へアップデートが行われます。 メンテナンス通知がきました。 同じサーバ内には、Wordpress,EC-CUBE,独自で構築された システムがそれぞれ独立して入っております。 独自で開発されたシステムに関しましては、 PHP5.5にて対応していれば、問題ないかと考えておりますが、 WordpressやEC-CUBEの場合は、どうなのかと気になっております。 WordpressやEC-CUBEの場合は、 PHP5.5に対応しているバージョンをインストールしていれば、 特に問題はないのでしょうか。 PHPバージョンアップの際に確認しておくポイントまたは対策を 教えてください。

    • ベストアンサー
    • PHP