- - PR -
Web・DBの同居について
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-03-03 21:29
すみません、返答・お礼が遅れました。
>> かつのりさん やはりDB/Webでサーバを分けても、Webが乗っ取られる前提ならば DBだって安全では無くなりますよね。 ソース・設定ファイル等を見てDB操作されたりとか。 ただそれ以外に実は深い理由があったりするのかな…?と、不安でして。 >> ちゃっぴさん 一応不正入力対策や必要十分の権限の付与等は行っては居る…のですが バッファオーバーフローについて、きちんと考えていませんでした。 本件のWebアプリはPHPで書き直ししているのですが、真面目に調べてみると 結構ありますね…脆弱性。 これまで軽く考えてましたので、これを機に色々と再検討する事にします。 > kaz 処理性能と…拡張性、ですね。 確かに分かれていると色々と都合良いですね。 前の会社ではやはり主に負荷の面・管理の面から分けていました。 いざ構成変更等をする際に困らない為に、色々考え直してみます。 > All いろいろな意見ありがとうございます。 自前でサーバ構成の設計からするのは初めてで、金の無さも相まって 悩んでいましたが、だいぶスッキリしました。 もしまたスレ立てした時には、よろしくお願いします。 | ||||||||
|
投稿日時: 2007-03-03 23:58
それは、Web server 側で DB への access 制御を管理している場合ですよね? そういう構成をとらなければいいだけでは? | ||||||||
|
投稿日時: 2007-03-04 00:42
横槍ですみませんが、では逆にWeb側からのDBへのアクセスが 得られない構成とはどの様なものでしょうか? アプリ側がDBに対して読み取り専用の権限のみを持つのなら別ですけれども。 どちらにしろ「本来の利用者の権限」を越えるDBデータの読み取りは可能になってしまいます。 DBへの接続情報はWeb側のソースから探索可能ですし、Web側からの探索が不可能な 接続情報の保持って出来るのでしょうか?(それはそれでかなり興味があります) ……と、こういうことでは無いでしょうか。 また、本件の場合はDB/Web共に1アプリケーションが占有していますので 1DBMS内の他DBへのアクセスは考慮しなくて良いと思います。 | ||||||||
|
投稿日時: 2007-03-04 00:45
例えば、WEBサーバ上にDBアクセスするようなスクリプトを書き込まれたら、
いくら分離したってWEBサーバ経由でDBを読めるじゃないですか? そもそもWEBアプリ向けにDBの口を開いているわけですから。 | ||||||||
|
投稿日時: 2007-03-04 01:05
DB に接続する場合、普通は接続するための資格情報(通常は、account と password になるわけですが)を必要とされますね。
で、その資格情報をどこで管理するか?で分かれるわけですが、 一つ目の方法としては、Web server 側で管理するというのがあります。 この状態ですと、Web server 側にその資格情報が保存されるわけですから、Web server を乗っ取られると DB への攻撃は成功するでしょう。 もう一つの方法として、Web server 側で資格情報を全く管理せずに、user の入力で行うという方法があるでしょう。 この場合には、Web server 上に資格情報が保存されていないのですから、たとえ Web server が乗っ取られたとしても、DB への攻撃は成功しないでしょう。 | ||||||||
|
投稿日時: 2007-03-04 01:25
すみません、ここの所理解出来ないのですが 上構成の場合、ID/Pwd入力のタイミングはどうなるのでしょう? ・Apache等のWebサービスを起動するときに、入力する ・Webサービス起動後にアプリ内等で入力 ...等 また、DBへの接続自体は… ・入力された資格情報をメモリ等に保持し、connectする度にそれを使用 ・視覚情報を入力されたタイミングで、初めてDBとの接続を確立、以後その接続を使い続ける ...等 こんな感じになるのでしょうか? こう言う事って、どう言った形で実現するのでしょうか。 また、運用上、例えば使用リソース・処理性能等の面で問題等無いのでしょうか。 // 本件の場合、リソースとしては余っているわけですが。 現時点での疑問はこれらに加え、以下の事柄もあります。 ・例えばWebサーバ配下に、使用DB内の全てのレコードを取得しそれを表示するスクリプトを設置、 それをHTTP経由で見れば情報が不正に取得できる、或いは全て削除するスクリプトを 設置し同じくHTTP経由で閲覧・実行すれば攻撃可能では無いか どちらにせよ、侵入から不正操作までの時間は大幅に減少させられる事は間違い無さそうですね。 質問ばかりになってしまいましたが、非常に興味がありまして…ご容赦下さい。 スレが長くなってしまいましたが、もう少々お付き合いお願いします。 | ||||||||
|
投稿日時: 2007-03-04 03:34
Web server が乗っ取られれば、DB にアクセスするルーチンを見たり それを利用するファイルを置いたり出来てしまいますから、このことで DB への攻撃が出来なくなるとは言い切れないと思います。 ですがこの方法も、被害が DB まで及ぶ時間を遅らせる事が できるのでセキュリティ的に有効ではあると思います。 | ||||||||
|
投稿日時: 2007-03-04 04:13
DBへの接続情報をユーザー入力に任せる場合、何らかの制御をかけておかないと、 大変な事がおきそうですね。管理者ユーザーで接続されたりとか。 提供しているサービスによって採用できる場合とできない場合があるかと思います。 今回の場合、第三者に対して提供するサービス、とのことですので上記のような対応は むずかしいかもしれませんね。 |