2010年9月6日月曜日

Windows 2008 R2で無線LAN認証

証明書の期限が近付いたら自動更新するような証明書を作りましたが、1点問題がありました。無線LAN(EAP-TLS)で認証する際にクライアントで、「該当する証明書が見つかりません」というようなエラーが表示され、無線LANにつながらないのです。
解決方法を調べてみましたがなかなか見つかりませんでしたが、ついにわかりました。
原因はユーザーテンプレートを複製する際に「Windows Server 2008 Enterprise」を選択していたことだと思われます。
というのも、「Foundation Network Companion Guide: Deploying Computer and User Certificates」に沿って作業したところ、あっさりつながったのです。
以下に、無線LANにつながる自動更新可能な証明書テンプレートを作成する際の注意点をまとめておきます。

  •  証明書テンプレートコンソールで複製する証明書は「ユーザー」とする。
  •  テンプレートは「Windows Server 2003 Enterprise」を選択する。
  •  「セキュリティ」タブでは「Domain Users」に「読み取り」、「登録」および「自動登録」をチェックする。

これでドメインユーザーに対して自動配布かつ自動更新可能な証明書を展開することができます。

2010年9月3日金曜日

Windows 2008 R2での証明書自動更新 その3

最終的にはグループポリシーで自動的に証明書を展開したいところですが、先ずは手動で証明書をインストールします。

  1. クライアント側でmmcを起動し、証明書スナップインを追加します。

  2. 次に、「証明書-現在のユーザー」→「個人」→「証明書」のコンテキストメニューから「すべてのタスク」→「新しい証明書の要求」をクリックします。

  3. 「証明書の登録」の「証明書の登録ポリシーの選択」で「Active Directory登録ポリシー」を選択します。

  4. 以前作成した自動更新可能な証明書テンプレートを選択し、「登録」ボタンをクリックしローカルに証明書をインストールします。
無事クライアントへ証明書がインストールできました。

Windows 2008 R2での証明書自動更新 その2

引き続いて証明書の自動更新について調査です。

Windows Server 2008 R2 Standard(以下Win2008R2とします)にて自動更新が可能なVersion 2以降の証明書テンプレートが利用できることが分かったところで、実際に証明書の自動更新が可能な環境を作ってみます。
尚、前提条件として
  • Active DirectoryスキーマがWin2008となっている
  • Active Directory証明書サービス(エンタープライズのルート)がインストール済み
であることとします。

AD証明書サービスのベストプラクティスアナライザーでスキャン

最初にWin2008R2のサーバーマネージャーで「役割」→「Active Directory証明書サービス」をクリックし、「ベストプラクティスアナライザー」で「この役割をスキャン」をクリックします。
その結果、

  • 「ユーザー自動登録のグループポリシーが有効になっていません」
  • 「コンピューター自動登録のグループポリシーが有効になっていません」
と表示されました。ので、先ずはユーザー証明書の自動更新から対処します。
対応方法としては、「AD CS: User autoenrollment should be enabled when an enterprise CA is installed」に記載されています。
その手順の概要は、
  1. デフォルトドメインポリシーで公開鍵の自動更新を有効にする
    (「ユーザーの構成」→「ポリシー」→「Windowsの設定」→「セキュリティの設定」→「公開キーのポリシー」の「証明書サービス クライアント - 自動登録」で「構成モデル」を有効にする)

  2. 自動更新用に証明書テンプレートを設定
    (「ユーザー」テンプレートの複製を適当な名前で複製します。その際、「セキュリティー」タブで「Domain Users」に「読み取り」と「自動更新」、「登録」の権限を設定しておきます。)

  3. エンタープライズCAに証明書テンプレートをアサインする
    (certserv.mscを起動し「証明書テンプレート」のコンテキストメニューで「新規作成」→「発行する証明書テンプレート」→2で作成したテンプレートを選択す・・・???)
2で作成したテンプレートを選択しようとしたところ、なぜか表示されず。ググってみたところ、追い打ちをかけるように「Troubleshoot Active Directory Certificate Services」で、
I cannot add a new version 2 or version 3 certificate template to my CA.
  • Cause: The CA is installed on a server running Windows Server 2008 R2 Standard or Windows Server 2008 Standard. Version 2 and version 3 certificate templates and certificate autoenrollment can only be used with CAs installed on Windows Server 2008 R2 Enterprise, Windows Server 2008 R2 Datacenter, Windows Server 2008 Enterprise, or Windows Server 2008 Datacenter.

  • Solution: Upgrade to Windows Server 2008 R2 Enterprise, Windows Server 2008 R2 Datacenter, Windows Server 2008 Enterprise, or Windows Server 2008 Datacenter.
と(赤はこちらでいれたものです)。マイクロソフト内でも認識が統一されていないのか、相変わらず「R2 StandardではV2、V3の証明書テンプレートはCAに追加できないよ」と記載されています。

で、さらに調べたところ「You cannot add V2 or V3 templates after an inplace upgrade was performed using Windows Server 2008 enterprise CA」では、

-Symptom

V2 and V3 templates are not available if an inplace upgrade was performed from a Windows Server 2003 or 2008 Certification Authority (CA) to a Windows Server 2008 enterprise CA.

-Cause

The enterprise features are missing because the underlying SKU is standard.

-Solution

To fix the problem, follow these steps:





1. Close the Certificate Services MMC snap-in.

2. Run the following commands from an elevated command-line on the CA computer:



certutil -setreg ca\setupstatus +512

net stop certsvc

net start certsvc

When you re-open the Certificate Services MMC snap-in, you will be able to assign V1, V2 and V3 certificate templates to the certification authority.


まさに、今現象に今ぶち当たっているわけで、該当するサーバーはWin2008StandardからR2へアップグレードしたものでした。
というわけで、記載の通り対処したところ、めでたく2で作成した証明書テンプレートが一覧に表示されるようになりました。

Windows 2008 R2での証明書自動更新 その1

社内でWindows 2008 R2 StandardサーバーをドメインコントローラーとしたActive Directory環境を運用していますが、先日あるユーザーの証明書が期限切れになってしまい、証明書の自動更新について調査してみました。


証明書テンプレートの種類について

証明書はそのテンプレートに沿って発行されますが、証明書テンプレートにはいくつかの種類があります(参照)。

  • Version 1
    一般的な証明書要件をサポート。
    変更できるプロパティはアクセス許可のみ。

  • Version 2
    Windows Server 2003から導入。
    証明書の要求、発行、使用方法を管理者が管理できる。
    証明書の自動登録がサポートされる。

  • Version 3
    Version 2の機能+Suite B暗号化アルゴリズム
Windows Server 2008 R2に関しては全てのエディションがVersion 1~3をサポートします(「Active Directory Certificate Services Features by SKU」)。

となると、
 「Windows Server 2008 (R2) からでもはじめたい Windows PKI」
に書いてある、
 

- 補足情報 (エディション情報)

Windows Server OS には以下のエディションがあります。

「Standard」「Enterprise」「Datacenter」

ちなみに、以下の機能は、「Enterprise」 と 「Datacenter」 エディションのみがサポートしており、Standard エディションはサポートしていない機能となります。

  • テンプレートの複製や編集
  • 証明書自動発行
  • キーのアーカイブ

は、間違った情報なのかしら。