36

内部の運用データベースからデータを取得する必要がある外部 Web サイト (DMZ 内) に取り組んでいます。

私が思いついた設計はすべて却下されました。なぜなら、ネットワーク部門は、いかなる種類の接続 (WCF、Oracle など) も DMZ から入ることを許可しないからです。

ネットワーキング側からの提案は、一般に次の 2 つのカテゴリに分類されます。

1) 必要なデータを DMZ 内のサーバーにエクスポートし、変更/挿入されたレコードを何らかの方法で最終的にエクスポートする、または

2) 内部からポーリングし、DMZ 内のサービスに対して、サービスが必要な要求があるかどうかを継続的に尋ねます。

データベースが DMZ にあるという考えが気に入らないので、提案 1 には反対です。オプション 2 は、行われていることの性質上、とんでもない量の追加の複雑さのように思えます。

これらは唯一の正当な解決策ですか? 私が見逃している明らかな解決策はありますか?「DMZからの接続禁止」令は実用的ですか?

編集: 私が常に耳にする 1 つの行は、「大企業は Web サイトを内部に接続してライブの生産データを取得することを許可していません。そのため、確認メールを送信するのです」というものです。それは本当にそれがどのように機能するのですか?

4

7 に答える 7

50

申し訳ありませんが、あなたのネットワーク部門はクラックかそのようなものです - 彼らは明らかに DMZ の目的を理解していません。要約すると、3 つの「領域」があります。大きくて悪い外の世界、純粋で処女な内の世界、そして有名で信頼できる安全な DMZ です。

ルールは次のとおりです。

  1. 外部からの接続は、DMZ 内の特定のポート (80、443 など) のホストにのみ到達できます。
  2. 外部から内部への接続は完全にブロックされます。
  3. 内部から DMZ または外部への接続は問題なく、適切に行われます。
  4. DMZ 内のホストのみが内部への接続を確立できます。これも、既知の許可されたポートでのみ確立できます。

ポイント 4 は、彼らが把握していないものです。「DMZ からの接続なし」ポリシーは見当違いです。

「それでは、当社のメール システムはどのように機能しますか?」と尋ねます。企業のメール サーバー、おそらく Exchange があり、個人がそれに接続するクライアントを持っていると仮定します。インターネット電子メールにアクセスできる会社の電子メールがどのように機能し、ポリシーに準拠しているかを説明するよう依頼してください。

申し訳ありませんが、それは本当にあなたに答えを与えません。

于 2010-11-09T21:13:00.617 に答える
16

私はフォーチュン 50 の金融会社のセキュリティ アーキテクトです。私たちはこれらの同じ会話をしました。私はあなたのネットワーク グループに同意しません。私は彼らの不安を理解しており、彼らがより良い解決策を望んでいることも理解していますが、ほとんどの場所ではより良い選択を選択していません (彼らの側の無知 [つまり、あなたではなくネットワーク関係者] のため)。

これらが厳密に設定されている場合の 2 つのオプション: greensql のような SQL プロキシ ソリューションを使用できます (私は彼らのために働いていません。知っているだけです)。

彼らが言及している「大規模な組織」のほとんどが使用するアプローチは、階層化された Web モデルです。フロントエンド Web サーバー (一般ユーザーがアクセスする)、中間層 (実際のプロセスが発生するアプリケーションまたはサービス層)、およびデータベース層がある場合。中間層は、データベース層と通信できる唯一のものです。私の意見では、このモデルはほとんどの大規模な組織に最適です。しかし、ほとんどの大規模な組織は、中間層をサポートしていないベンダー提供の製品に遭遇するか、中間層なしで開発し、移行には中間層 Web サービスを開発するために割く必要のない開発リソースが必要です。または、一部の企業では、そのルートに進む優先事項がないことは明らかです。

それは灰色の領域であり、その点で確固たる正誤はありません。したがって、彼らが最終的な用語で話している場合、彼らは明らかに間違っています. セキュリティの専門家として、彼らがどこから来たのかを理解しています。しかし、ビジネスが安全に機能できるようにする必要があります。それが、私がいつも自分自身に投げかけようとする挑戦であり、ガントレットです。顧客 (開発者、管理者、データベース管理者、ビジネス ユーザー) が望むものをどのように提供できますか?

正直なところ、それはオープンな会話であるべきです。ここで余裕を持って、緩和しようとしているリスクをモデル化するよう依頼してください。Web アプリを機能させるための代替ソリューションを提供するよう依頼してください。彼らが話すことができないと言っている場合は、解決策を提供する責任を彼らに負わせてください。できない場合は、デフォルトで動作します。承認されたポートに対してのみ、dmz から db への接続を開くサイト。DMZ は外部サービスを提供するためのものであることを伝えます。外部サービスは、潜在的なファイル転送ソリューション以外の内部データなしでは役に立ちません。

ほんの 2 セントですが、このコメントがお役に立てば幸いです。そして、私の警備員の兄弟たちに優しくするようにしてください。私たちの群れには、物事の古いやり方にしがみついている、経験の浅い誤った方向に進んでいる人がいます。世界が進化するにつれて、脅威も進化し、緩和へのアプローチも進化します。

于 2012-09-25T15:43:19.560 に答える
4

これについては、主に Ken Ray と一緒です。ただし、いくつかの情報が不足しているようです。これが正しいかどうか見てみましょう:

  1. Web アプリケーションがあります。
  2. その Web アプリケーションの一部は、別の運用サーバー (通常はサイトをサポートするサーバーではない) からのデータを表示する必要があります。
  3. 必要な/必要なデータは、内部でまったく異なるアプリケーションによって処理されます。
  4. このデータは、ビジネスの通常の流れにとって重要であり、限られたセットのみを外部に公開する必要があります。

私が順調に進んでいれば、あなたの IT 部門に同意し、そのサーバーに直接アクセスすることも許可しないと言わざるを得ません。

オプション 1 を選択してください。本番サーバーに、必要なデータを一般的にアクセス可能なドロップ場所にエクスポートさせます。他の db サーバー (DMZ 内の 1 つ) にデータを取得させ、定期的にインポートします。最後に、Web アプリが dmz の db サーバーとのみ通信するようにします。

最近、多くの人がサイトを構築する方法を考えると、問題の Web サーバーへの dmz から sql ポートを開くだけでも嫌です。率直に言って、1. 必要なデータへのアクセスにストアド プロシージャのみを使用していることが保証されていれば、接続を開くことを確信できました。2. データベースへのアクセスに使用されるアカウント情報は暗号化され、これらのプロセスの実行のみに完全に制限されていました。3. これらの proc には動的 SQL がなく、選択に限定されていました。4. あなたのコードは正しく構築されています。

通常の IT 担当者は、おそらくこれらの質問すべてに答える資格はありません。また、このデータベースがサードパーティのものである場合、通常のアプリケーション以外からアクセスを開始すると、サポートが失われる可能性があると思います.

于 2010-11-23T17:14:14.083 に答える
4

データベース サーバーを複製してみませんか? 内部サーバーから外部サーバーへの接続であり、その逆ではないことを確認できます。

1 つの方法は、ms 同期フレームワークを使用することです。内部データベースから外部データベース (別の db サーバーに存在する場合があります) に変更を同期し、それを公開 Web サイトで使用できるシンプルな Windows サービスを構築できます。利点は、同期ロジックで機密データを除外し、本当に必要なものだけを保持できることです。また、データの全体的な制御は内部サーバーで行われるため (データをプルするのではなくプッシュアウトする)、IT 部門に問題が生じることはないと思います。

形成された接続は決して in ではなく、out です。つまり、ポートを開く必要はありません。

于 2010-11-09T20:58:33.837 に答える
3

あなたの特定の問題について話す前に、あなたが提供したアップデートに対処したいと思います。

私は「大」企業で働いたことはありません - 大企業は文脈なしに判断するのは難しいですが、私がかつて働いていた非営利団体と大学の部門のために Web アプリケーションのシェアを築いてきました。どちらの状況でも、私は常に DMZ 上の Web サーバーから内部ネットワーク上の運用 DB に接続しています。多くの大企業もこれを行っていると確信しています。たとえば、Sharepoint のアーキテクチャがどのように設定されているかを考えてみてください。バックエンドのインデックス作成、データベースなどのサーバーは、DMZ に配置された正面向きの Web サーバーによって接続されています。

また、確認の電子メールを送信するという慣行も、サイトに登録する際の確認のことを指していると思われますが、通常はセキュリティを扱っていません。これらは、ユーザーが有効な電子メール アドレスを入力したことを確認するための方法です。

それでは、問題を見てみましょう。残念ながら、あなたが提示した2つの解決策以外に、これを行う他の方法は考えられません. あなたが考えたいと思うかもしれないいくつかのことがありますが:

解決策 1:

処理する必要があるデータの機密性に応じて、DMZ 上のサーバーにデータを抽出することは (サービスを使用するか、ある種の自動同期ソフトウェアを使用するかに関係なく)、基本的なセキュリティの常識に反します。あなたが行ったことは、ファイアウォールの背後にあるサーバーからファイアウォールの前にあるサーバーにデータを移動することです。DMZ から内部データベース サーバーにアクセスできるようにすることもできます。

解決策 2:

私はネットワークの専門家ではないので、間違っている場合は訂正してください。ただし、ポーリング メカニズムでは、データを戻す必要があることをデータベース サーバーに通知するために、Web サーバーから何らかの通信を返す必要があります。これは、ポートを開く必要があることを意味します。 、また、この方法では追加のセキュリティを実際に追加していないため、手間をかけずに内部データベースにアクセスできるように指示することもできます。

したがって、これが、データに直接アクセスできるようにするためのいくつかの引数を少なくとも提供するのに役立つことを願っています. あなたのネットワーク部門には、安全なデータベースに裏打ちされた Web アプリケーション アーキテクチャがどのように見えるべきかについて、多くの誤解があるように思えます。

于 2010-11-09T21:31:37.810 に答える
2

これがあなたにできることです...それは少しストレッチですが、それはうまくいくはずです...

DMZ内のサーバー上にあるサービスを作成します。A、B、Cの3つのポートでリッスンします(意味のあるポート番号を選択してください)。これをDMZトンネルアプリと呼びます。

内部ネットワーク上のどこにでも存在する別のサービスを作成します。ポートBでDMZトンネルアプリに接続します。この接続が確立されると、DMZトンネルアプリはポートBでリッスンする必要がなくなります。これが「制御接続」です。

DMZトンネルアプリのポートAに接続すると、制御接続を介して新しいDB/その他の接続の要求が送信されます。内部トンネルアプリは、内部リソースに接続することで応答します。この接続が確立されると、ポートCのDMZトンネルアプリに接続し直します。

いくつかのトークンを検証した後(この部分はあなた次第です)、DMZトンネルアプリはポートAとCで受信した接続間でデータを転送します。2つのサービスで実行されている2つのサービスから作成された透過的なTCPプロキシを効果的に使用できます。 DMZおよび内部ネットワーク。

そして、ほとんどの場合、これが完了すると、IT部門に何をしたかを説明し、セキュリティポリシーの文言に違反していないことに気付いた彼らの顔を見ることができますが、それでも生産性は維持されます。私はあなたに言います、彼らはそれを嫌うでしょう。

于 2010-11-09T20:29:22.340 に答える
1

DMZのシステムエンジニアリングの制限のためにすべての開発ソリューションを適用できない場合は、それらにボールを与えます。

あなたのウェブサイトをイントラネットに入れて、彼らに伝えてください'今、私はそのアプリケーションへのインバウンドHTTP:80またはHTTPS:443接続が必要です。必要なものを設定します:リバースプロキシ、ISAサーバー、プロトコルブレーク、SSL...必要に応じてアプリケーションを調整します。'

ISAについては、外部とのやり取りがあれば入手できると思います。

イントラネットとパブリックの間でリソースを共有する必要がある場合、多くの企業がこのソリューションを選択しています。

高度なセキュリティルールを使用して特定のイントラネットネットワークを設定することは、管理、統合、および展開を容易にするための最良の方法です。簡単なことはよく知られており、知られていることはマスター化されています:セキュリティ違反が少ないです。

ますます多くのシステムエンジニア(鉱山など)は、他のプロトコルやポートを開くよりも、HTTPのような小さな「セキュリティ違反」でイントラネットネットワークを維持することを好みます。

ちなみに、WCFサービスを知っていれば、このソリューションを受け入れていただろう。適切に設計されている場合、これは最も安全なソリューションです。

個人的には、TCP(HTTPかどうか)サービスとISAサーバーの2つの方法を使用します。

于 2010-11-21T19:53:09.780 に答える