ポートの指定と制限

MicrosoftSQL ServerAnalysis Services へのアクセスにはさまざまなポートが使用されます。クライアントが使用するポートは、Analysis Services の構成に依存します。

Analysis Services のアクセスに使用できるポートは次のとおりです。

  • **Analysis Services によって使用されるポート。**Analysis Services の各インスタンスでは、特定の TCP/IP ポートで着信クライアント要求をリッスンします。Analysis Services の既定のインスタンスでは TCP/IP ポート 2383 でリッスンしますが、Analysis Services の名前付きインスタンスでは、既定のポートは使用されません。名前付きインスタンスでは、さまざまなポートを使用できます。セキュリティを強化するために、ファイアウォールを使用して Analysis Services へのインターネットからのユーザーのアクセスを制限します。

  • インターネット インフォメーション サービス (IIS) によって使用されるポート。 ユーザーは IIS を使用して Analysis Services のインスタンスに接続することもできます。ファイアウォールを使用して、インターネットから Analysis Services に直接アクセスすることを防止している場合は、インターネット ユーザーが Analysis Services のインスタンスに接続する前に IIS を使用してそのユーザーの認証を行うことができます。IIS を使用する場合は、インターネット ファイアウォール上で IIS ポートだけを開く必要があります。

Analysis Services によって使用される TCP/IP ポートの制限

Analysis Services の既定のインスタンスはポート 2383 でリッスンしますが、Analysis Services の名前付きインスタンスが使用するポートはさまざまです。各名前付きインスタンスは、管理者が指定したポートまたは起動時に動的に割り当てられたポートでリッスンします。使用されるポートはこのように一定しないので、Analysis Services の名前付きインスタンスが使用するポートをクライアントが自動的に知ることはありません。したがって、要求がどのポートに送信されたかは自動的にはわかりません。

クライアントが Analysis Services の名前付きインスタンスに容易に要求を送信できるようにするため、SQL Server には SQL Server Browser と呼ばれるサービスがあります。SQL Server Browser では、各名前付きインスタンスがリッスンするポートを追跡します。ポート番号を指定せずに名前付きインスタンスに対してクライアントが接続要求を行うと、SQL Server Browser がリッスンするポート 2382 が指定されます。SQL Server Browser は、名前付きインスタンスが使用するポートに要求をリダイレクトします。

また、ユーザーは、SQL Server Browser に対して、コンピュータ上で実行されている名前付きインスタンスのリストの検出要求を発行できます。セキュリティで保護されたイントラネット環境では、SQL Server Browser に対して名前付きインスタンスのリストを照会するこの機能によって、ユーザーがそれらのインスタンスに簡単に接続できるようになり、セキュリティ上の危険性は小さくなります。ただし、SQL Server Browser に照会できるこの機能によって、クライアントがインターネットから Analysis Services にアクセスする場合はセキュリティの問題が生じます。インターネット経由で Analysis Services のインスタンスにアクセスできる場合にセキュリティを強化するには、SQL Server Browser を無効にし、ユーザーが Analysis Services の名前付きインスタンスを発見できないようにします。

Analysis Services によって使用されない TCP/IP ポートの制限

Analysis Services によって使用されない TCP/IP ポートを制限するには、最初に Analysis Services を実行しているコンピュータ上のアクティブなポートを確認します。この確認処理では、リッスンしている TCP/IP ポートの確認とポートのステータスの確認も行います。

受信待ちしているポートを確認するには、netstat コマンド ライン ユーティリティを使用します。netstat ユーティリティでは、アクティブな TCP 接続の表示以外にさまざまな IP の統計および情報も表示されます。

リッスンしている TCP/IP ポートを確認するには

  1. コマンド プロンプト ウィンドウを開きます。

  2. コマンド プロンプトで、「netstat -n -a」と入力します。

    -n スイッチは、netstat に対して、アクティブな TCP 接続のアドレスおよびポート番号を数字で表示するように指示します。-a スイッチは、netstat に対して、コンピュータがリッスンしている TCP ポートおよび UPD ポートを表示することを指示します。

TCP/IP ポートのステータスを確認するには、PortQry ユーティリティを使用します。このコマンド ライン ユーティリティでは、TCP/IP のステータスが、LISTENING、NOT LISTENING、FILTERED としてレポートされます (FILTERED ステータスは、ポートが、LISTENING、NOT LISTENING のどちらか不明で、ユーティリティがポートからの応答を受信していないことを示します)。PortQry ユーティリティは、Microsoft ダウンロード センターからダウンロードできます。

アクティブなポートとそれらのポートのステータスを確認した後で Analysis Services に接続する必要がないポートを判断します。それらの不要なポート上のサービスを無効にするか、またはファイアウォールを使用してそれらのポートへのアクセスを制限します。

Windows ファイアウォールの既定の設定の詳細と、データベース エンジン、Analysis Services、Reporting Services、および Integration Services に影響する TCP ポートの説明については、「SQL Server のアクセスを許可するための Windows ファイアウォールの構成」を参照してください。

IIS ポートの制限

IIS およびインターネットを使用して Analysis Services にアクセスする場合は、クライアントと IIS の間にファイアウォールを配置する必要があります。ファイアウォールを使用すると、IIS および Analysis Services を実行するコンピュータへのアクセスにユーザーが使用するポートを制限できます。ファイアウォールの詳細については、Microsoft TechNet の「Perimeter Firewall Design」を参照してください。

ファイアウォールを配置した場合は、IIS が受信待ちするポートを開き、クライアントの接続文字列にそのポートを指定する必要があります。この場合、Analysis Services に直接アクセスするポートを開く必要はありません。既定のポート 2382 は、必要のない他のすべてのポートと共に制限する必要があります。