例1:(ネット)---(ウェブサーバー)---(データベースサーバー)
例2:(ネット)---(ウェブサーバー兼データベースサーバー)
例1であっても、ウェブサーバーが乗っ取られれば、ウェブサーバー経由でデータベースサーバーに接続できる訳で、「気持ち安心」程度のものと思っていてよいですか?
外部Serverからの接続の際の権限を限定したテーブルへのアクセスだけと制限し、
LocalServerはroot権限を設定していたとします
例1の場合:
WebServerが乗っ取られても被害は限定したテーブルへのアクセスだけになります
例2の場合:
WebServerが乗っ取られるとDBのroot権限を乗っ取られますので
何でも(DBを削除することまで)できます
ちゃんとしたポリシィを作る必要がありますが
これだけ見ても、「気持ち安心」程度ではありません。
セキュリティ上のメリットというより、応答性能のメリットの方が大きいです。
WebサーバにしてもDBサーバが一緒だと、コンピュータは療法の処理をしなければならなくなるので負担がかかります。同時に大量のアクセスが集中した場合、最悪、サーバがダウンしてしまいます。
そこで、両者を違うコンピュータに分散(負荷分散)することによって、エンドユーザーから見ればサーバの応答が早くなるというメリットがあります。
なお、サーバがダウンしにくいということは、セキュリティ対策のひとつとも言えます。
負荷分散という意味ではそうですね!ただセキュリティ上・・・と謳っていることもあり、はて?と思った次第です。
例1でWEBサーバが乗っ取られても、DBサーバに接続できるとは限らないのでは? DBMS自体にもログイン処理が必要ですから。とは言っても、ODBC接続している場合には簡単に乗っ取られますね。でも、JDBC接続の場合にはそう簡単には行かないのでは? (セキュリティに関してはド素人です)。
なるほどです。
外部Serverからの接続の際の権限を限定したテーブルへのアクセスだけと制限し、
LocalServerはroot権限を設定していたとします
例1の場合:
WebServerが乗っ取られても被害は限定したテーブルへのアクセスだけになります
例2の場合:
WebServerが乗っ取られるとDBのroot権限を乗っ取られますので
何でも(DBを削除することまで)できます
ちゃんとしたポリシィを作る必要がありますが
これだけ見ても、「気持ち安心」程度ではありません。
たしかにそうですね。ただ、ウェブサービスで使う場合は、ウェブサーバーから呼び出せるテーブル(=データベースのすべて)に近いことが多いのかなぁとも思います。ありがとうございました!
たしかにそうですね。ただ、ウェブサービスで使う場合は、ウェブサーバーから呼び出せるテーブル(=データベースのすべて)に近いことが多いのかなぁとも思います。ありがとうございました!