ADCSとNPSを使ったEAP-TLSの無線LANを構築
Active Directory 証明書サービスとは
Active Directory 証明書サービス (AD CS) は、セキュリティで保護された通信と認証プロトコルで使われる公開キー インフラストラクチャ (PKI) 証明書を発行および管理するための Windows Server ロールです。
「Active Directory ドメイン サービス」と連携して、証明書を発行・配布することができるので、ドメイン環境を利用している場合に証明書の運用・管理がしやすい!
構築手順
大まかに以下の順でやっていく
- NPSサービスのインストール&ADと連携設定
- RADIUSクライアント設定
- NPSのポリシー設定
- CAサービスのインストール
- 証明書の配布
- 証明書の自動配布設定
- GPOで無線プロファイル配布
NPSサービスのインストール&ADとの連携設定
NPSのサービスをインストール、管理ツールを開いて設定(ポチポチしていくだけなので割愛)
NPSを右クリックして、「ADにサーバ登録」
- NPSサーバが「RAS and IAS Servers」のセキュリティグループに追加される
※ローカルユーザーでサインインしているとグレーアウトになる。
ADの管理者ユーザで作業はしましょう。
RADIUSクライアント設定
フレンドリ名:AP名とか判別できるもの
アドレス:APのIPかDNS
共有シークレット:適当に。
RADIUSクライアントはコマンドでまとめて追加可能
コマンドの例
netsh nps add client name=test-ap address=192.168.10.1 state=enable sharedsecret=testkey
NPSのポリシー設定
ポリシー → ネットワークポリシー → 新規
ポリシー名は任意のものを設定
接続を許可するセキュリティグループを追加
NASポートは無線なら、ワイヤレスを追加
EAPの種類に「Microsoft スマートカードまたはその他の証明書」を追加
セキュリティレベルの低い認証方法のチェックをはずす
あとはOK
CAサービスのインストール
サーバマネージャから、機能の追加で「Active Directory 証明書サービス」を追加する。
とりあえずは「証明機関」のみでOK
インストールが終わったら、サーバマネージャにに戻り、右上の「旗マーク」をクリックし「対象サーバにActive Directory 証明書サービスを構成する」をクリックして、設定していく。
- エンタープライズCA
- ルートCA
- 新しい秘密キーを作成する
- 初期値は「SHA256」でだが、現在ではこれでいい気はする。気になる人は「SHA512」にしてもOK
- CAの名前は適当につける(サーバ名と一致してなくても大丈夫)
CAサービスのインストールは完了
証明書の配布
AD CSのインストールが終わったら、「証明機関」を開いて証明書テンプレートを作る
証明書テンプレートを右クリック→管理
「コンピュータ」を右クリック→複製
テンプレート表示名は任意のものに
有効期間や更新期間も任意のものに
「ADの証明書を発行する」に☑
互換性は最新にしておけばOKか?
ADの情報から構築する を確認
証明書を配布したいセキュリティグループを追加
読み取り、登録、自動登録の許可にチェック
あとはOK
証明書テンプレート → 右クリック →新規作成 → 発行する証明書テンプレート
から作成したテンプレートを追加
証明書テンプレートに表示されているテンプレートがアクセス権やGPOの設定に基づいて配布される
不要なテンプレートは削除してOK
→ テンプレート自体が消えるものではない
※ここまで終わったら、一度サーバを再起動しておいた方がよい。
※イベントビューアで、証明書が発行された際にイベントID80のログがでている場合は、サーバ再起動すると止まった。(権限周りの適用関係で再起動が必要っぽい)
証明書の自動配布設定
以下のポリシーを設定することで、自動で端末に証明書が配布され、有効期限が近づいたものは自動更新されるようになる。
コンピュータの構成 - ポリシー - Windowsの設定 - 公開キーのポリシー - 「証明書サービス クライアント – 自動登録」
構成モデル:有効
有効期限が切れた証明書を書き換え、保留中の証明書を更新、および失効した証明書を削除する:チェック
証明書テンプレートを使用する証明書を更新する:チェック
ドメイン参加しており証明書の発行が許可されている端末で「certlm.msc」から、
- 信頼されたルート証明
- 中間証明
- 個人(OID(1.3.6.1.4.1.311.25.2)拡張が含まれることを確認)
に証明書が配布されていることを確認する。
GPOで無線プロファイル配布
こちらの記事を参照
参考
権限関係
必要な権限についてはこの辺が参考になった
CAとNPSサーバは↓の権限を持っていれば問題ないはず。
- Cer Publishers
- RAS and IAS Servers
ドメインコントローラーでの証明書ベースの認証の変更と対応の流れ
最新のパッチを適用しているWindowsServerで構築していれば問題ないが、塩漬けしてしまっているものでやった場合、認証が失敗してしまう。
対策はこちら
対処方法は
- アカウントへ証明書をマッピング
- 証明書へアカウントをマッピング
の2つがあるが、2022年5月以降のセキュリティ更新プログラムを適用することで OID(1.3.6.1.4.1.311.25.2) 拡張付きの証明書を発行することが可能になるので、構築する際は最新のパッチをサーバに当てましょう。
ADの認証周りの変更のパッチがちょいちょいあるので、クライアントだけパッチ適用するのではなく、各サーバもパッチ適用はちゃんとやりましょうね。
Discussion