DMZのWebサーバーからのASP.Netプロバイダー
-
03-07-2019 - |
質問
OOTB ASP.netメンバーシップおよびロールプロバイダーを使用するイントラネットasp.net Webアプリケーションがあります。
次の(安っぽい)テキスト図に示すように、WebサーバーをDMZに移動して、アプリケーションをインターネットに公開することを計画しています
External Internal internet --- Firewall --- Web server --- Firewall --- App Server --- Database DMZ Intranet
問題は、内部ファイアウォールのために、Webサーバー上のasp.netメンバーシップおよびロールプロバイダーがSQLサーバーに接続できないことです。
以前にそのようなシナリオに直面したことがありますか? WebサーバーがSQLサーバーに直接接続できるように、内部ファイアウォールでポートを開くことをお勧めしますか?他にどのような選択肢がありますか(自分でカスタムプロバイダーを絞る以外に)?
解決
通常、DMZポリシーを変更してポートを開くことは非常に困難です。ネットワーク内でWCFサービスを公開し、ポート80でHTTPを介して通信します。
LANの人々との摩擦はゼロです。私は.NETが提供するのとまったく同じ(安っぽい)APIを模倣しています:
編集:明確にするために、これは次のように構成されたRemoteRoleProviderがあることを意味します。
<roleManager enabled="true" defaultProvider="RemoteRoleProvider">
<providers>
<add name="RemoteRoleProvider" type="MyCorp.RemoteRoleProvider, MyCorp" serviceUrl="http://some_internal_url/RoleProviderService.svc" />
</providers>
</roleManager>
他のヒント
DMZにはインターネットに直接接続するWebサーバーが2つあり、ファイアウォールでやり取りする必要があるプライベートネットワークのSQLサーバーへのトンネルを開く必要がありました。 SQL接続にはポート1433以外のものを使用したと思います。これまでのところ、非常にうまく機能しています。つまり、セキュリティ侵害はありません。
所属していません StackOverflow