適用対象:SQL Server - Windows のみ
サーバーが複数のネットワークまたはネットワーク サブネットへの接続を提供する必要がある場合、一般的なシナリオではマルチホーム コンピューターを使用します。 多くの場合、このコンピューターは境界ネットワーク (スクリーン サブネットとも呼ばれます) に配置されます。 この記事では、マルチホーム環境内の SQL Server のインスタンスへのネットワーク接続用に SQL Server とセキュリティが強化された Windows ファイアウォールを構成する方法について説明します。
注
マルチホーム コンピューターには複数のネットワーク アダプターがあるか、または 1 つのネットワーク アダプターに複数の IP アドレスを使用するように構成されています。 デュアルホーム コンピューターには 2 つのネットワーク アダプターがあるか、または 1 つのネットワーク アダプターに 2 つの IP アドレスを使用するように構成されています。
前提条件
この記事を続行する前に、「 SQL Server アクセスを許可するように Windows ファイアウォールを構成する」の記事に記載されている情報を理解しておく必要があります。 この記事には、SQL Server コンポーネントがファイアウォールと連携して動作する方法に関する基本的な情報が含まれています。
この例の前提条件は、次のとおりです。
コンピューターに 2 つのネットワーク アダプターがインストールされています。 1 つ以上のネットワーク アダプターをワイヤレスにすることができます。 2 つのネットワーク アダプターをシミュレートするには、1 つ目のネットワーク アダプターの IP アドレスを使用してから、2 つ目のネットワーク アダプターとしてループバック IP アドレス (127.0.0.1) を使用します。
簡単にするため、この例では IPv4 アドレスを使用します。 IPv6 アドレスを使用しても、同じ手順を実行できます。
注
IPv4 アドレスは、オクテットと呼ばれる一連の 4 つの数字です。 各数字は、ピリオドで区切られた 255 より小さい数字です (127.0.0.1 など)。 IPv6 アドレスは、コロンで区切られた一連の 8 つの 16 進数です (fe80:4898:23:3:49a6:f5c1:2452:b994 など)。
ファイアウォール ルールでは、特定のポート (ポート 1433 など) を経由したアクセスを許可できます。 ファイアウォールのルールによって、SQL Server データベース エンジン プログラム (sqlservr.exe) へのアクセスが許可されることもあります。 どちらのメソッドもあまりよくありません。 境界ネットワーク内のサーバーはイントラネット上のサーバーよりも攻撃に対して脆弱なので、この記事では、より正確に制御し、開くポートを個別に選択する場合を前提とします。 そのため、この記事では、固定ポートでリッスンするように SQL Server を構成することを前提としています。 SQL Server が使用するポートの詳細については、「SQL Server アクセスを許可するように Windows ファイアウォールを構成する」を参照してください。
次の例では、TCP ポート 1433 を使用してデータベース エンジンへのアクセスを構成します。 SQL Server コンポーネントが異なる他のポートは、同じ一般的な手順を使用して構成できます。
この例の一般的な手順は、次のとおりです。
コンピューターの IP アドレスを特定します。
SQL Server が特定の TCP ポートでリッスンするよう構成します。
セキュリティが強化された Windows ファイアウォールを構成します。
省略可能な手順
コンピューターで使用可能で、SQL Server で使用されている IP アドレスが既にわかっている場合、これらの手順をスキップできます。
コンピューターで使用可能な IP アドレスを確認する
SQL Server がインストールされているコンピューターで、[ スタート] を選択し、[ 実行] を選択し、「 cmd」 と入力して 、[OK] を選択します。
コマンド プロンプト ウィンドウで、「 ipconfig, 」と入力し、Enter キーを押してこのコンピューターで使用可能な IP アドレスを一覧表示します。
ipconfig コマンドを使用すると、切断されている接続を含む使用可能な多くの接続が一覧表示される場合があります。 ipconfig コマンドは、IPv4 アドレスと IPv6 アドレスの両方を一覧表示します。
使用中の IPv4 アドレスおよび IPv6 アドレスに注意してください。 一時アドレス、サブネット マスク、既定のゲートウェイなど一覧内の他の情報は、TCP/IP ネットワークを構成する際の重要な情報です。 ただし、この情報はこの例では使用されません。
SQL Server で使用される IP アドレスとポートを決定する
Startを選択し、すべてのプログラムをポイントし、Microsoft SQL Server をポイントし、構成ツールをポイントして、SQL Server 構成マネージャーを選択します。
SQL Server 構成マネージャーのコンソール ペインで、[SQL Server ネットワークの構成]、< の順に展開し、> をダブルクリックします。
[TCP/IP のプロパティ] ダイアログ ボックスの [IP アドレス] タブに、 IP1、 IP2という形式で IPAllまで IP アドレスが表示されます。 このうちいずれかが、ループバック アダプターの IP アドレス 127.0.0.1 です。 コンピューターで設定された各 IP アドレスのために、追加の IP アドレスが表示されます。
[ TCP 動的ポート ] ダイアログ ボックスに
0
が含まれている場合は、任意の IP アドレスについて、データベース エンジンが動的ポートをリッスンしていることを示します。 この例では、再起動時に変わる可能性のある動的ポートではなく、固定ポートを使用します。 したがって、[ TCP 動的ポート ] ダイアログ ボックスに0
が含まれている場合は、0
を削除します。構成する各 IP アドレスについて TCP ポートが一覧表示されます。 この例では、両方の IP アドレスが既定のポート 1433 でリッスンしているとします。
SQL Server で使用可能なポートの一部を使用しない場合は、[ プロトコル ] タブで [ すべてリッスン ] の値を [いいえ] に変更します。[ IP アドレス] タブで、使用しない IP アドレスの [アクティブ] の値を [いいえ ] に変更します。
セキュリティが強化された Windows ファイアウォールを構成する
コンピューターで使用される IP アドレスと SQL Server で使用されるポートを確認した後、ファイアウォール ルールを作成して、特定の IP アドレス用にそれらのルールを構成できます。
ファイアウォール規則を作成する
SQL Server がインストールされているコンピューターで、管理者として接続します。
[スタート] を選択し、[実行] を選択し、「wf.msc」と入力して、[OK] を選択します。
[ ユーザー アカウント制御 ] ダイアログ ボックスで、[ 続行 ] を選択して管理者の資格情報を使用して、セキュリティが強化された Windows ファイアウォール スナップインを開きます。
[概要] ページで、Windows ファイアウォールが有効であることを確認します。
左側のウィンドウで、[ 受信規則] を選択します。
[受信規則] を右クリックし、[新しい規則] を選択して新しい受信規則ウィザードを開きます。
SQL Server プログラムのルールを作成できます。 ただし、この例では固定ポートを使用するため、[ ポート] を選択し、[ 次へ] を選択します。
[プロトコルおよびポート] ページで、 [TCP] を選択します。
[指定したローカル ポート] を選択します。 ポート番号をコンマで区切って入力し、[ 次へ] を選択します。 この例では、既定のポートを構成します。そのため、「
1433
」と入力します。[アクション] ページで、オプションを確認します。 この例では、ファイアウォールを使用してセキュリティで保護された接続を強制していません。 そのため、[ 接続を許可する] を選択し、[ 次へ] を選択します。
環境で、セキュリティで保護された接続が必要な場合があります。 セキュリティで保護された接続のオプションのいずれかを選択すると、証明書および [強制的に暗号化] オプションの構成が必要な場合があります。 セキュリティで保護された接続の詳細については、「接続を暗号化するための SQL Server データベース エンジンの構成」および「接続を暗号化するための SQL Server データベース エンジンの構成」を参照してください。
[プロファイル] ページで、ルールに対して 1 つ以上のプロファイルを選択します。 ファイアウォール プロファイルに慣れていない場合は、ファイアウォール プログラムの [プロファイルの詳細 ] リンクを選択します。
コンピューターがサーバーであり、ドメインに接続されている場合にのみ使用できる場合は、[ ドメイン] を選択し、[ 次へ] を選択します。
コンピューターがモバイル コンピューター (ノート PC など) の場合、異なるネットワークに接続するときに複数のプロファイルを使用する可能性があります。 モバイル コンピューターの場合、別のプロファイル用に別のアクセス機能を構成できます。 たとえば、コンピューターがドメイン プロファイルを使用する場合はアクセスを許可し、パブリック プロファイルを使用する場合はアクセスを許可しないようにすることができます。
[ 名前 ] ページで、ルールの名前と説明を入力し、[ 完了] を選択します。
SQL Server で使用する IP アドレスごとに別のルールを作成するには、この手順を繰り返します。
1 つ以上のルールを作成した後、ルールを使用するコンピューターで各 IP アドレスを構成するには、次の手順を実行します。
特定の IP アドレスのファイアウォール規則を構成する
セキュリティが強化された Windows ファイアウォールの [受信規則] ページで、先ほど作成した規則を右クリックし、[プロパティ] を選択します。
[規則のプロパティ] ダイアログ ボックスで、 [スコープ] タブをクリックします。
[ ローカル IP アドレス ] 領域で、[ これらの IP アドレス] を選択し、[ 追加] を選択します。
[IP アドレス] ダイアログ ボックスで [この IP アドレスまたはサブネット]を選択して、構成する IP アドレスのいずれかを入力します。
[OK] を選択します。
[リモート IP アドレス] 領域で、[これらの IP アドレス] を選択し、[追加] を選択します。
[IP アドレス] ダイアログ ボックスを使用して、コンピューター上の選択した IP アドレス用に接続を構成します。 指定した IP アドレス、IP アドレスの範囲、サブネット全体、または特定のコンピューターからの接続を有効にすることができます。 このオプションを正しく構成するには、ネットワークをよく理解しておく必要があります。 ネットワークの詳細については、ネットワーク管理者にお問い合わせください。
[IP アドレス] ダイアログ ボックスを閉じるには、[OK] を選択します。[OK] を選択して [ルールのプロパティ] ダイアログ ボックスを閉じます。
マルチホーム コンピューターで他の IP アドレスを構成するには、別の IP アドレスと別のルールを使用して、この手順を繰り返します。