2016-08-04 27 views
0

ユーザーの秘密鍵を別のサーバーに安全に保管したい(Bと呼ぶことができます)、これは情報の署名、復号化に使用されます。 Bはデータベース(postgres)にキーを格納します。サーバー(public)は、の情報からを送信します。理想的にはBは秘密鍵を取得する必要があり、情報でトークンに署名し、Aに送り返します。 に秘密鍵を送信する代わりに、セキュリティ上の問題が発生する可能性があります(サーバーが侵害された場合)。2台のサーバー間の安全な通信

私のオプションは以下のとおりです。

  1. ウェブソケット
  2. HTTPSリクエスト(https://nodejs.org/api/https.html#https_https_request_options_callback

質問:

  1. しっかりと二つのサーバと通信するための他のオプションがありますか?
  2. サーバBがポート7000にある場合はどうすればサーバのみを確認できますかにアクセスできますか?
  3. 私の場合、HSMサーバーはどのように役立ち、他のサーバー(websocketまたはhttps要求)とどうやって通信しますか?

私はちょうど簡単なルートを取ると「7000」ポート上のサーバーBのデータベースを接続し、からのクエリを実行しますが、私が言ったように、それは安全ではありませんでした。私は、HSMが情報を処理/解読し、それを送り返すと聞いたので、私は普通のサーバーと同様のことをすることができます。

おかげで任意のヘルプは


UPDATE

@zaphが答えた質問2とをいただければ幸いです。3.

質問:は、サーバーが行う必要がありませんhttpsをリクエストし、プライベートサーバのアドレスB、例えばhttps://203.0.113.25?次にサーバーBは、APIルーターを使用して要求を処理します。ただしipはDNSではないため、証明書のために動作しません。では、サーバーはどのように通信し、データを送受信しますか?

参考:他の人のためにhttp://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Scenario3.html

+1

Q2。サーバーBをインターネットに接続しないで、サーバーB間の直接イーサネット接続をサーバーAの2番目のイーサネットポートに接続します。このようにすると、サーバーBは耐タンパー性のないHSMのようになります。 – zaph

+0

@zaph haha​​、ありがとうtamper-resstanceは私が必要としているものです:)そして、HSMを使用している場合は、サーバーを特別に/別の設定にする必要がありますか?それは改ざんからの特別な特徴を持っていますか? HSM、メモ、データベースにどのように情報を保存しますか? – user6227254

+0

downvotersは、アクセスは慎重に制御しなければならない、サーバーBが完全に安全な、あるいは可能な限り安全でなければならない、...以下最低でも2要素認証をサーバAのための具体的な –

答えて

0

使用セキュリティグループ、これだけ特定のインスタンスを、それらを設定するには、それをアクセスすることができます。通常のリクエストを行います(例:domain.com:PORT)。あなたは ルールの送信元または宛先としてセキュリティグループを指定すると、ポートが

...要求するために聴いていますインスタンスで、ルールは、セキュリティ グループに関連付けられているすべてのインスタンスに影響を与えます。着信トラフィックは、送信元セキュリティグループ に関連付けられているプラ​​イベートIPアドレス (パブリックIPアドレスまたはエラスティックIPアドレスではない)に基づいて許可されます。

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html

関連する問題