質問

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以外のものを使用したと思います。これまでのところ、非常にうまく機能しています。つまり、セキュリティ侵害はありません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top