web-dev-qa-db-ja.com

データベースサーバーとWebサーバーを同じマシン上に置くことは危険ですか?

データベースサーバーをWebサーバーと同じマシンで実行するのは簡単なことのように思えますが、これを行うことでセキュリティ上の大きなリスクを冒していますか?

環境は、Windows 2008サーバー、Postgresql(最新バージョン、リリース時には9.0になる可能性があります)およびApache2になります。

8
CLJ

必ずしも。

Webサーバーが危険にさらされたとすると、攻撃者は、どのサーバーで実行されていても、同じデータベースにアクセスするための資格情報を取得します。結局のところ、データベースサーバーは、Webサーバーからの正当な要求を許可するように構成する必要があります。

(mysqldがlocalhostからのパスワードなしのrootログインを受け入れないなどの賢明なセキュリティ対策を想定しています。)

そうは言っても、別のデータベースサーバーを実行することをお勧めします。その理由は、パフォーマンス、スケーラビリティなどに関連しています。

7
andol

これはセキュリティ上の懸念事項ではないと述べているポスターには同意しません。理由は次のとおりです。

  • 前面サービスには、可能な限り最小の攻撃対象領域が必要です。これが、リバースプロキシとファイアウォールを使用し、不要なサービスとプログラムを、それらの動作を必要としないサーバーから遠ざける主な理由です。これが、Webサーバーがセキュリティ強化パスの最も一般的なターゲットである理由です。
  • Webサーバーには、データベースシステムに対する神の権利があってはなりません。したがって、Webサーバーを危険にさらしても、データベースサーバーも危険にさらされることはありません。手始めに、Webサーバーがデータベースにアクセスするために使用するアカウントは、SQLボックスに対するローカル管理者権限を持っているべきではなく、その権限は純粋にデータベース権限に限定されるべきです。次に、これらのSQL権限内で、 最小特権の原則 の下で動作している必要があります。たとえば、Webボックスがインスタンス内の新しいデータベースをインスタンス化できないようにする必要があります。理想的には、Webボックスには、テーブルを削除したり、絶対に必要ではないテーブルから行を削除したりする機能がありません。したがって、適切に構成された2層セットアップで侵害が発生した場合、SQL資格情報を使用する攻撃者の影響の範囲は限定されます。
5
Chris Thorpe

これは、WebサーバーとDBサーバー(つまり、ソフトウェア)のセキュリティモデルと、2つのサーバーが別々のサーバーにある場合に適用するファイアウォール/アクセス制御/ IDPの程度によって異なります。

他のすべてが等しい場合、おそらく2つを分離する方がよい場合です。ただし、実際には、少なくともLAMP環境では、privsep Apacheを使用していて(確信が持てない場合は心配しないでください)、WebアプリでMySQLへのルートログインを使用していない限り、そして、tcp/3306を外の世界に公開していないので、移動しても実際にはセキュリティが得られませんmuchどちらか一方を別のシリコン片に置きます。ただし、パフォーマンスとデバッグ機能の利点は得られます。

あなたの質問は絶対的な答えを必要としているように見えるスタイルですが、より多くの情報(少なくとも、私たちが話しているOSとWeb/DBサーバーのフレーバー)がなければ、有益なものを与えることさえ困難です。

3
BMDan

私はしませんが、それは私です。

それはあなたの箱の前にあるもの(すなわちファイアウォール、ロードバランサーなど)とそれらがどれほど「タイト」であるか、実際のデータが何であるか(すなわち現在-一方の端で公に利用可能なデータに影響を与え、もう一方の端で国の秘密)に依存します、それらの組み合わせにパフォーマンスへの影響があるかどうか、両方の間のネットワークの強度(つまり、階層間ファイアウォール)、および適用されるOS /アプリ強化の品質。

このシステムが過度の負荷を処理する必要がないことを期待している場合は、システムを2つの別々のVMに仮想化することを検討できます。機能ごとに1つ-おそらく3番目のソフトウェアのみのファイアウォールVMそれらの間にさえあります。これは、誰かがWebサーバーをクラックしたとしても、データベースサーバーをクラックする必要があることを意味します。中間ファイアウォールVMが含まれています。もちろん、これによりシステム全体のパフォーマンスが低下しますが、少なくともある程度は安全であり、1つを移動するだけで2台のサーバー設計が必要になる場合にも役立ちますVM 2番目のマシンに移動します。VMWareの無料のESXi製品は、これをすべて非常に簡単に実行できます。必要に応じて、実装の準備ができた無料のファイアウォールVMがすでにパッケージ化されています。

0
Chopper3

データベースとWebサーバーを同じハードウェアに配置することによる追加のセキュリティリスクはあまり見られません。 Webサーバーが侵害された場合でも、データにアクセスできます。セキュリティは、階層を分離する一般的な理由ではありません。

いずれの場合も、データベースサーバーが非標準ポートでリッスンし、Webサーバーからの要求にのみ応答し、ファイアウォールがWebサーバーへのhttp/s要求のみを許可し、他のポートやアドレスを許可しないことを確認する必要があります。 。

それでも、それらを分離することは良い習慣です..各サーバーは管理と構成が簡単であり、障害、問題、再構築、パフォーマンスの問題などに簡単に対処できます。したがって、同じハードウェア上の2つの仮想サーバーを検討することができます。これらの仮想サーバーは、パフォーマンスまたは容量が必要なときに分離できます。

0
tomjedrz