次の方法で共有


Configure the Windows Firewall to Allow SQL Server Access

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

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

注意

このトピックでは、ファイアウォール構成の概要を説明し、SQL Server管理者に関心のある情報を要約します。 ファイアウォールの詳細および管理ファイアウォール情報については、「 セキュリティが強化された Windows ファイアウォールの設計ガイド」などのファイアウォールのマニュアルを参照してください。

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

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

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

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

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

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

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

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

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

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

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

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

注意

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

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

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

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

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

    重要

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

    コントロール パネルの [Windows ファイアウォール] で基本的なオプションを構成できます。 これらには、次のものが含まれます。

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

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

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

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

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

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

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

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

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

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

  • netsh

    管理者は、netsh.exe ツールを使用して、コマンド プロンプトまたはバッチ ファイルを使用して Windows ベースのコンピューターを構成および監視できます。** netsh ツールを使用すると、入力したコンテキスト コマンドを適切なヘルパーに指示し、そのコマンドを実行します。 ヘルパーは、1 つ以上のサービス、ユーティリティ、またはプロトコルの構成、監視、サポートを行って netsh ツールの機能を拡張するダイナミック リンク ライブラリ (.dll) ファイルです。 SQL Server をサポートしているすべてのオペレーティング システムには、ファイアウォール ヘルパーが組み込まれています。 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で使用されるポートを確認できます。

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

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

シナリオ Port 説明
TCP 経由で実行されている既定のインスタンスをSQL Serverする TCP ポート 1433 これは、ファイアウォールを通過することを許可されている最も一般的なポートです。 データベース エンジンの既定のインストール、またはコンピューターで実行中の唯一のインスタンスである名前付きインスタンスへの、通常の接続に適用されます (名前付きインスタンスには特別な考慮事項があります。このトピックで後述する 「動的ポート 」を参照してください)。
既定の構成で名前付きインスタンスをSQL Serverする TCP ポートは、 データベース エンジン の起動時に決定される動的ポートです。 後の「 動的ポート」の説明を参照してください。 名前付きインスタンスを使用している場合は、SQL Server Browser Service に UDP ポート 1434 が必要になる場合があります。
固定ポートを使用するように構成されている場合に名前付きインスタンスをSQL Serverする 管理者が構成するポート番号 後の「 動的ポート」の説明を参照してください。
専用管理者接続 TCP ポート 1434 (既定のインスタンスに使用)。 その他のポートは名前付きインスタンスに使用されます。 ポート番号については、エラー ログを確認してください。 既定では、専用管理者接続 (DAC) へのリモート接続は有効になっていません。 リモート DAC を有効にするには、セキュリティ構成ファセットを使用します。 詳細については、「 Surface Area Configuration」を参照してください。
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 接続に使用されます。
SQL Server HTTPS エンドポイントで実行されている既定のインスタンスです。 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 ServerService Broker の既定のポートはありませんが、オンライン ブックの例で使用される従来の構成です。
データベース ミラーリング 管理者が選択したポート。 ポートを特定するには、次のクエリを実行します。

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

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

レプリケーション スナップショットのための Web 同期と FTP/UNC アクセスには、ファイアウォール上で追加のポートを開く必要があります。 ある場所から別の場所に初期データおよびスキーマを転送するために、レプリケーションでは FTP (TCP ポート 21)、HTTP (TCP ポート 80) を使用した同期、またはファイル共有を使用できます。 ファイル共有では、NetBIOS を使用する場合、UDP ポート 137 と 138、および TCP ポート 139 を使用します。 ファイル共有は 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 構成マネージャー)」を参照してください。

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

Note

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

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

  2. ファイアウォールを介して許可するSQL Serverのインスタンスの場所 (C:\Program Files\Microsoft SQL Server\MSSQL12 など) を参照します。<>instance_name\MSSQL\Binn]、[sqlservr.exe] の順選択し、[開く] をクリックします。

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

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

Analysis Services で使用されるポート

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

機能 Port 説明
Analysis Services TCP ポート 2383 (既定のインスタンスに使用) Analysis Servicesの既定のインスタンスに使用される標準ポートです。
SQL Server Browser サービス TCP ポート 2382 ( Analysis Services の名前付きインスタンスにのみ必要) ポート番号を指定しない Analysis Services の名前付きインスタンスに対するクライアント接続要求は、SQL Server Browser がリッスンするポートであるポート 2382 に送信されます。 SQL Server Browser は、名前付きインスタンスが使用するポートに要求をリダイレクトします。
Analysis Services IIS/HTTP 経由で使用するように構成された

(ピボットテーブル??サービスでは HTTP または HTTPS が使用されます)
TCP ポート 80 URL を使用した HTTP 接続に使用されます。
Analysis Services IIS/HTTPS 経由で使用するように構成された

(ピボットテーブル??サービスでは 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で頻繁に使用されるポートの一覧を示します。

機能 Port 説明
Reporting Services Web サービス TCP ポート 80 URL を使用した Reporting Services への HTTP 接続に使用されます。 [World Wide Web サービス (HTTP)] のあらかじめ構成されたルールは使用しないことをお勧めします。 詳細については、後の「 その他のファイアウォール ルールの操作 」を参照してください。
Reporting Services HTTPS 経由で使用するように構成された 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 サービスで使用されるポートの一覧を示します。

機能 Port 説明
Microsoft リモート プロシージャ呼び出し (MS RPC)

Integration Services ランタイムで使用されます。
TCP ポート 135

ポート 135 に関する注意事項」を参照してください。
Integration Services サービスでは、ポート 135 で DCOM を使用します。 Service Control Manager は、ポート 135 を使用して、Integration Services サービスの開始と停止、実行中のサービスへの制御要求の送信などのタスクを実行します。 ポート番号を変更することはできません。

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

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

追加のポートとサービス

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

シナリオ Port 説明
Windows Management Instrumentation (Windows Management Instrumentation)

WMI の詳細については、「 WMI Provider for Configuration Management Concepts」を参照してください。
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 の予約と登録について (SSRS 構成マネージャー)」を参照してください。

ポート 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 ファイアウォールでは、ネットワークの場所として 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 ファイアウォールのスナップインの使用

セキュリティが強化された 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 サーバー システムのサービス概要とネットワーク ポート要件