SQL Server のアクセスを許可するための Windows ファイアウォールの構成

ファイアウォール システムは、コンピューター リソースへの不正アクセスを防ぐのに役立ちます。 ファイアウォールがオンになっているが、正しく構成されていない場合、SQL Server への接続の試行がブロックされる可能性があります。

ファイアウォールを経由して SQL Server のインスタンスにアクセスするには、SQL Server を実行しているコンピューターで、アクセスを許可するようにファイアウォールを構成する必要があります。 ファイアウォールは Microsoft Windows のコンポーネントです。 他社製のファイアウォール プログラムをインストールすることもできます。 このトピックでは、Windows ファイアウォールを構成する方法について説明しますが、基本的な原則は他のファイアウォール プログラムにも適用されます。

注意

このトピックでは、ファイアウォール構成の概要について説明し、SQL Server 管理者を対象とした情報がまとめられています。 ファイアウォールの詳細および管理ファイアウォール情報については、「Windows Firewall with Advanced Security and IPsec (セキュリティが強化された Windows ファイアウォールと IPsec)」および「Windows Firewall with Advanced Security - Content Roadmap (セキュリティが強化された Windows ファイアウォール – コンテンツ ロードマップ)」などのファイアウォールのマニュアルを参照してください。

コントロール パネルの [Windows ファイアウォール] と、セキュリティが強化された Windows ファイアウォールの Microsoft 管理コンソール (MMC) スナップインの操作に慣れているユーザーや、どのファイアウォール設定を構成するかがわかっているユーザーは、次の一覧にあるトピックに進んでください。

このトピックの内容

このトピックには次のセクションがあります。

ファイアウォールに関する基本情報

既定のファイアウォール設定

ファイアウォールを構成するためのプログラム

データベース エンジンで使用されるポート

Analysis Services で使用されるポート

Reporting Services で使用されるポート

Integration Services で使用されるポート

追加のポートとサービス

その他のファイアウォール ルールの操作

ファイアウォール プロファイルの概要

コントロール パネルの [Windows ファイアウォール] を使用した追加のファイアウォール設定

セキュリティが強化された Windows ファイアウォールのスナップインの使用

ファイアウォール設定のトラブルシューティング

ファイアウォールに関する基本情報

ファイアウォールは、受信パケットを調べて一連のルールと比較することによって機能します。 ルールでパケットの使用が許可されている場合、パケットはファイアウォールを通過して TCP/IP プロトコルに渡され、さらに処理が行われます。 ルールでパケットの使用が許可されていない場合は、ファイアウォールでパケットが破棄され、ログ記録が有効になっている場合は、ファイアウォール ログ ファイルにエントリが作成されます。

次のいずれかの方法で、許可されたトラフィックの一覧が追加されます。

  • ファイアウォールが有効になっているコンピューターで通信が開始されると、それに対する応答が許可されるようにファイアウォールによって一覧内にエントリが作成されます。 受信した応答は、要請されたトラフィックと見なされるので、この応答を構成する必要はありません。

  • 管理者がファイアウォールの例外を構成します。 これにより、コンピューターで実行されている指定したプログラムへのアクセス、またはコンピューター上の指定した接続ポートへのアクセスが許可されます。 この場合、サーバー、リスナー、またはピアとして機能しているコンピューターは、要請されていない受信トラフィックを受け入れます。 SQL Server に接続するには、この種類の構成を完了している必要があります。

ファイアウォール戦略の選択は、特定のポートを開くか閉じるかを単に決定するよりも複雑です。 企業に合ったファイアウォール戦略を策定するときは、必ず使用できるすべてのルールと構成オプションについて検討してください。 このトピックでは、可能なファイアウォール オプションすべてを検討するわけではありません。 次のドキュメントを確認することをお勧めします。

セキュリティが強化された Windows ファイアウォール ファースト ステップ ガイド

セキュリティが強化された Windows ファイアウォールの設計ガイド

サーバーとドメインの分離の概要

既定のファイアウォール設定

ファイアウォール構成を計画するには、まずオペレーティング システムのファイアウォールについて現在の状態を確認します。 オペレーティング システムが前のバージョンからアップグレードされた場合、以前のファイアウォール設定が維持されている可能性があります。 また、他の管理者やドメイン内のグループ ポリシーによってファイアウォール設定が変更された可能性もあります。 ただし、既定の設定は次のとおりです。

  • Windows Server 2008

    ファイアウォールはオンになっており、リモート接続をブロックしています。

  • Windows Vista

    ファイアウォールはオンになっており、リモート接続をブロックしています。

注意

ファイアウォールをオンにすると、ファイルとプリンターの共有やリモート デスクトップ接続など、このコンピューターにアクセスする他のプログラムに影響を与えます。 管理者はファイアウォール設定を調整する前に、コンピューターで実行されているすべてのアプリケーションについて検討する必要があります。

ファイアウォールを構成するためのプログラム

Windows ファイアウォールの設定を構成するには、次の 3 つの方法があります。

  • コントロール パネルの [Windows ファイアウォール]

    [Windows ファイアウォール] は、コントロール パネルから開くことができます。

    重要な注意事項重要

    コントロール パネルの [Windows ファイアウォール] で行った変更は、現在のプロファイルにのみ影響を与えます。 ラップトップなどのモバイル デバイスでは、別の設定で接続されるときにプロファイルが変更される可能性があるので、コントロール パネルの [Windows ファイアウォール] は使用しないでください。 以前に構成されたプロファイルには影響を及ぼしません。 プロファイルの詳細については、「セキュリティが強化された Windows ファイアウォール ファースト ステップ ガイド」を参照してください。

    コントロール パネルの [Windows ファイアウォール] で基本的なオプションを構成できます。 その一部を次に示します。

    • コントロール パネルの [Windows ファイアウォール] のオンとオフを切り替える

    • ルールを有効または無効にする

    • ポートおよびプログラムの例外を許可する

    • 一部のスコープの制限を設定する

    コントロール パネルの [Windows ファイアウォール] は、ファイアウォールの構成に慣れていないユーザーや、モバイル デバイスでないコンピューターに基本的なファイアウォール オプションを構成するユーザーに最適です。 次の手順を使用して run コマンドでコントロール パネルの [Windows ファイアウォール] を開くこともできます。

    [Windows ファイアウォール] を開くには

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

    2. [OK] をクリックします。

  • Microsoft 管理コンソール (MMC)

    セキュリティが強化された Windows ファイアウォールの MMC スナップインを使用して、詳細なファイアウォール設定を構成できます。 このスナップインは、Microsoft Vista と Windows Server 2008 以降でのみ使用できますが、ほとんどのファイアウォール オプションが使いやすい形式で表示され、すべてのファイアウォール プロファイルが提供されます。 詳細については、後の「セキュリティが強化された Windows ファイアウォールのスナップインの使用」を参照してください。

  • netsh

    netsh.exe ツールを使用して、管理者はコマンド プロンプトまたはバッチ ファイルで Windows ベースのコンピューターの構成および監視を行うことができます。netsh ツールを使用することによって、入力したコンテキスト コマンドを適切なヘルパーに渡し、ヘルパーによってコマンドを実行できます。 ヘルパーは、1 つ以上のサービス、ユーティリティ、またはプロトコルの構成、監視、およびサポートを行うことによって、netsh ツールの機能を拡張するダイナミック リンク ライブラリ (.dll) ファイルです。 SQL Server をサポートしているすべてのオペレーティング システムには、ファイアウォール ヘルパーが組み込まれています。 Microsoft Windows Vista と Windows Server 2008 には、advfirewall という高度なファイアウォール ヘルパーも組み込まれています。 netsh の使用方法の詳細については、このトピックでは説明しません。 ただし、このトピックで説明する構成オプションの多くは、netsh を使用して構成できます。たとえば、コマンド プロンプトで次のスクリプトを実行すると、TCP ポート 1433 を開くことができます。

    netsh firewall set portopening protocol = TCP port = 1433 name = SQLPort mode = ENABLE scope = SUBNET profile = CURRENT
    

    セキュリティを強化するための Windows ファイアウォール ヘルパーを使用した同様の例

    netsh advfirewall firewall add rule name = SQLPort dir = in protocol = tcp action = allow localport = 1433 remoteip = localsubnet profile = DOMAIN
    

    netsh の詳細については、次のリンクを参照してください。

SQL Server で使用されるポート

次の表で、SQL Server で使用されるポートを確認できます。

データベース エンジンで使用されるポート

次の表に、データベース エンジンで頻繁に使用されるポートの一覧を示します。

シナリオ

[ポート]

コメント

TCP を使用して実行されている SQL Server の既定のインスタンス

TCP ポート 1433

これは、ファイアウォールを通過することを許可されている最も一般的なポートです。 データベース エンジンの既定のインストール、またはコンピューターで実行中の唯一のインスタンスである名前付きインスタンスへの、通常の接続に適用されます (名前付きインスタンスには注意事項があります。 後の「動的ポート」を参照してください)。

既定の構成の SQL Server 名前付きインスタンス

TCP ポートは、データベース エンジンの起動時に決定される動的ポートです。

後の「動的ポート」の説明を参照してください。 名前付きインスタンスを使用している場合、SQL Server Browser サービスで UDP ポート 1434 が必要になる可能性があります。

固定ポートを使用するように構成されている SQL Server 名前付きインスタンス

管理者が構成するポート番号

後の「動的ポート」の説明を参照してください。

Dedicated Admin Connection

TCP ポート 1434 (既定のインスタンスに使用)。 その他のポートは名前付きインスタンスに使用されます。 ポート番号については、エラー ログを確認してください。

既定では、専用管理者接続 (DAC) へのリモート接続は有効になっていません。 リモート DAC を有効にするには、セキュリティ構成ファセットを使用します。 詳細については、「セキュリティ構成」を参照してください。

SQL Server Browser サービス

UDP ポート 1434

SQL Server Browser サービスは、名前付きインスタンスへの着信接続をリッスンし、その名前付きインスタンスに対応する TCP ポート番号をクライアントに提供します。 データベース エンジンの名前付きインスタンスが使用されている場合は、通常 SQL Server Browser サービスを開始します。 名前付きインスタンスの特定のポートに接続するようにクライアントが構成されている場合は、SQL Server Browser サービスを開始する必要はありません。

HTTP エンドポイントを使用して実行されている SQL Server インスタンス

HTTP エンドポイントの作成時に指定できます。 既定の TCP ポートは、CLEAR_PORT トラフィックでは 80、SSL_PORT トラフィックでは 443 です。

URL を使用した HTTP 接続に使用されます。

HTTPS エンドポイントを使用して実行されている SQL Server の既定のインスタンス

TCP ポート 443

URL を使用した HTTPS 接続に使用されます。 HTTPS は、Secure Sockets Layer (SSL) を使用した HTTP 接続です。

Service Broker

TCP ポート 4022。 使用されるポートを確認するには、次のクエリを実行します。

SELECT name, protocol_desc, port, state_desc

FROM sys.tcp_endpoints

WHERE type_desc = 'SERVICE_BROKER'

SQL Server Service Broker の既定のポートはありませんが、これがオンライン ブックの例で使用される通常の構成です。

データベース ミラーリング

管理者が選択したポート。 ポートを特定するには、次のクエリを実行します。

SELECT name, protocol_desc, port, state_desc FROM sys.tcp_endpoints

WHERE type_desc = 'DATABASE_MIRRORING'

データベース ミラーリングを行うための既定のポートはありませんが、オンライン ブックの例では TCP ポート 7022 が使用されます。 特に自動フェールオーバーを伴う高い安全性モードでは、使用中のミラーリング エンドポイントが中断しないようにすることはきわめて重要です。 ファイアウォール構成によりクォーラムが分割されないようにする必要があります。 詳細については、「サーバー ネットワーク アドレスの指定 (データベース ミラーリング)」を参照してください。

Replication

SQL Server へのレプリケーション接続では、一般的な正規のデータベース エンジン ポートを使用します (既定のインスタンスに使用される TCP ポート 1433 など)。

レプリケーション スナップショットのための Web 同期と FTP/UNC アクセスには、ファイアウォール上で追加のポートを開く必要があります。 ある場所から別の場所に初期データおよびスキーマを転送するために、レプリケーションでは FTP (TCP ポート 21)、HTTP (TCP ポート 80) を使用した同期、またはファイル共有を使用できます。 ファイル共有では、NetBIOS を使用する場合、UDP ポート 137 と 138、および TCP ポート 139 を使用します。 Windows 2003 以降のファイル共有では TCP ポート 445 を使用します。

HTTP を使用した同期のために、レプリケーションでは IIS エンドポイント (既定ではポート 80 だが構成可能) を使用しますが、IIS プロセスは標準のポート (既定のインスタンスの場合は 1433) を使用してバックエンドの SQL Server に接続します。

FTP を使用した Web 同期時は、サブスクライバーと IIS の間ではなく、SQL Server 発行者と IIS の間で FTP 転送が行われます。

Transact-SQL デバッガー

TCP ポート 135

「ポート 135 に関する注意事項」を参照してください。

IPsec の例外が必要な場合もあります。

Visual Studio ホスト コンピューターで Visual Studio を使用している場合は、Devenv.exe を例外リストに追加し、TCP ポート 135 を開く必要もあります。

Management Studio ホスト コンピューターで Management Studio を使用している場合は、ssms.exe を例外リストに追加し、TCP ポート 135 を開く必要もあります。 詳細については、「Transact-SQL デバッガーの構成」を参照してください。

データベース エンジンで Windows ファイアウォールを構成する詳細な手順については、「データベース エンジン アクセスを有効にするための Windows ファイアウォールを構成する」を参照してください。

動的ポート

既定では、名前付きインスタンス (SQL Server Express を含む) では動的ポートを使用します。 したがって、データベース エンジンが起動するたびに使用可能なポートが特定され、そのポート番号が使用されます。 インストールされているデータベース エンジンのインスタンスが名前付きインスタンスのみの場合、通常は TCP ポート 1433 が使用されます。 データベース エンジンの他のインスタンスがインストールされている場合は、別の TCP ポートが使用される可能性が高くなります。 選択されたポートは、データベース エンジンが起動するたびに変わる可能性があるので、正しいポート番号にアクセスできるようにファイアウォールを構成することは容易ではありません。 したがって、ファイアウォールを使用する場合は、毎回同じポート番号を使用するようにデータベース エンジンを再構成することをお勧めします。 このポートを固定ポートまたは静的なポートと呼びます。 詳細については、「特定の TCP ポートで受信待ちするようにサーバーを構成する方法 (SQL Server 構成マネージャー)」を参照してください。

固定ポートでリッスンするように名前付きインスタンスを構成する代わりに、sqlservr.exe (データベース エンジン) などの SQL Server プログラムを対象としてファイアウォールで例外を作成することもできます。 この方法が有効な場合もありますが、セキュリティが強化された Windows ファイアウォールの MMC スナップインを使用しているときは、[受信の規則] ページの [ローカル ポート] 列にポート番号が表示されません。 そのため、どのポートが開いているかを調べるのが難しくなる可能性があります。もう 1 つの注意事項は、Service Pack または累積された更新によって SQL Server 実行可能ファイルへのパスが変更され、ファイアウォールのルールが無効になる可能性があるということです。

注意

次の手順では、コントロール パネルの [Windows ファイアウォール] を使用します。 セキュリティが強化された Windows ファイアウォールの MMC スナップインを使用して、より複雑なルールを構成できます。 その場合は、サービスの例外の設定も行います。これは、多層防御を実装する場合に有効です。 後の「セキュリティが強化された Windows ファイアウォールのスナップインの使用」を参照してください。

コントロール パネルの [Windows ファイアウォール] を使用して、ファイアウォールにプログラムの例外を追加するには

  1. コントロール パネルの [Windows ファイアウォール][例外] タブをクリックし、[プログラムの追加] をクリックします。

  2. ファイアウォールを通過することを許可する SQL Server のインスタンスの場所 (たとえば、C:\Program Files\Microsoft SQL Server\MSSQL11.<instance_name>\MSSQL\Binn, select sqlservr.exe を選択して [開く] をクリックします。

  3. [OK] をクリックします。

エンドポイントの詳細については、「複数の TCP ポートでリッスンするデータベース エンジンの構成」および「エンドポイントのカタログ ビュー (Transact-SQL)」を参照してください。

Analysis Services で使用されるポート

次の表に、Analysis Services で頻繁に使用されるポートの一覧を示します。

変更点

[ポート]

コメント

Analysis Services

TCP ポート 2383 (既定のインスタンスに使用)

Analysis Services の既定のインスタンスに使用される標準ポートです。

SQL Server Browser サービス

TCP ポート 2382 (Analysis Services の名前付きインスタンスにのみ必要)

ポート番号を指定せずに Analysis Services の名前付きインスタンスに対してクライアントが接続要求を行うと、SQL Server Browser がリッスンするポート 2382 が指定されます。 SQL Server Browser は、名前付きインスタンスが使用するポートに要求をリダイレクトします。

IIS/HTTP 経由で使用するように構成された Analysis Services

(PivotTable® サービスでは HTTP または HTTPS が使用されます)

TCP ポート 80

URL を使用した HTTP 接続に使用されます。

IIS/HTTPS 経由で使用するように構成された Analysis Services

(PivotTable® サービスでは HTTP または HTTPS が使用されます)

TCP ポート 443

URL を使用した HTTPS 接続に使用されます。 HTTPS は、Secure Sockets Layer (SSL) を使用した HTTP 接続です。

ユーザーが IIS やインターネットを経由して Analysis Services にアクセスする場合は、IIS がリッスンするポートを開き、クライアントの接続文字列にそのポートを指定する必要があります。 この場合、Analysis Services に直接アクセスするためのポートを開く必要はありません。 必要のない他のすべてのポートと共に、既定のポート 2389 およびポート 2382 を制限する必要があります。

Analysis Services で Windows ファイアウォールを構成する詳細な手順については、「Analysis Services のアクセスを許可するための Windows ファイアウォールの構成」を参照してください。

Reporting Services で使用されるポート

次の表に、Reporting Services で頻繁に使用されるポートの一覧を示します。

変更点

[ポート]

コメント

Reporting Services Web サービス

TCP ポート 80

URL を使用した Reporting Services への HTTP 接続に使用されます。 [World Wide Web サービス (HTTP)] のあらかじめ構成されたルールは使用しないことをお勧めします。 詳細については、後の「その他のファイアウォール ルールの操作」を参照してください。

HTTPS 経由で使用するように構成された Reporting Services

TCP ポート 443

URL を使用した HTTPS 接続に使用されます。 HTTPS は、Secure Sockets Layer (SSL) を使用した HTTP 接続です。 [セキュア World Wide Web サービス (HTTPS)] のあらかじめ構成されたルールは使用しないことをお勧めします。 詳細については、後の「その他のファイアウォール ルールの操作」を参照してください。

Reporting Services からデータベース エンジンまたは Analysis Services のインスタンスに接続する場合、そのサービス用の適切なポートを開く必要もあります。 Reporting Services で Windows ファイアウォールを構成する詳細な手順については、「レポート サーバー アクセスに対するファイアウォールの構成」を参照してください。

Integration Services で使用されるポート

次の表に、Integration Services サービスで使用されるポートの一覧を示します。

変更点

[ポート]

コメント

Microsoft リモート プロシージャ コール (MS RPC)

Integration Services ランタイムで使用されます。

TCP ポート 135

「ポート 135 に関する注意事項」を参照してください。

Integration Services サービスでは、ポート 135 で DCOM を使用します。 サービス コントロール マネージャーではポート 135 を使用して、Integration Services サービスの開始と停止、実行中のサービスに対する制御要求の転送などのタスクを実行します。ポート番号を変更することはできません。

このポートは、Management Studio またはカスタム アプリケーションから Integration Services サービスのリモート インスタンスに接続する場合にのみ、開く必要があります。

Integration Services で Windows ファイアウォールを構成する詳細な手順については、「SSIS サービスにアクセスするように Windows ファイアウォールを構成する」を参照してください。

追加のポートとサービス

次の表に、SQL Server が依存している可能性があるポートとサービスの一覧を示します。

シナリオ

[ポート]

コメント

Windows Management Instrumentation

WMI の詳細については、「構成管理用の WMI プロバイダーの概念」を参照してください。

WMI は、DCOM によってポートが割り当てられている共有サービス ホストの一部として実行されます。 WMI では TCP ポート 135 を使用している可能性があります。

「ポート 135 に関する注意事項」を参照してください。

SQL Server 構成マネージャーでは、WMI を使用してサービスの一覧を表示し、管理します。 [Windows Management Instrumentation (WMI)] のあらかじめ構成されたルール グループを使用することをお勧めします。 詳細については、後の「その他のファイアウォール ルールの操作」を参照してください。

Microsoft 分散トランザクション コーディネーター (MS DTC)

TCP ポート 135

「ポート 135 に関する注意事項」を参照してください。

アプリケーションで分散トランザクションを使用する場合は、Microsoft 分散トランザクション コーディネーター (MS DTC) トラフィックが、各 MS DTC インスタンス間、および SQL Server などのリソース マネージャーと MS DTC との間を流れるように、ファイアウォールを構成することが必要になる可能性があります。[分散トランザクション コーディネーター] のあらかじめ構成されたルール グループを使用することをお勧めします。

個別のリソース グループのクラスター全体に対して 1 つの共有 MS DTC が構成されている場合は、ファイアウォールに sqlservr.exe を例外として追加する必要があります。

Management Studio の参照ボタンを押すと、UDP を使用して SQL Server Browser サービスに接続できます。 詳細については、「SQL Server Browser サービス (データベース エンジンと SSAS)」を参照してください。

UDP ポート 1434

UDP はコネクションレスのプロトコルです。

ファイアウォールには、INetFwProfile インターフェイスの UnicastResponsesToMulticastBroadcastDisabled プロパティという設定があります。この設定は、ブロードキャスト (またはマルチキャスト) UDP 要求へのユニキャスト応答に関するファイアウォールの動作を制御します。 この設定には次の 2 つの動作があります。

  • 設定が TRUE の場合、ブロードキャスト要求へのユニキャスト応答はまったく許可されません。 サービスの列挙は失敗します。

  • 設定が FALSE (既定) の場合、ユニキャスト応答が 3 秒間許可されます。 この時間の長さは構成できません。 混雑しているネットワークや待機時間の長いネットワークまたは負荷の大きいサーバーで SQL Server のインスタンスを列挙しようとすると、一覧の一部しか返されない可能性があり、ユーザーの混乱を招くことがあります。

IPsec トラフィック

UDP ポート 500 および UDP ポート 4500

ドメインのポリシーにより IPSec 経由でネットワーク通信を行う必要がある場合は、UDP ポート 4500 と UDP ポート 500 も例外の一覧に追加する必要があります。 IPsec は、Windows ファイアウォール スナップインの新規の受信の規則ウィザードを使用するオプションです。 詳細については、後の「セキュリティが強化された Windows ファイアウォールのスナップインの使用」を参照してください。

信頼されたドメインでの Windows 認証の使用

認証要求を許可するようにファイアウォールを構成する必要があります。

詳細については、「ドメインの信頼関係を使用するためのファイアウォールの構成方法」を参照してください。

SQL Server と Windows のクラスタリング

クラスタリングでは、SQL Server に直接関連付けられていない追加のポートが必要です。

詳細については、「クラスターで使用するネットワークを有効にする」を参照してください。

HTTP サーバー API (HTTP.SYS) で予約された URL 名前空間

通常は TCP ポート 80 を使用しますが、他のポートに構成することもできます。 一般的な情報については、「HTTP および HTTPS の構成」を参照してください。

HttpCfg.exe を使用した HTTP.SYS エンドポイントの予約に関する SQL Server 固有の情報については、「URL の予約と登録について」を参照してください。

ポート 135 に関する注意事項

RPC と共にトランスポートとして TCP/IP または UDP/IP を使用する場合、必要に応じて受信ポートがシステム サービスに動的に割り当てられることがよくあります。ポート 1024 より大きい TCP/IP ポートや UDP/IP ポートが使用されます。 これらはしばしば "ランダム RPC ポート" と呼ばれます。これらの場合、RPC クライアントは RPC エンドポイント マッパーを使用して、サーバーにどの動的ポートが割り当てられたかを指示します。 RPC ベースのサービスによっては、RPC によってポートが動的に割り当てられるのではなく、ユーザーが特定のポートを構成できます。 サービスに関係なく、RPC によって動的に割り当てられるポートを狭い範囲に制限することもできます。 ポート 135 は多くのサービスで使用されるので、悪意のあるユーザーによって頻繁に攻撃されます。 ポート 135 を開く場合は、ファイアウォール ルールのスコープを制限することを検討してください。

ポート 135 の詳細については、次の資料を参照してください。

その他のファイアウォール ルールの操作

Windows ファイアウォールでは、ルールおよびルール グループを使用して、その構成が設定されます。 各ルールまたはルール グループは一般に、特定のプログラムやサービスに関連付けられており、そのプログラムやサービスによって、ユーザーの知らない間にそのルールが変更されたり削除されたりする場合があります。 たとえば、ルール グループ [World Wide Web サービス (HTTP)][セキュア World Wide Web サービス (HTTPS)] は IIS に関連付けられています。 これらのルールを有効にすると、ポート 80 とポート 443 が開き、これらのルールが有効になっている場合にポート 80 とポート 443 に依存する SQL Server 機能が有効になります。 ただし、IIS を構成する管理者が、それらのルールを変更するか無効にする可能性があります。 したがって、SQL Server にポート 80 またはポート 443 を使用している場合は、他の IIS ルールとは別に希望のポート構成を維持する独自のルールまたはルール グループを作成する必要があります。

セキュリティが強化された Windows ファイアウォールの MMC スナップインを使用して、該当する許可ルールと一致するトラフィックを許可できます。 したがって、どちらもポート 80 に該当する、パラメーターの異なるルールが 2 つある場合、いずれかのルールと一致するトラフィックが許可されます。 一方のルールでローカル サブネットからのポート 80 経由のトラフィックが許可され、もう一方のルールで任意のアドレスからのトラフィックが許可される場合、結果として、発信元に関係なくポート 80 へのすべてのトラフィックが許可されます。 SQL Server へのアクセスを有効に管理するために、管理者はサーバーで有効になっているすべてのファイアウォール ルールを定期的に確認する必要があります。

ファイアウォール プロファイルの概要

ファイアウォール プロファイルについては、「セキュリティが強化された Windows ファイアウォール ファースト ステップ ガイド」の「ネットワークの場所を認識するホスト ファイアウォール」を参照してください。 要約すると、Windows Vista および Windows Server 2008 以降のオペレーティング システムでは、接続性、接続状態、およびカテゴリに関して、接続する各ネットワークが識別され記憶されます。

セキュリティが強化された Windows ファイアウォールでは、ネットワークの場所として 3 種類の設定があります。

  • ドメイン。 Windows では、コンピューターが参加しているドメインのドメイン コントローラーへのアクセスを認証できます。

  • パブリック。 ドメイン ネットワーク以外のすべてのネットワークがパブリックとして最初に分類されます。 インターネットへの直接接続となるネットワーク、または空港やコーヒー ショップのような公共の場所にあるネットワークです。

  • プライベート。 ユーザーまたはアプリケーションによってプライベートと見なされるネットワークです。 信頼されたネットワークだけをプライベート ネットワークと見なす必要があります。 通常は、ホーム ネットワークまたは小規模ビジネス ネットワークをプライベートと見なすことができます。

管理者はネットワークの場所の種類ごとにプロファイルを作成できます。各プロファイルに、さまざまなファイアウォール ポリシーを指定できます。 どの時点においても 1 つのプロファイルのみが適用されます。 次のようなプロファイル順序が適用されます。

  1. Windows では、コンピューターが参加しているドメインのドメイン コントローラーへのアクセスに対してすべてのインターフェイスが認証される場合、ドメイン プロファイルが適用されます。

  2. すべてのインターフェイスがドメイン コントローラーに対して認証されるか、プライベート ネットワークの場所として分類されるネットワークに接続されている場合、プライベート プロファイルが適用されます。

  3. それ以外の場合は、パブリック プロファイルが適用されます。

セキュリティが強化された Windows ファイアウォールの MMC スナップインを使用して、すべてのファイアウォール プロファイルを表示し、構成できます。 コントロール パネルの [Windows ファイアウォール] では、現在のプロファイルのみを構成できます。

コントロール パネルの [Windows ファイアウォール] を使用した追加のファイアウォール設定

ファイアウォールに例外を追加した場合、特定のコンピューターまたはローカル サブネットからの着信接続のみに対してポートを開くように制限できます。 ポートを開くスコープを制限すると、コンピューターが悪意のあるユーザーの攻撃にさらされるリスクを軽減できるので、このように設定することをお勧めします。

注意

コントロール パネルの [Windows ファイアウォール] では、現在のファイアウォール プロファイルのみを構成できます。

コントロール パネルの [Windows ファイアウォール] を使用して、ファイアウォールの例外のスコープを変更するには

  1. コントロール パネルの [Windows ファイアウォール][例外] タブでプログラムまたはポートを選択し、[プロパティ] または [編集] をクリックします。

  2. [プログラムの編集] または [ポートの編集] ダイアログ ボックスの [スコープの変更] をクリックします。

  3. 次のいずれかのオプションを選択します。

    • [任意のコンピューター (インターネット上のコンピューターを含む)]

      推奨されません。 この設定によって、自分のコンピューターのアドレスを指定した任意のコンピューターが、特定のプログラムまたはポートに接続できるようになります。 このような設定は、インターネット上の匿名ユーザーに情報を提供できるようにするために必要な場合がありますが、悪意のあるユーザーの攻撃にさらされるリスクが大きくなります。 この設定を有効にし、[エッジ トラバーサルを許可する] オプションなどのネットワーク アドレス変換 (NAT) トラバーサルも許可する場合は、悪意のあるユーザーの攻撃にさらされる可能性がさらに高くなります。

    • [ユーザーのネットワーク (サブネット) のみ]

      [任意のコンピューター] より安全な設定です。 ネットワークのローカル サブネット上のコンピューターのみがプログラムまたはポートに接続できます。

    • [カスタムの一覧]

    作成した一覧に IP アドレスが載っているコンピューターだけが接続できます。 この設定は、[ユーザーのネットワーク (サブネット) のみ] よりもさらに安全ですが、DHCP を使用するクライアント コンピューターでは、その IP アドレスが変更されることがあります。 その場合、意図していたコンピューターは接続することができません。 その代わり、認証の対象として意図していなかった別のコンピューターに一覧の IP アドレスが割り当てられてしまい、そのコンピューターから接続できるようになる可能性があります。 [カスタムの一覧] オプションは、固定 IP アドレスを使用するように構成されている他のサーバーの一覧を作成する場合に適しています。ただし、侵入者が IP アドレスを偽装する可能性もあります。 ファイアウォール ルールを制限することは、最低限のネットワーク インフラストラクチャです。

セキュリティが強化された Windows ファイアウォールのスナップインの使用

Vista および Windows Server 2008 以降では、セキュリティが強化された Windows ファイアウォールの MMC スナップインを使用して、さらに詳細なファイアウォール設定を構成できます。 スナップインにはルール ウィザードが組み込まれており、コントロール パネルの [Windows ファイアウォール] では使用できない設定も表示されます。 これらの設定は次のとおりです。

  • 暗号化の設定

  • サービスの制限

  • 名前によってコンピューターの接続を制限する

  • 特定のユーザーまたはプロファイルに接続を制限する

  • エッジ トラバーサルにより、トラフィックが NAT (Network Address Translation) ルーターをバイパスするのを許可する

  • 送信ルールを構成する

  • セキュリティ ルールを構成する

  • 着信接続用に IPsec を要求する

新しい規則ウィザードを使用して、新しいファイアウォール ルールを作成するには

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

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

  3. 新規の受信の規則ウィザードで、必要な設定を行います。

ファイアウォール設定のトラブルシューティング

ファイアウォールの問題をトラブルシューティングする場合は、次のツールと手法が役立ちます。

  • 有効なポート ステータスは、ポートに関連付けられているすべてのルールの和集合です。 ポートを経由するアクセスをブロックしようとするときは、そのポート番号を参照しているすべてのルールの確認が有効な場合があります。 このためには、セキュリティが強化された Windows ファイアウォールの MMC スナップインを使用して、ポート番号によって受信ルールと送信ルールを並べ替えます。

  • SQL Server を実行しているコンピューターでアクティブになっているポートを確認します。 この確認処理では、リッスンしている TCP/IP ポートの確認とポートのステータスの確認も行います。

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

    リッスンしている TCP/IP ポートの一覧を表示するには

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

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

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

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

関連項目

その他の技術情報

Windows サーバー システムのサービス概要とネットワーク ポート要件