The Cable Guy: DirectAccess とネットワーク アクセス保護 (NAP) を併用する

DirectAccess は優れた機能です。ネットワーク アクセス保護と組み合わせて使用すると、相乗効果が得られます。

The Cable Guy

リモート ユーザーは、より安全に会社のネットワークにアクセスできるようになりました。DirectAccess は Windows 7 と Windows Server 2008 R2 の新機能です。リモート ユーザーは DirectAccess によって、仮想プライベート ネットワーク (VPN) に接続する必要なく安全にイントラネット リソースにアクセスできます。

ネットワーク アクセス保護 (NAP) も Windows Server 2008 R2 と Windows 7 に組み込まれています。NAP では、クライアント コンピューターがネットワークに接続しようとしたり、ネットワーク上で通信しようとしたときに、そのコンピューターの正常性を監視および評価します。

この 2 つの機能は、組み合わせて使用すると非常にすばらしい効果を発揮します。DirectAccess と NAP を併用すると、システムの正常性要件を満たす DirectAccess クライアントのみがインターネット経由でイントラネット リソースにアクセスできるように指定できます。

DirectAccess のトンネル

完全なイントラネット アクセス モデルまたは特定のサーバーへのアクセス モデルを使用する DirectAccess クライアントによって、次のような DirectAccess サーバーへのインターネット プロトコル セキュリティ (IPsec) トンネルが作成されます。

  • インフラストラクチャ トンネル: イントラネットのドメイン ネーム システム (DNS) サーバーと Active Directory ドメイン サービス (AD DS) ドメイン コントローラーに接続します。既定では、このトンネルでは、認証にコンピューター証明書とコンピューター アカウントの NT LAN Manager version 2 (NTLMv2) 資格情報が必要になります。DirectAccess クライアントによって、ユーザーがログオンする前に、このトンネルが作成されます。
  • 管理トンネル: ユーザーがログオンする前にイントラネットの追加の場所に接続します。イントラネット管理サーバーでも、DirectAccess クライアントをリモートで管理するためにこのトンネルを作成できます。インフラストラクチャ トンネルと同様に、既定では、このトンネルでも、認証にコンピューター証明書とコンピューター アカウントの NTLMv2 資格情報が必要になります。
  • イントラネット トンネル: ユーザーがログオンした後に、インフラストラクチャ トンネルと管理トンネルの規則の宛先アドレスの一覧に含まれていないイントラネットの場所に接続します。既定では、このトンネルでは、認証に、コンピューター証明書とユーザー アカウントの Kerberos 資格情報が必要になります。

NAP と IPsec 強制

NAP を展開して接続や通信に関するシステムの正常性要件を強制する方法には、さまざまなものがあります。IPsec 強制では、正常性証明書を使用します。正常性証明書とは、拡張キー使用法 (EKU) フィールドにシステム正常性の認証オブジェクト識別子 (OID) が含まれており、イントラネット トラフィックの IPsec 保護と正常性証明書を使用した IPsec ピアの認証を必要とする IPsec 接続セキュリティ規則が含まれているデジタル証明書です。

この組み合わせによって、イントラネット上のコンピューター間の通信に関するシステムの正常性要件を強制できます。システムの正常性要件を満たしていなく、正常性証明書がないコンピューターは、イントラネット上で通信を開始できません。

IPsec 強制を展開する要件は次のとおりです。

  • 正常性登録機関 (HRA): NAP クライアントからの要求を受け取って、システム正常性を検証して正常性証明書を取得し、NAP クライアントに応答する Web サーバー。
  • NAP 証明機関 (CA): 要件を満たしている NAP クライアントの正常性証明書を発行する、公開キー基盤 (PKI) の CA (通常、専用 CA です)。
  • NAP 正常性ポリシー サーバー: システムの正常性要件を検証するネットワーク ポリシー サーバー (NPS)。
  • 修復サーバー: NAP クライアントが要件を満たしていないシステム正常性を修復するために必要なリソースが格納されているサーバー。

HRA 経由で取得した正常性証明書の有効期限は短く、通常は数時間 ~ 数日です。また、IPsec ピアの認証に正常性証明書が必要でも、システムの正常性検証を実行する必要ないサーバーには、有効期限の長い除外正常性証明書を発行することもできます。

DirectAccess と NAP を併用する

DirectAccess と NAP を併用すると、DirectAccess の接続プロセスでシステム正常性の要件を満たしているかどうかを確認できます。イントラネット リソースへのアクセスを許可する前に DirectAccess と NAP を組み合わせてシステム正常性要件を強制する場合、NAP インフラストラクチャを使用して、正常性証明書を発行し (この処理は、HRA、NAP CA、NAP 正常性ポリシー サーバーで行われます)、システムの正常性を修復します (この処理は修復サーバーで行われます)。また、インフラストラクチャ トンネル、管理トンネル、およびイントラネット トンネルの DirectAccess 接続セキュリティ規則を利用します。

既定では、インフラストラクチャ トンネル、管理トンネル、およびイントラネット トンネル用に DirectAccess クライアントと DirectAccess サーバーで構成された接続セキュリティ規則では、認証に正常性証明書を必要としません。正常性証明書を要求するように変更する必要がある規則は、次の要素によって異なります。

  • NAP 展開モード (報告モードまたは完全強制モード)

報告モードの場合、DirectAccess クライアントはシステム正常性を満たしている必要はありません。非準拠の DirectAccess クライアントがイントラネットにアクセスできます。そのため、DirectAccess 接続セキュリティ規則を変更する必要はありません。

完全強制モードの場合、DirectAccess クライアントは、システム正常性を満たしている必要があります。このモードでは、通常のコンピューター証明書ではなく正常性証明書を要求するように接続セキュリティ規則を構成する必要があります。

  • HRA と修復サーバーの場所

HRA と修復サーバーは、イントラネット上またはインターネット上に配置できます。

これ以降のセクションでは、HRA と修復サーバーを配置できる 2 つの場所と、その配置場所ごとに接続セキュリティ規則で正常性証明書が要求されるようにするために必要な変更について説明します。

イントラネット ベースの HRA と修復サーバー

HRA と修復サーバーがイントラネット上に配置されている場合、HRA と修復サーバーには、コンピューター証明書を持っていて、正常性証明書は持っていない DirectAccess クライアントがアクセスできる必要があります。インフラストラクチャ トンネルと管理トンネルを作成すると、正常性検証が実行されます。DirectAccess クライアントでは、イントラネット DNS サーバーにアクセスしてイントラネット名を解決するためにインフラストラクチャ トンネルが必要で、HRA と修復サーバーにアクセスするために管理トンネルが必要です。

HRA と修復サーバーがイントラネット上に配置されている場合の DirectAccess と NAP の構成

図 1 HRA と修復サーバーがイントラネット上に配置されている場合の DirectAccess と NAP の構成

ただし、完全強制モードの場合、DirectAccess クライアントが他のイントラネット リソースにアクセスするには、正常性証明書が必要です。そのため、正常性証明書の要件は、イントラネット トンネルの接続セキュリティ規則にのみ適用されます。

構成手順

HRA と修復サーバーがイントラネット上に配置されている場合に DirectAccess と NAP を構成するには、次の操作を行う必要があります。

  • 管理サーバーの一覧に HRA と修復サーバーの IPv6 アドレスを追加します。この操作は、DirectAccess セットアップ ウィザードの 3 つ目の手順または Netsh.exe コマンドを使用して行えます。
  • Netsh.exe コマンドを使用して、正常性証明書を要求するように DirectAccess サーバー グループ ポリシー オブジェクト (GPO) でイントラネット トンネル規則を構成します。

詳細な手順については、「NAP の DirectAccess 接続セキュリティ規則を構成する (英語)」を参照してください。

Netsh.exe を使用して DirectAccess 接続セキュリティ規則をカスタマイズしても、次回 DirectAccess セットアップ ウィザードの設定を適用したときに変更内容が上書きされます。カスタム設定を維持するには、DirectAccess セットアップ ウィザードを使用して構成を変更しないようにするか、スクリプトでカスタム変更の一覧を収集して DirectAccess セットアップ ウィザードの設定を適用するたびに、そのスクリプトを実行する必要があります。

動作のしくみ

次のプロセスは、HRA と修復サーバーがイントラネット上にのみ配置されている場合に、DirectAccess と NAP が、DirectAccess クライアントに対してどのように機能するかを説明しています。

  1. DirectAccess クライアントが起動し、自身のコンピューター アカウントを使用して AD DS ドメインにログオンする際に、自身のコンピューター証明書を使用してインフラストラクチャ トンネルを作成します。[インフラストラクチャ トンネル]
  2. NAP エージェントの起動時に、DirectAccess クライアントが構成済みの HRA URL (Uniform Resource Locator) の完全修飾ドメイン名 (FQDN) を解決し、自身のコンピューター証明書を使用して管理トンネルを作成し、現在の正常性状態に関する情報を HRA に送信します。[管理トンネル]
  3. DirectAccess クライアントの正常性状態に関する情報が HRA から NAP 正常性ポリシー サーバーに送信されます。[イントラネット トラフィック]
  4. NAP 正常性ポリシー サーバーで DirectAccess クライアントの正常性状態に関する情報を評価し、準拠しているかどうかを判断して、HRA に結果を送信します。[イントラネット トラフィック]
  5. 正常性評価の結果が HRA から DirectAccess クライアントに送信されます。[管理トンネル]
  6. 正常性状態を満たしていれば、HRA が NAP CA から正常性証明書を取得して DirectAccess クライアントに送信します。[管理トンネル]
  7. DirectAccess クライアントがイントラネット上のリソースにアクセスする際には、まず、正常性証明書を使用してイントラネット トンネルを作成します。[イントラネット トンネル]

DirectAccess クライアントが正常性状態を満たしていない場合は、次のようなプロセスになります。

  1. HRA では DirectAccess クライアントに、正常性の修復に関する指示を含む正常性評価の結果を送信しますが、正常性証明書は取得しません。[管理トンネル]
  2. インストールされている正常性評価コンポーネントによっては、DirectAccess クライアントが自身の正常性状態を修復するために修復サーバーにアクセスしなければならないことがあります。その場合は、DirectAccess クライアントから適切な修復サーバーに更新要求が送信されます。[管理トンネル]
  3. システムの正常性要件を満たすために必要な設定または更新が、修復サーバーから DirectAccess クライアントに提供されます。[管理トンネル]
  4. 正常性状態に関する更新情報が DirectAccess クライアントから HRA に送信されます。[管理トンネル]
  5. 正常性状態に関する更新情報が HRA から NAP 正常性ポリシー サーバーに送信されます。必要な更新がすべて行われていれば、NAP 正常性ポリシー サーバーによって、DirectAccess クライアントが要件を満たしていると判断され、その結果が HRA に送信されます。[イントラネット トラフィック]
  6. HRA が NAP CA から正常性証明書を取得します。[イントラネット トラフィック]
  7. 正常性証明書が HRA から DirectAccess クライアントに送信されます。[管理トンネル]
  8. DirectAccess クライアントでは、イントラネット上のリソースにアクセスする際に、正常性証明書を使用してイントラネット トンネルを作成します。[イントラネット トンネル]

インターネット上の HRA と修復サーバー

HRA と修復サーバーは、インターネット上にのみ配置されている場合、DirectAccess クライアントが、いつでもアクセスすることが可能で、DirectAccess のトンネルとは関係なくシステムの正常性検証が実行されます。

図 2 に、HRA と修復サーバーがインターネット上にのみ配置されている場合の構成を示します。この構成の詳細については、2009 年 6 月の The Cable Guy の記事「インターネット上の NAP (英語)」を参照してください。

HRA と修復サーバーがインターネット上に配置されている場合の DirectAccess と NAP の構成

図 2 HRA と修復サーバーがインターネット上に配置されている場合の DirectAccess と NAP の構成

完全強制モードの場合、DirectAccess クライアントがイントラネット リソースにアクセスするには、正常性証明書が必要です。ただし、例外として、非準拠の DirectAccess クライアントをイントラネットからリモートで管理またはサポートするために必要になることがある管理サーバーには、正常性証明書がなくてもアクセスできます。そのため、正常性証明書の要求は、インフラストラクチャ トンネル、イントラネット トンネル、および管理トンネル (オプション) の接続セキュリティ規則に適用されます。

構成手順

HRA と修復サーバーがインターネット上に配置されている場合に DirectAccess と NAP を構成するには、Netsh.exe コマンドを使用して、正常性証明書を要求するように DirectAccess サーバー GPO でインフラストラクチャ トンネル、イントラネット トンネル、および管理トンネルの規則を変更する必要があります。

次のコマンドでは、Windows Server 2008 R2 の DirectAccess セットアップ ウィザードで構成される GPO の既定の名前と接続セキュリティ規則を使用します。

  1. 管理者レベルのコマンド プロンプトで、netsh –c advfirewall というコマンドを実行します。
  2. netsh advfirewall プロンプトで、次のコマンドを実行します。

 

set store gpo="DomainName\DirectAccess Policy-{ab991ef0-6fa9-4bd9-bc42-3c397e8ad300}"

consec set rule "DirectAccess Policy-DaServerToDnsDC" new auth1=computercert auth1ca=CANameString auth1healthcert=yes applyauthz=yes

consec set rule "DirectAccess Policy-DaServerToCorp" new auth1=computercert auth1ca=CANameString auth1healthcert=yes applyauthz=yes

consec set rule "DirectAccess Policy-DaServerToMgmt" new auth1=computercert auth1ca=CANameString auth1healthcert=yes applyauthz=yes

DomainName は、AD DS ドメインの FQDN です。consec show rule name=“DirectAccess Policy-DaServerToCorp” コマンドの CANameString は、Auth1CAName フィールドの値です。

最後のコマンドは、条件を満たしていない DirectAccess クライアントが定義済みの管理サーバーにアクセスできないようにする必要がある場合にのみ使用します。

動作のしくみ

次のプロセスは、HRA と修復サーバーがインターネット上にのみ配置されている場合に、DirectAccess と NAP が DirectAccess クライアントに対してどのように機能するかを説明しています。

  1. DirectAccess クライアントが起動時に、自身のコンピューター アカウントを使用して AD DS ドメインにログオンし、インフラストラクチャ トンネルを作成しようとします。DirectAccess クライアントに正常性証明書がないので、この試行は失敗します。[インターネット トラフィック]
  2. NAP エージェントの起動時に、DirectAccess クライアントが HRA URL の FQDN を解決し、現在の正常性状態に関する情報をインターネット上の HRA に送信します。[インターネット トラフィック]
  3. DirectAccess クライアントの正常性状態に関する情報が HRA から NAP 正常性ポリシー サーバーに送信されます。[イントラネット トラフィック]
  4. NAP 正常性ポリシー サーバーが DirectAccess クライアントの正常性状態に関する情報を評価し、要件を満たしているかどうかを判断して、HRA に結果を送信します。[イントラネット トラフィック]
  5. 正常性評価の結果が HRA から DirectAccess クライアントに送信されます。[インターネット トラフィック]
  6. 正常性状態を満たしていれば、HRA が NAP CA から正常性証明書を取得して DirectAccess クライアントに送信します。[インターネット トラフィック]
  7. 次回 DirectAccess クライアント コンピューターが自身のコンピューター アカウントを使用して AD DS ドメインにログオンしたり、イントラネット FQDN を解決するときには、まず、正常性証明書を使用してインフラストラクチャ トンネルを作成します。[インフラストラクチャ トンネル]
  8. DirectAccess クライアントがイントラネット上のリソースにアクセスする必要があるときには、まず、正常性証明書を使用してイントラネット トンネルを作成します。[イントラネット トンネル]

DirectAccess クライアントが正常性状態を満たしていない場合は、次のようなプロセスになります。

  1. HRA では DirectAccess クライアントに、正常性の修復に関する指示が含まれている正常性評価の結果を送信しますが、正常性証明書は取得しません。[インターネット トラフィック]
  2. インストールされている正常性評価コンポーネントによっては、DirectAccess クライアントが自身の正常性状態を修復するために修復サーバーにアクセスしなければならないことがあります。その場合は、DirectAccess クライアントから適切な修復サーバーに更新要求が送信されます。[インターネット トラフィック]
  3. システムの正常性要件を満たすために必要な設定または更新が、修復サーバーから DirectAccess クライアントに提供されます。[インターネット トラフィック]
  4. 正常性状態に関する更新情報が DirectAccess クライアントから HRA に送信されます。[インターネット トラフィック]
  5. 正常性状態に関する更新情報が HRA から NAP 正常性ポリシー サーバーに送信されます。必要な更新がすべて行われていれば、NAP 正常性ポリシー サーバーによって、DirectAccess クライアントが要件を満たしていると判断され、その結果が HRA に送信されます。[イントラネット トラフィック]
  6. HRA が NAP CA から正常性証明書を取得します。[イントラネット トラフィック]
  7. 正常性証明書が HRA から DirectAccess クライアントに送信されます。[インターネット トラフィック]
  8. 次回 DirectAccess クライアント コンピューターが自身のコンピューター アカウントを使用して AD DS ドメインにログオンしたり、イントラネット FQDN を解決するときには、まず、正常性証明書を使用してインフラストラクチャ トンネルを作成します。[インフラストラクチャ トンネル]
  9. DirectAccess クライアントがイントラネット上のリソースにアクセスする必要がある場合、正常性証明書を使用してイントラネット トンネルを作成します。[イントラネット トンネル]

Joseph Davies は、マイクロソフトの Windows ネットワーク ライティング チームのプリンシパル テクニカル ライターです。『Windows Server 2008 Networking and Network Access Protection (NAP)』、『Understanding IPv6, Second Edition』、『Windows Server 2008 TCP/IP Protocols and Services』など、Microsoft Press 発行の多数の書籍の著者および共著者です。

関連コンテンツ