私たちは、典型的なネイティブ アプリケーション開発から出発し、いくつかの新しい Web ベースのアプリケーション サービスを開発しています。.Net と WCF を使用しており、おそらく IIS でホストしています。
当社のサービスは、データを永続化するためにデータベースを使用する必要があります。いずれの場合も、データベース サーバーをホストとは別のボックスにするつもりです。私たちが見つけたほとんどのリソースは、データベース接続文字列を web.config (またはセルフホスティングの app.config ファイル) に格納することを示しているようです。私たちの懸念は、サービスが Web に面しているため、実行されているボックスがハッキング/侵害される可能性が高いことです。その場合、攻撃者は DB 接続文字列を取得し、すべてのデータに完全にアクセスできるようになります。
最初に考えたのは、WCF サービスを、接続情報を保持し、すべての処理ロジックを実行する別のマシン上に存在するサーバー アプリケーションに単純にプロキシすることでした。そうすれば、Web ホストが侵害された場合、サーバー アプリケーションと通信する方法を見つけ出すか、そのマシンも侵害してデータベース アクセスを取得する必要があります。ただし、プロキシのパフォーマンス コストや、サーバー アプリケーションでボトルネックが発生する可能性があるという懸念はあります。
このアプローチに関する懸念は、そのようなアプローチを推奨している WCF/IIS 文献の方法をあまり見つけていないことですが、そのような情報を見つけるためにそれが何と呼ばれているかを知らないだけかもしれません。質問: そのようなプロキシは良いプラクティスであり、なぜ/(そうでないのか) (または、このトピックに関する詳細情報はどこにありますか)、またはより良いプラクティスはありますか?