まず、私は Web API / CORS とセキュリティの実装に比較的慣れていません。
この質問は、特にセキュリティに関するものです。Web API は非常に機密性の高いデータを格納し、オンラインでトランザクションを実行する機能をクライアントに提供します。
コンテキスト:
- 固定ポートを使用して Windows サービスとしてホストされている Web API を使用しています。
- Web API は、内部ネットワークのファイアウォール/DMZ の背後にあります。
- Web API (CORS を使用) は、外部サーバーからのトラフィックのみを許可します。
- 外部サーバーは、IIS を使用して Web サイトをホストします。
- Web API はトークン認証を利用しています (ハイジャックを避けるためにクライアント IP にバインドされています)。
- 外部 Web サイトと内部 Web API の両方で、SSL の使用が強制されます。
問題 :
Web ページは、javascript を介して Web API への ajax 呼び出しを行います。ただし、Web API はインターネットに直接公開されません。
- 以下のセットアップを使用すると、セキュリティにどのような影響がありますか?
- そうすることで、どのような脆弱性がネットワークに公開されるのでしょうか。
- そのようなセットアップを実装するより良い方法はありますか!?
例えば
ユーザー
https://test.mydomain.com
がブラウザに入り、ページが表示されます。ajax呼び出しが行われます
https://test.mydomain.com/api/test/action
外部サーバーは、一般に公開されていない
https://test.mydomain.com/api
内部サーバーにメッセージをルーティングします。https://myInternalWebAPI/api/test/action