CakePHPをレンタルサーバに設置する事を検討しています。そこで質問なのですが、
http://www.cakephp.jp/doc/ch03s04.html
こちらの「開発用セットアップ」は安全ではないので公開目的では避けるべきと書かれていますが、具体的にどのような危険性があるのでしょうか。実際に想定される攻撃の手順を含めて、教えていただけるとありがたいのですが。
というのも、例えばWordPressやXOOPSなど、PHPで書かれたWebアプリケーションには、アドミン権限のスクリプトも公開ディレクトリに丸ごと放り込んで使うものが多いように思うのですが、特に危険性は指摘されていないように感じられるからです。
CakePHPを公開ディレクトリに丸ごとセットアップしてしまった場合、どれくらい危険なのか、具体的にどんな攻撃手法が考えられるかをお教えください。よろしくお願いいたします。
例えばWordPressやXOOPSなど、PHPで書かれたWebアプリケーションには、アドミン権限のスクリプトも公開ディレクトリに丸ごと放り込んで使うものが多いように思うのですが、特に危険性は指摘されていないように感じられるからです。
それは大いなる誤解です。
XOOPSモジュールでは、classのファイル群などに、ディレクトリごと.htaccessなどでアクセス制限をとっているものが多くありますし、最近ではそういったファイルについてはドキュメントルート外にすべて設置し、public_html側にはラッパーのみを置くようにしたXOOPSモジュールが多数開発されています。
そういった対策をとられていないものでも、意図しないアクセスをされないよう、対策が施されています。
さて、されらのファイルを誰にでもアクセスが可能な位置に配置することにより、不都合が起こるとしたら、それらのほとんどは「意図しないアクセス」によるものでしょう。
本来であれば、メインのスクリプトからincludeするためだけのファイルに直接GETのクエリーを送り込み、開発者のサニタイジング忘れなどの盲点をつく。
SQLを利用するプログラムなら、サニタイジンズ忘れをつき、MySQLの権限を奪うことも出来るかもしれないし、実行可能なcgiがアップロード出来ればapacheの権限まで奪われてしまうでしょう。
お使いになりたいものがどれほど優秀なスクリプトで、どのような対策が施されているのかわかりませんが、完璧に安全なものをつくるのは難しいから、とにかく安全に運用しようと考えるのは結構妥当な結論だと考えます。
すみません、XOOPSはあまり使い込んでいないので間違ったとらえ方をしていたかもしれません。ただWordPressに関してはすべてアドミン権限のスクリプトを公開ディレクトリにぶちこんでいるというのは間違いないところかと思います。いまのところその運用でセキュリティ上の重大な問題が起こったとは聞いていませんので、こうしたディレクトリ構成が可能なら、CakePHPでも公開ディレクトリに全部放り込んでしまうやり方はダメなのかなぁ…と思った次第なのです。
ですので、具体的に「こうこう手順でセキュリティ突破されてしまいますからキケンですよ」というのを、教えていただきたいと思ったんですね。CakePHPで。