次の方法で共有


RDS アプリケーションのセキュリティ保護

このトピックでは、RDS のセキュリティ情報を提供します。

大事な

Windows 8 および Windows Server 2012 以降では、RDS サーバー コンポーネントは Windows オペレーティング システムに含まれません (詳細については、Windows 8 と Windows Server 2012 の互換性クックブック を参照してください)。 RDS クライアント コンポーネントは、将来のバージョンの Windows で削除される予定です。 新しい開発作業ではこの機能を使用しないでください。現在この機能を使用しているアプリケーションを変更することを計画してください。 RDS を使用するアプリケーションは、WCF Data Serviceに移行する必要があります。

Microsoft Internet Explorer のセキュリティに関する問題

Microsoft Internet Explorer に新しいセキュリティ強化が追加されたので、一部の ADO オブジェクトと RDS オブジェクトは、"セーフ" モード環境でのみ実行するように制限されています。 これには、さまざまなゾーン、セキュリティ レベル、制限付き動作、安全でない操作、カスタマイズされたセキュリティ設定など、これらの問題を認識している必要があります。

セキュリティと Web サーバー

インターネット Web サーバーで RDSServer.DataFactory オブジェクトを使用する場合は、潜在的なセキュリティ リスクが発生することに注意してください。 有効なデータ ソース名 (DSN)、ユーザー ID、およびパスワード情報を取得する外部ユーザーは、そのデータ ソースにクエリを送信するページを書き込む可能性があります。 データ ソースへのアクセスを制限する場合は、RDSServer.DataFactory オブジェクト (msadcf.dll) の登録を解除して削除し、代わりにハードコーディングされたクエリでカスタム ビジネス オブジェクトを使用します。

RDSServer.DataFactory オブジェクトを使用した場合のセキュリティへの影響の詳細については、Microsoft セキュリティ情報 MS99-025 を参照してください。

クライアントの偽装とセキュリティ

IIS Web サーバーの パスワード認証 プロパティが Windows NT チャレンジ/応答認証 (Windows NT 4.0 の場合) または統合 Windows 認証 (Windows 2000 の場合) に設定されている場合、ビジネス オブジェクトはクライアントのセキュリティ コンテキストで呼び出されます。 これは、HTTP 経由でのクライアントの偽装を可能にする RDS 1.5 の新機能です。 このモードで作業する場合、Web サーバー (IIS) へのログオンは匿名ではなく、クライアント コンピューターが実行されているユーザー ID とパスワードを使用します。 ODBC DSN が信頼された接続を使用するように設定されている場合、SQL Server などのデータベースへのアクセスもクライアントのセキュリティ コンテキストの下で行われます。 ただし、これは、データベースが IIS と同じコンピューター上にある場合にのみ機能します。クライアント資格情報を別のコンピューターに引き継ぐことはありません。

たとえば、userid="JohnD" と password="<シークレット>" を持つクライアント John Doe は、クライアント コンピューターにログオンします。 John Doe は、RDSServer.DataFactory オブジェクトにアクセスして、IIS を実行している "MyServer" コンピューターで SQL クエリを実行して Recordset を作成する必要があるブラウザー ベースのアプリケーションを実行します。 Windows NT Server 4.0 を実行するシステムである MyServer は、Windows NT チャレンジ/応答認証を使用するように設定され、ODBC DSN で [信頼された接続の使用] が選択されており、サーバーにも SQL Server データ ソースが含まれています。 Web サーバーで要求を受信すると、クライアントにユーザー ID とパスワードを要求します。 したがって、要求は、IUSER_MyServerではなく "JohnD"/"<シークレット>" から送信されたものとして MyServer に記録されます (匿名パスワード認証がオンの場合の既定値)。 同様に、SQL Server にログオンするときに、"JohnD"/"<シークレット>" が使用されます。

そのため、IIS Windows NT チャレンジ/応答認証モードでは、データベースへのログオンに必要なユーザー ID とパスワード情報をユーザーに明示的に求めることなく、HTML ページを作成できます。 IIS 基本認証が使用されていた場合は、これも必要になります。

パスワード認証

RDS は、匿名、基本、または NT チャレンジ/応答認証 (Windows 2000 の統合 Windows 認証と呼ばれます) の 3 つのパスワード認証モードのいずれかで実行されている IIS Web サーバーと通信できます。 これらの設定は、クライアント コンピューターに NT Web サーバーに対する明示的なアクセス権を持つ必要があるなど、Web サーバーがアクセスを制御する方法を定義します。