データベース エンジン アクセスを有効にするための Windows ファイアウォールの構成方法

ファイアウォール システムは、コンピューター リソースへの不正アクセスを防ぐのに役立ちます。ファイアウォールを経由して SQL Server データベース エンジンのインスタンスにアクセスするには、SQL Server を実行しているコンピューターで、アクセスを許可するようにファイアウォールを構成する必要があります。

Windows ファイアウォールの既定の設定の詳細と、データベース エンジン、Analysis Services、Reporting Services、および Integration Services に影響する TCP ポートの説明については、「SQL Server のアクセスを許可するための Windows ファイアウォールの構成」および「インターネットを介しての SQL Server への接続」を参照してください。現在、多くのファイアウォール システムが市販されています。システム固有の情報については、ファイアウォールのマニュアルを参照してください。

重要な注意事項重要

ファイアウォールのポートを開くと、サーバーが攻撃を受けやすくなります。ポートを開く前に、ファイアウォール システムについて理解しておいてください。詳細については、「SQL Server インストールにおけるセキュリティの考慮事項」を参照してください。

アクセスを許可するための主な手順を次に示します。

  1. 特定の TCP/IP ポートを使用するようにデータベース エンジンを構成します。データベース エンジンの既定のインスタンスはポート 1433 を使用しますが、使用するポートは変更できます。データベース エンジンで使用されているポートは、SQL Server エラー ログに記録されます。SQL Server Express と SQL Server Compact 3.5 SP2 のインスタンス、およびデータベース エンジンの名前付きインスタンスは動的ポートを使用します。特定のポートを使用するようにこれらのインスタンスを構成するには、「特定の TCP ポートで受信待ちするようにサーバーを構成する方法 (SQL Server Configuration Manager)」を参照してください。

  2. 認証済みのユーザーまたはコンピューターが上記で構成したポートにアクセスできるように、ファイアウォールを構成します。

注意

SQL Server Browser サービスを使用すると、ユーザーはポート番号を意識することなく、ポート 1433 でリッスンしていないデータベース エンジンのインスタンスに接続できます。SQL Server Browser を使用するには、UDP ポート 1434 を開く必要があります。環境のセキュリティを最大限に強化するには、SQL Server Browser サービスを停止した状態で、ポート 1434 を使用して接続するようにクライアントを構成します。

注意

Microsoft Windows XP Service Pack 2 では、既定で Windows ファイアウォールが有効になっており、ポート 1433 が閉じられ、インターネットからコンピューターの SQL Server の既定のインスタンスに接続できない状態になっています。TCP/IP を使用して既定のインスタンスに接続するには、再度ポート 1433 を開く必要があります。Windows XP ファイアウォールの基本的な構成手順を次に示します。詳細については、Windows のマニュアルを参照してください。

上記の方法のように、特定のポートでリッスンするように SQL Server を構成してそのポートを開く代わりに、ブロックするプログラムの例外の一覧に SQL Server の実行可能ファイル (Sqlservr.exe) を追加することもできます。この方法は、引き続き動的ポートを使用するときに使用します。この方法でアクセスできる SQL Server のインスタンスは 1 つだけです。

Windows Vista と Windows Server 2008 以降

次の手順では、セキュリティが強化された Windows ファイアウォールの Microsoft 管理コンソール (MMC) スナップインを使用して Windows ファイアウォールを構成します。このスナップインは、Windows Vista と Windows Server 2003 以降のバージョンで使用できます。セキュリティが強化された Windows ファイアウォールでは、現在のプロファイルのみを構成できます。セキュリティが強化された Windows ファイアウォールの詳細については、「SQL Server のアクセスを許可するための Windows ファイアウォールの構成」を参照してください。

TCP アクセス用に Windows ファイアウォールのポートを開くには

  1. [スタート] ボタンをクリックし、[ファイル名を指定して実行] をクリックして「WF.msc」と入力し、[OK] をクリックします。

  2. [セキュリティが強化された Windows ファイアウォール] の左ペインの [受信の規則] をクリックし、[操作] ペインの [新規の規則] をクリックします。

  3. [規則の種類] ダイアログ ボックスで、[ポート] をクリックし、[次へ] をクリックします。

  4. [プロトコルおよびポート] ダイアログ ボックスで、[TCP] をクリックします。[特定のローカル ポート] をクリックし、データベース エンジンのインスタンスのポート番号を入力します。たとえば、既定のインスタンスの場合は「1433」と入力します。[次へ] をクリックします。

  5. [操作] ダイアログ ボックスで、[接続を許可する] をクリックし、[次へ] をクリックします。

  6. [プロファイル] ダイアログ ボックスで、データベース エンジンに接続するときのコンピューター接続環境を表すプロファイルをすべて選択し、[次へ] をクリックします。

  7. [名前] ダイアログ ボックスで、この規則の名前と説明を入力し、[完了] をクリックします。

動的ポートの使用時に SQL Server にアクセスするには

  1. [スタート] ボタンをクリックし、[ファイル名を指定して実行] をクリックして「WF.msc」と入力し、[OK] をクリックします。

  2. [セキュリティが強化された Windows ファイアウォール] の左ペインの [受信の規則] をクリックし、[操作] ペインの [新規の規則] をクリックします。

  3. [規則の種類] ダイアログ ボックスで、[プログラム] をクリックし、[次へ] をクリックします。

  4. [プログラム] ダイアログ ボックスで、[このプログラムのパス] をクリックします。[参照] をクリックし、ファイアウォール経由でアクセスする SQL Server のインスタンスに移動して、[開く] をクリックします。既定では、SQL Server は C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Binn\Sqlservr.exe にあります。[次へ] をクリックします。

  5. [操作] ダイアログ ボックスで、[接続を許可する] をクリックし、[次へ] をクリックします。

  6. [プロファイル] ダイアログ ボックスで、データベース エンジンに接続するときのコンピューター接続環境を表すプロファイルをすべて選択し、[次へ] をクリックします。

  7. [名前] ダイアログ ボックスで、この規則の名前と説明を入力し、[完了] をクリックします。

Windows XP と Windows Server 2003

次の手順では、Windows XP と Windows Server 2003 のコントロール パネルの [Windows ファイアウォール] を使用して Windows ファイアウォールを構成します。コントロール パネルの [Windows ファイアウォール] では、現在のネットワークの場所のプロファイルに対してのみファイアウォールを構成できます。Windows ファイアウォールは、セキュリティが強化された Windows ファイアウォールの Microsoft 管理コンソール (MMC) スナップインと netsh コマンド ライン ツールを使用して構成することもできます。これらのツールの詳細については、「SQL Server のアクセスを許可するための Windows ファイアウォールの構成」を参照してください。

TCP アクセス用に Windows ファイアウォールのポートを開くには

  1. [スタート] ボタンをクリックし、[ファイル名を指定して実行] をクリックして「firewall.cpl」と入力し、[OK] をクリックします。

  2. [Windows ファイアウォール] ダイアログ ボックスで、[例外] タブをクリックして、[ポートの追加] をクリックします。

  3. [ポートの追加] ダイアログ ボックスの [名前] ボックスに、「SQL Server<instance name>」と入力します。

  4. [ポート番号] ボックスに、データベース エンジンのインスタンスのポート番号を入力します。たとえば、既定のインスタンスの場合は「1433」と入力します。

  5. [TCP] が選択されていることを確認して、[OK] をクリックします。

  6. ポートを開いて SQL Server Browser サービスを公開するには、[ポートの追加] をクリックし、[名前] ボックスに「SQL Server Browser」と入力します。次に、[ポート番号] ボックスに「1434」と入力し、[UDP] をクリックして、[OK] をクリックします。

    注意

    ファイアウォール経由で名前付きパイプのアクセスを許可するには、ファイアウォール経由の [ファイルとプリンターの共有] も有効にする必要があります。

  7. [Windows ファイアウォール] ダイアログ ボックスと、接続のプロパティ ダイアログ ボックスを閉じます。

注意

特定のプログラムへのアクセスを許可したり、特定の IP アドレスまたはネットワーク サブネットへのアクセスを制限したりするなど、他のオプションを設定するには、[Windows ファイアウォール] ダイアログ ボックスで [プログラムの追加] をクリックします。詳細については、Windows のマニュアルを参照してください。

Windows ファイアウォールを経由してプログラムにアクセスするには

  1. [Windows ファイアウォール] ダイアログ ボックスで、[例外] タブをクリックし、[プログラムの追加] をクリックします。

  2. [参照] をクリックし、ファイアウォール経由でアクセスする SQL Server のインスタンスに移動して、[開く] をクリックします。既定では、SQL Server は C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Binn\Sqlservr.exe にあります。

  3. [OK] を 2 回クリックし、Windows ファイアウォール プログラムを閉じます。

静的ポートを構成する方法、ファイアウォールを開く方法、および SQL Server Management Studio を使用してデータベース エンジンに接続する方法に関する簡単なチュートリアルについては、「チュートリアル: データベース エンジンの概要」を参照してください。