2010-12-07 10 views
2

私は、「機密性の高い」データ(クレジットカード番号)を扱っているアプリケーションに取り組んでおり、PCIコンプライアンスを達成するために、私たちのデータベースがパブリックサーバとは別のものであることを保証する必要があります。これに対してキューを使用すべきですか?

データを入力して保存するには、途中に何かがある必要があります。データをWeb/Appサーバーから直接書き込んだり読み込んだりしたくないのですか?待ち行列/ワーカアーキテクチャが適しているかもしれない。

基本的な流れは次のようになります。

  1. データクライアントから - >
  2. APIに送るAPI Serverは '要求' オブジェクトにデータを置く - >エンキュー
  3. ワーカー( '内部のネットワーク上) 、要求をピックアップDBに書き込み、仕事、更新のDBは、その後、「応答」オブジェクトをエンキューん
  4. API Serverは、この応答オブジェクトを受け取り、その後、クライアントに応答へ
を送信

本質的に私は、データが同じ「要求」に戻ってくる何かを望んでいるので、プロセス全体が単一の要求で実行できるようになっていますが、これはメッセージキューの非同期性に逆らっているようです。 - キューまたはものは何でも「場合

  • 耐久性:

    編集は、私はproabably私は、次の必要とすることを追加する必要があります...それ自体が厳しい「プロトコル」として機能する「Webサービス」に適しクラッシュすると、「キューに入れられた」アイテムを回復できるはずです

  • セキュリティ - 機密データは保護される必要があります私たちはトランスポート層(TLS、SSL、IPSec)上で何かを使うことができるので、トランスポートはうまくいきますが、送信側(パブリックネットワーク)にカード番号を格納することは理想的ではありません...
  • スピードはもちろんです。

私はこれについて間違った方法をとっていますか?

+0

純粋に興味のないもの:あなたが取り組んでいるPCI仕様 - 好都合なアプローチ(または避けるべきもの)を示唆するガイダンスを提供していますか? –

答えて

1

私はあなたがすべきことを言うことはできませんが、あなた良い効果に1を使用することができますように、それは確かに聞こえます。

キューは、コンポーネント間の分離レベルを提供します。これが証明書を渡すために必要な物理的な要件であれば、2台のマシンが特定のネットワークを介して接続され、特定のポートだけが開いていることを示すことができます。

耐久性はキューソフトウェアの共通機能です。トランスポートレベルのセキュリティも同様です。

スピードは不安です。一般に、キューシステム内のメッセージは、商用またはオープンソースのいずれか(単独でロールしたままにしておく)は、耐久性などで送信するのにわずか数ミリ秒かかるため、暗号化に少しオーバーヘッドが加わります。メッセージの正確な粒度を仮定すると(「小さすぎる」ではなく、プロトコルが「あまりにも奇妙」ではない)、それでうまくいくはずです。

多くの商用およびオープンソースのメッセージとキューシステムがありますが、Googleはそれらを見つけるためにあなたの友人です。

左フィールドの代替案は、近代的なREST風のアーキテクチャを使用することです。最高の果肉アウト例の一つは、DayTrader

グッドラック

+0

意見をいただきありがとうございます。DayTraderへの言及は、物事がどのように行われるかについての視点を得るために掘り下げることのできるもののように見えます。 –

0

である私は質問を誤解されるかもしれないが、それを煮詰めるために、私はあなたが問題をoverthinkingかもしれないと思います。ファイアウォールの背後にあるデータベースを安全に保ちながら、Webアプリケーションサーバーをインターネットに公開する方法があります。何らかのSOAを使用してその分離を強化し、SQLインジェクション攻撃の可能性を減らすことができます。自動。キューを導入することで、耐久性を持たせることができ、希望する回復力を提供し、あるものは同期するように構成できるため、「ワンステップ」、または少なくとも1ステップの擬似操作を満たすことができます。しかし、問題は、トランザクションがコミットされるまで、キュー内の情報がどこかに書かれているため、耐久性に別の「セキュリティ上の脆弱性」が加わるということです。したがって、クラッシュが発生した状況では、復旧可能ですが、エンタープライズ内の誰かが、その情報が一時的に保存されているファイルシステム領域にアクセスできる可能性があります。

関連する問題