Windows10のPCをWindwosServer2016のNPSでIEEE802.1x認証する Part-1


目的

Windows10とWindows Server2016を利用してEAP-TLSによるIEEE802.1x認証をする。

ちなみに無線でなく有線!!

簡単すぎる概要図はこんな感じ。

前提

  ・AD、ADCS、DHCP構築済み

  ・対象のWindows ServerにはNPS、AD、DHCP、ADCSを共存

  ・RADIUSの認証装置とするスイッチの設定は省略

  ・DHCPリレーとするルータの設定も省略

手順

1.証明書の設定

ユーザがログインした時に自動でユーザ証明書をインストール、更新するように証明書の自動配布設定をする。

■ユーザ証明書のテンプレート作成

mmc(Microsoft 管理コンソール)を起動して、『ファイル』→『スナップインの追加と削除』を選択して、『証明機関』と『証明書テンプレート』を追加する。
証明書テンプレートの中にある『ユーザー』を右クリック→『テンプレートの複製』を選択する。

新しいテンプレートのプロパティ画面が表示されるので以下のとおり設定する。

※変更しなくても問題ない箇所は省略
[要求処理]
 デフォルトでは『秘密キーのエクスポートを許可する』が有効になっているが、セキュリティ向上のため無効とする。

[サブジェクト名]
 『ActiveDirectoryの情報から構築する』にチェックをいれ、以下の設定にする。
   サブジェクト名の形式:完全な識別名
   代わりのサブジェクト名に次の情報を含める:ユーザ―プリンシパル名(UPN)

[セキュリティ]
 ここでユーザ証明書を自動配布するための権限を追加する。
 今回はIEEEというグループに自動配布するため、
 グループIEEEを追加し、読み取り・自動登録・登録にチェックを入れる。

次に『証明機関』の証明書テンプレートを開いて、
右クリック→新規作成→発行する証明書テンプレートを選んで、さっき作成したテンプレートを発行する。
これでユーザ証明書の下準備はOK!!

■サーバ証明書のテンプレート作成

サーバ証明書についてもほぼ同様の手順でテンプレートを作成する。
基となるテンプレートは『RASおよびIASサーバー』にして、以下のとおり新規テンプレートを作成する。

※変更しなくても問題ない箇所は省略
[要求処理]
 デフォルトでは『秘密キーのエクスポートを許可する』が有効になっているが、セキュリティ向上のため無効とする。

[サブジェクト名]
 『ActiveDirectoryの情報から構築する』にチェックをいれ、以下の設定にする。
   サブジェクト名の形式:共通
   代わりのサブジェクト名に次の情報を含める:DNS名

[セキュリティ]
 ここでユーザ証明書を自動配布するための権限を追加する。
 NPSをインストールしたサーバに自動配布する設定にしたいため、
 『RAS and IAS Servers』グループの権限を読み取り・登録・自動登録に変更する。

ユーザ証明書のときと同じようにして、サーバ証明書のテンプレートも発行する。

2.ADの設定

次にグループポリシーの設定を変更して、作成したユーザ証明書とサーバ証明書のテンプレートを自動配布する様設定を変更する。
ここは簡単に設定対象だけ記載。。。

[ユーザ証明書の自動配布]
 『ユーザの構成』→『ポリシー』→『Windowsの設定』→『セキュリティの設定』→『公開キーのポリシー』→『証明書サービスクライアント-自動登録』を有効にする。

[サーバ証明書の自動配布]
 『コンピュータの構成』→『ポリシー』→『Windowsの設定』→『セキュリティの設定』→『公開キーのポリシー』から『証明書サービスクライアント-自動登録』を有効にする。

3.NPSの設定

■接続要求ポリシーの作成

まずは、接続要求ポリシーを作成する。
接続要求ポリシーは一旦対象のNPSクライアント(スイッチ:以下SW)からのイーサネット通信は全部条件に入るよう以下のとおり作成。

 [接続要求ポリシー]
 ・概要 - ポリシー名とかを適当につけて、有効にする
 ・概要 - NASポートの種類:イーサネット
 ・設定 - デフォルトのまま

これで対象のNPSクライアント(SW)に繋がっているPCは全部NPSの接続要求ポリシーに該当するので、次にネットワークポリシーを作成して接続可否を設定する。

■ネットワークポリシーの作成

今回は特定のADグループの人のみ認証許可する設定とするため、以下のとおりネットワークポリシーを作成する。

[ネットワークポリシー]
 ・概要 - ポリシー名とかを適当につけて、有効にする
 ・概要 - NASポートの種類:イーサネット、Windowsグループ:対象のグループ名(ここではIEEEとする)
 ・制約 - 認証方法(EAPの種類):『Microsoft:スマートカードまたはその他の証明書』を選択する。
 ・設定 - RADIUS属性(標準):今回はDHCPサーバと連携してIPを払い出すため、以下のattributeを設定
     Framed-Protocol:PPP
     Service-Type:Framed
     Tunnel-Medium-Type:802
     Tunnel-Medium-Type:802
     Tunnel-Pvt-Group-ID:100※ここはDHCPで払い出すVLANID
     Tunnel-Type:Virtual LANs(VLAN)

以上でNPS側の設定はおしまい。
長くなりそうなので端末側の設定等々については次回に続く。。