SQL Server のアクセスを許可するための Windows ファイアウォールの構成
適用対象: SQL Server - Windows のみ
ファイアウォール システムは、コンピューター リソースへの不正アクセスを防ぐのに役立ちます。 ファイアウォールがオンになっているが、正しく構成されていない場合、 SQL Server への接続の試行がブロックされる可能性があります。
ファイアウォールを経由して SQL Server のインスタンスにアクセスするには、 SQL Server」などのファイアウォールのマニュアルを参照してください。 ファイアウォールは Microsoft Windows のコンポーネントです。 別のベンダー製のファイアウォール プログラムをインストールすることもできます。 この記事では、Windows ファイアウォールを構成する方法について説明しますが、基本的な原則は他のファイアウォール プログラムにも適用されます。
注意
この記事では、ファイアウォール構成の概要について説明し、SQL Server 管理者を対象とした情報がまとめられています。 ファイアウォールの詳細および管理ファイアウォール情報については、Windows ファイアウォール セキュリティ展開ガイドなどのファイアウォールのマニュアルを参照してください。
Windows ファイアウォールの管理に慣れており、構成すべきファイアウォール設定を理解しているユーザーは、より高度な記事にそのまま進むことができます。
- データベース エンジンのアクセス用に Windows ファイアウォールを構成する
- Analysis Services のアクセスを許可するための Windows ファイアウォールの構成
- レポート サーバー アクセスに対するファイアウォールの構成
ファイアウォールに関する基本情報
ファイアウォールは、受信パケットを調べて一連の規則と比較することによって機能します。
規則で指定された基準をパケットが満たしている場合、パケットはファイアウォールを通過して TCP/IP プロトコルに渡され、さらに処理が行われます。
パケットが規則で指定された標準を満たしていない。
その後、ファイアウォールはパケットを破棄します。
ログが有効になっている場合は、ファイアウォールのログ ファイルにエントリが作成されます。
次のいずれかの方法で、許可されたトラフィックの一覧が追加されます。
自動: ファイアウォールが有効になっているコンピューターで通信が開始されると、それに対する応答が許可されるよう、ファイアウォールによって一覧内にエントリが作成されます。 応答は、要請されたトラフィックと見なされるため、何も構成する必要はありません。
手動: 管理者がファイアウォールの例外を構成します。 これにより、指定されたプログラムへの、またはコンピューター上のポートへのアクセスが許可されます。 この場合、サーバー、リスナー、またはピアとして機能しているコンピューターは、要請されていない受信トラフィックを受け入れます。 SQL Server に接続するように構成を完了する必要があります。
ファイアウォール戦略の選択は、特定のポートを開くか閉じるかを単に決定するよりも複雑です。 企業に合ったファイアウォール戦略を策定するときは、使用できるすべての規則と構成オプションについて検討してください。 この記事では、可能なファイアウォール オプションすべてを検討するわけではありません。 次のドキュメントを確認することをお勧めします。
既定のファイアウォール設定
ファイアウォール構成を計画するには、まずオペレーティング システムのファイアウォールについて現在の状態を確認します。 オペレーティング システムが前のバージョンからアップグレードされた場合、以前のファイアウォール設定が維持されている可能性があります。 グループ ポリシーまたは管理者は、ドメイン内のファイアウォール設定を変更できます。
Note
ファイアウォールをオンにすると、ファイルとプリンターの共有やリモート デスクトップ接続など、このコンピュータにアクセスするその他のプログラムに影響を及ぼします。 管理者はファイアウォール設定を調整する前に、コンピューターで実行されているすべてのアプリケーションについて検討する必要があります。
ファイアウォールを構成するためのプログラム
Microsoft 管理コンソール、PowerShell、netsh のいずれかを使用して、Windows ファイアウォール設定を構成します。
Microsoft 管理コンソール (MMC)
セキュリティが強化された Windows ファイアウォールの MMC スナップインを使用して、詳細なファイアウォール設定を構成できます。 このスナップインは、ほとんどのファイアウォール オプションが使いやすい形式で表示され、すべてのファイアウォール プロファイルが提供されます。 詳しくは、後の「セキュリティが強化された Windows ファイアウォールのスナップインの使用」をご覧ください。
PowerShell
次の例を参照して、SQL Server 既定のインスタンスと SQL Server Browser サービスに TCP ポート 1433 と UDP ポート 1434 を開きます。
New-NetFirewallRule -DisplayName "SQLServer default instance" -Direction Inbound -LocalPort 1433 -Protocol TCP -Action Allow
New-NetFirewallRule -DisplayName "SQLServer Browser service" -Direction Inbound -LocalPort 1434 -Protocol UDP -Action Allow
詳細については、「New-NetFirewallRule」を参照してください。
netsh を使用したコマンド ライン
netsh.exe は、コマンド プロンプトまたはバッチ ファイルで Windows ベースのコンピューターの構成および監視を行うための管理者ツールです。 netsh ツールを使用すれば、入力したコンテキスト コマンドを適切なヘルパーに渡し、ヘルパーによってコマンドを実行できます。 ヘルパーは、機能を拡張するダイナミックリンク ライブラリ (.dll
) ファイルです。 ヘルパーは、netsh ツールの 1 つ以上のサービス、ユーティリティ、またはプロトコルの構成、監視、およびサポートを提供します。
Windows Firewall for Advanced Security ヘルパー (advfirewall と呼ばれています) を使用できます。 説明にある構成オプションの多くは、netsh advfirewall
を使用してコマンド ラインから構成できます。 たとえば、コマンド プロンプトで次のスクリプトを実行すると、TCP ポート 1433 を開くことができます。
netsh advfirewall firewall add rule name = SQLPort dir = in protocol = tcp action = allow localport = 1433 remoteip = localsubnet profile = DOMAIN
netshの詳細については、次のリンクを参照してください。
- Netsh コマンドの構文、コンテキスト、および書式設定
- netsh ファイアウォールの代わりに netsh advfirewall ファイアウォールを使用して Windows ファイアウォールのビヘイビアーを制御する
Linux の場合
Linux では、アクセスするサービスに関連付けられたポートを開く必要もあります。 Linux の異なるディストリビューションと異なるファイアウォールには、独自のプロシージャがあります。 2 つの例については、次を参照してください。
- クイック スタート:Red Hat に SQL Server をインストールし、データベースを作成する
- クイック スタート:SUSE Linux Enterprise Server で SQL Server をインストールし、データベースを作成する
SQL Server で使用されるポート
次の表で、 SQL Serverで使用されるポートを確認できます。
データベース エンジンで使用されるポート
既定では、SQL Server と関連データベース エンジン サービスで使用される一般的なポートは、TCP 1433
、4022
、135
、1434
、UDP 1434
です。 次の表では、これらのポートについてより詳しく説明します。 名前付きインスタンスでは動的ポートが使用されます。
次の表に、 データベース エンジンで頻繁に使用されるポートの一覧を示します。
シナリオ | Port | 説明 |
---|---|---|
TCP 経由で実行されている既定のインスタンス | TCP ポート 1433 | ファイアウォールを通過することを許可されている最も一般的なポートです。 データベース エンジンの既定のインストール、またはコンピューターで実行中の唯一のインスタンスである名前付きインスタンスへの、通常の接続に適用されます (名前付きインスタンスには特別な考慮事項があります。この記事で後述する「動的ポート」を参照してください。) |
既定のポートを持つ名前付きインスタンス | TCP ポートは、 データベース エンジン の起動時に決定される動的ポートです。 | 「動的ポート」セクションの次の説明を参照してください。 名前付きインスタンスを使用している場合、SQL Server Browser サービスで UDP ポート 1434 が必要になる可能性があります。 |
固定ポートを持つ名前付きインスタンス | 管理者が構成するポート番号 | 「動的ポート」セクションの次の説明を参照してください。 |
専用管理者接続 | TCP ポート 1434 (既定のインスタンスに使用)。 その他のポートは名前付きインスタンスに使用されます。 ポート番号については、エラー ログを確認してください。 | 既定では、専用管理者接続 (DAC) へのリモート接続は有効になっていません。 リモート DAC を有効にするには、セキュリティ構成ファセットを使用します。 詳細については、「セキュリティ構成」を参照してください。 |
SQL Server Browser サービス | UDP ポート 1434 | SQL Server Browser サービスは、名前付きインスタンスへの着信接続をリッスンします。 サービスは、その名前付きインスタンスに対応する TCP ポート番号をクライアントに提供します。 SQL Server の名前付きインスタンスが使用されている場合は、通常 データベース エンジン Browser サービスを開始します。 名前付きインスタンスの特定のポートに接続するようにクライアントが構成されている場合、SQL Server Browser サービスは必要ありません。 |
HTTP エンドポイントを持つインスタンス | HTTP エンドポイントの作成時に指定できます。 デフォルトの TCP ポートは、CLEAR_PORT トラフィックでは 80、SSL_PORT トラフィックでは 443 です。 |
URL を使用した HTTP 接続に使用されます。 |
HTTPS エンドポイントを持つ既定のインスタンス | TCP ポート 443 | URL を使用した HTTPS 接続に使用されます。 HTTPS は、トランスポート層セキュリティ (TLS) (旧称 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 ポート 5022 または 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 を構成する」を参照してください。
固定ポートでリッスンするように名前付きインスタンスを構成する代わりに、sqlservr.exe
(データベース エンジン向け) などの SQL Server プログラムを対象として、ファイアウォールで例外を作成することもできます。 セキュリティが強化された Windows ファイアウォールの MMC スナップインを使用しているときは、 [受信の規則] ページの [ローカル ポート] 列にポート番号が表示されません。 どのポートが開いているかを調べるのが難しくなる可能性があります。 もう 1 つの注意事項は、Service Pack または累積された更新によって SQL Server 実行可能ファイルへのパスが変更され、ファイアウォール規則が無効になる可能性があるということです。
セキュリティが強化された Windows ファイアウォールを使用して SQL Server に対する例外を追加するには、この記事で後述する「セキュリティが強化された Windows ファイアウォール スナップインを使用する」を参照してください。
Analysis Services で使用されるポート
既定では、SQL Server Analysis Services と関連サービスで使用される一般的なポートは、TCP 2382
、2383
、80
、443
です。 次の表では、これらのポートについてより詳しく説明します。
次の表に、 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 は、名前付きインスタンスが使用するポートに要求をリダイレクトします。 |
IIS/HTTP 経由で使用するように構成された Analysis Services (PivotTable® サービスでは HTTP または HTTPS が使用されます) |
TCP ポート 80 | URL を使用した HTTP 接続に使用されます。 |
Analysis Services IIS/HTTPS 経由で使用するように構成された (PivotTable® サービスでは HTTP または HTTPS が使用されます) |
TCP ポート 443 | URL を使用した HTTPS 接続に使用されます。 HTTPS は、TLS を使用する HTTP 接続です。 |
ユーザーが IIS やインターネットを経由して Analysis Services にアクセスする場合は、IIS がリッスンするポートを開く必要があります。 次に、クライアントの接続文字列にポートを指定します。 この場合、 Analysis Servicesに直接アクセスするためのポートを開く必要はありません。 必要のない他のすべてのポートと共に、既定のポート 2389 およびポート 2382 を制限する必要があります。
Analysis Services で Windows ファイアウォールを構成する詳細な手順については、「Analysis Services のアクセスを許可するための Windows ファイアウォールの構成」を参照してください。
Reporting Services で使用されるポート
既定では、SQL Server Reporting Services と関連サービスで使用される一般的なポートは、TCP 80
、443
です。 次の表では、これらのポートについてより詳しく説明します。
次の表に、 Reporting Servicesで頻繁に使用されるポートの一覧を示します。
機能 | Port | 説明 |
---|---|---|
Reporting Services Web サービス | TCP ポート 80 | URL を使用した Reporting Services への HTTP 接続に使用されます。 [World Wide Web サービス (HTTP)] のあらかじめ構成された規則は使用しないことをお勧めします。 詳しくは、この記事の後半にある「その他のファイアウォール規則での操作」のセクションを参照してください。 |
HTTPS 経由で使用するように構成された Reporting Services | TCP ポート 443 | URL を使用した HTTPS 接続に使用されます。 HTTPS は、TLS を使用する 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 を使用します。 サービス コントロール マネージャーではポート 135 を使用して、Integration Services サービスの開始と停止、実行中のサービスに対する制御要求の転送などのタスクを実行します。 ポート番号を変更することはできません。 このポートは、Management Studio またはカスタム アプリケーションから Integration Services サービスのリモート インスタンスに接続する場合にのみ、開く必要があります。 |
Integration Services で Windows ファイアウォールを構成する詳細な手順については、「Integration Services サービス (SSIS サービス)」をご覧ください。
その他のポートとサービス
次の表に、 SQL Server が依存している可能性があるポートとサービスの一覧を示します。
シナリオ | Port | 説明 |
---|---|---|
Windows Management Instrumentation (Windows Management Instrumentation) 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 認証の使用 | 認証要求を許可するようにファイアウォールを構成する必要があります。 | 詳しくは、「Active Directory ドメインと信頼のファイアウォールの構成方法」を参照してください。 |
SQL Server と Windows のクラスタリング | クラスタリングでは、SQL Server に直接関連付けられていない追加のポートが必要です。 | 詳細については、「 クラスターで使用するネットワークを有効にする」を参照してください。 |
HTTP サーバー API (HTTP.SYS) で予約された URL 名前空間 | 通常は TCP ポート 80 を使用しますが、他のポートに構成することもできます。 一般的な情報については、「 HTTP および HTTPS の構成」を参照してください。 | HttpCfg.exe を使用する HTTP.SYS エンドポイントの予約に関する SQL Server 固有の情報については、「URL の予約と登録について (レポート サーバーの Configuration Manager)」を参照してください。 |
ポート 135 に関する注意事項
TCP/IP で RPC を使用する場合、または 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 ファイアウォールでは、ネットワークの場所として 3 種類の設定があります。
ドメイン:Windows では、コンピューターが参加しているドメインのドメイン コントローラーへのアクセスを認証できます。
パブリック: ドメイン ネットワーク以外のすべてのネットワークがパブリックとして最初に分類されます。 インターネットへの直接接続となるネットワーク、または空港やコーヒー ショップのような公共の場所にあるネットワークです。
プライベート: ユーザーまたはアプリケーションによってプライベートと見なされるネットワークです。 信頼されたネットワークだけをプライベート ネットワークと見なす必要があります。 通常は、ホーム ネットワークまたは小規模ビジネス ネットワークをプライベートと見なすことができます。
管理者はネットワークの場所の種類ごとにプロファイルを作成できます。各プロファイルに、さまざまなファイアウォール ポリシーを指定できます。 どの時点においても 1 つのプロファイルのみが適用されます。 次のようなプロファイル順序が適用されます。
そのコンピューターがメンバーとなっているドメイン コントローラーへのアクセスに対してすべてのインターフェイスが認証される場合、ドメイン プロファイルが適用されます。
すべてのインターフェイスがドメイン コントローラーに対して認証されるか、プライベート ネットワークの場所として分類されるネットワークに接続されている場合、プライベート プロファイルが適用されます。
それ以外の場合は、パブリック プロファイルが適用されます。
セキュリティが強化された Windows ファイアウォールの MMC スナップインを使用して、すべてのファイアウォール プロファイルを表示し、構成できます。 コントロール パネルの [Windows ファイアウォール] では、現在のプロファイルのみを構成できます。
コントロール パネルの [Windows ファイアウォール] 項目を使用した追加のファイアウォール設定
追加されたファイアウォールは、特定のコンピューターまたはローカル サブネットからの着信接続のみに対してポートを開くように制限できます。 ポートを開くスコープを制限すると、コンピューターが悪意のあるユーザーの攻撃にさらされるリスクを軽減できます。
コントロール パネルの [Windows ファイアウォール] では、現在のファイアウォール プロファイルのみを構成できます。
コントロール パネルの [Windows ファイアウォール] 項目を使用して、ファイアウォールの例外のスコープを変更する
コントロール パネルの [Windows ファイアウォール] の [例外] タブでプログラムまたはポートを選択し、 [プロパティ] または [編集] をクリックします。
[プログラムの編集] または [ポートの編集] ダイアログ ボックスの [スコープの変更] を選択します。
次のいずれかのオプションを選択します。
[任意のコンピューター (インターネット上のコンピューターを含む)] : 推奨されません。 自分のコンピューターのアドレスを指定したすべてのコンピューターが、指定したプログラムまたはポートに接続します。 このような設定は、インターネット上の匿名ユーザーに情報を提供できるようにするために必要な場合がありますが、悪意のあるユーザーの攻撃にさらされるリスクが大きくなります。 この設定を有効にすると、[エッジ トラバーサルを許可する] オプションなどのネットワーク アドレス変換 (NAT) トラバーサルが許可され、攻撃にさらされるリスクが大きくなります。
[ユーザーのネットワーク (サブネット) のみ] : [任意のコンピューター] より安全な設定です。 ネットワークのローカル サブネット上のコンピューターのみがプログラムまたはポートに接続できます。
[カスタムの一覧] : 一覧に IP アドレスが載っているコンピューターだけが接続できます。 安全な設定を行うと、[ユーザーのネットワーク (サブネット) のみ] よりもさらに安全ですが、DHCP を使用するクライアント コンピュータでは、その IP アドレスが変更され、接続できなくなることがあります。 その代わりに、認証対象として想定していなかったり別のコンピュータが、リストされた IP アドレスを承認して当該アドレスに接続する可能性があります。 [カスタムの一覧] は固定 IP アドレスを使用するように構成された他のサーバーを一覧表示する場合に適しています。
侵入者は IP アドレスになりすますことができます。 ファイアウォール ルールを制限することは、最低限のネットワーク インフラストラクチャです。
セキュリティが強化された Windows ファイアウォール スナップインを使用する
セキュリティが強化された Windows ファイアウォールの MMC スナップインを使用して、詳細なファイアウォール設定を構成できます。 スナップインには規則ウィザードや、コントロール パネルの [Windows ファイアウォール] では使用できない設定も含まれます。 設定は次のとおりです。
- 暗号化の設定
- サービスの制限
- 名前によってコンピューターの接続を制限する
- 特定のユーザーまたはプロファイルに接続を制限する
- エッジ トラバーサルにより、トラフィックが NAT (Network Address Translation) ルーターをバイパスするのを許可する
- 送信ルールを構成する
- セキュリティ ルールを構成する
- 着信接続用に IPsec を要求する
[新しい規則] ウィザードを使用して、新しいファイアウォール ルールを作成する
- [スタート] メニューで [ファイル名を指定して実行] を選択し、「
wf.msc
」と入力して、 [OK] を選択します。 - [セキュリティが強化された Windows ファイアウォール] の左ウィンドウにある [受信の規則] を右クリックし、 [新しい規則] を選択します。
- 新規の受信の規則ウィザード で、必要な設定を行います。
SQL Server 実行可能ファイルに対するプログラム例外を追加する
スタート メニューで、
wf.msc
と入力します。 Enter キーを押すか、検索結果のwf.msc
を選択して、セキュリティが強化された Windows Defender ファイアウォールを開きます。左側のウィンドウで、 [受信の規則] を選択します。
右側のウィンドウで、 [アクション] の [新しい規則] を選択します。新規の受信の規則ウィザードが開きます。
[規則の種類] で [プログラム] を選択します。 [次へ] を選択します。
[プログラム] で [このプログラムのパス] を選択します。 [参照] を選択して SQL Server のインスタンスを検索します。 このプログラムは、
sqlservr.exe
と呼ばれています。 通常はC:\Program Files\Microsoft SQL Server\MSSQL<VersionNumber>.<InstanceName>\MSSQL\Binn\sqlservr.exe
にあります。 [次へ] を選択します。[操作] で、 [接続を許可する] を選択します。 [次へ] を選択します。
[プロファイル] で 3 つのプロフィールすべてを含めます。 [次へ] を選択します。
[名前] に規則の名前を入力します。 [完了] を選択します。
エンドポイントの詳細については、次を参照してください。
ファイアウォール設定のトラブルシューティング
ファイアウォールの問題をトラブルシューティングする場合は、次のツールと手法が役立ちます。
有効なポート ステータスは、ポートに関連付けられているすべてのルールの和集合です。 ポートへのアクセスをブロックしようとするときは、そのポート番号を参照しているすべての規則を確認することが役立つ場合があります。 セキュリティが強化された Windows ファイアウォールの MMC スナップインを使用して規則を確認し、ポート番号によってインバウンドおよびアウトバウンド規則を並べ替えます。
SQL Server を実行しているコンピューターでアクティブになっているポートを確認します。 確認処理では、リッスンしている TCP/IP ポートの確認とポートの状態の確認も行います。
PortQry ユーティリティを使用して、TCP/IP ポートのステータスを LISTENING、NOT LISTENING、FILTERED としてレポートできます。 (フィルター処理された状態の場合、ユーティリティはポートからの応答を受信しない可能性があります)。PortQry ユーティリティは、Microsoft ダウンロード センターからダウンロードできます。
リッスンしている TCP/IP ポートの一覧を表示する
リッスンしているポートを確認するには、アクティブな TCP 接続と IP の統計情報を表示し、netstat コマンドライン ユーティリティを使用します。
コマンド プロンプト ウィンドウを開きます。
コマンド プロンプトで、「
netstat -n -a
」と入力します。コントロール パネルの
-n
スイッチは、 netstat に対して、アクティブな TCP 接続のアドレスおよびポート番号を数字で表示するように指示します。-a
スイッチは、 netstat に対して、コンピューターがリッスンしている TCP ポートおよび UDP ポートを表示するように指示します。