Windows Serverをゆるゆると愛でる

Windows Server(主にActive Directory関連)について割とヌルく取り上げるブログです。

フォレストの機能レベルを考える(2)Windows Server 2003(上)

こんにちは。
フォレストの機能レベルについてあーだこーだ書くブログ、第2回はWindow Server 2003です。このWindows Server 2003ドメインの機能レベルもさることながら、フォレストの機能レベルの新機能も多く、3回に分けてお届けします。大体何でもそうですが、最初に書いてあるのがメジャーかつ分かりやすい機能で、後になればなるほどマイナーかつ理解しづらい内容です。よって次回以降かなり大変ですがめげずに頑張ります...。

1. フォレストの信頼

Windows 2000まではリソースを参照可能な最大の単位はフォレストでした。しかし、企業の合併などで異なるフォレストに所属するActive Directoryを結合してお互いのリソースにアクセスする、となった場合にアクセスできない、という問題がありました。フォレストの信頼はフォレストルートドメイン間で作成でき、一方向または双方向の信頼関係を結ぶことができます。この際、推移的な信頼関係により各フォレスト内に存在する全てのドメインについても一方向または双方向の信頼関係が結ばれます。フォレストの信頼はドメインを移行する際にADMTを使用する場合に必要な技術となります。
ちなみにフォレストの信頼を行う場合は双方のフォレストの機能レベルをWindows Server 2003以上にしておく必要があります。

2. ドメインのリネーム

ドメインのリネームは正直影響範囲がかなり大きいため、よほどのことがない限り実施しない方が良いです。例えば会社名がガラリと変わってしまった、合併した、間違えた...等でしょうか。初回構築時であればドメインのリネームを行うよりも降格→昇格をした方がDNSなどにゴミが残らずスッキリとできるかと思います。ドメインのリネームはrendomコマンドを使用します。

3. リンクされた値のレプリケーション

メンバーシップの内容全体を1つのユニットとして複製する代わりに、グループメンバーシップ(group membership)を変更することでメンバー個別の値を格納・レプリケーションすることができる機能です。全体を一度に複製しようとすると、複製のための帯域が必要となります。またそれに伴い複数のドメインコントローラーで同時に複製した場合の考慮が必要となります。個別に処理することで帯域やサーバー負荷の軽減などのメリットが見込まれます。

4. 読み取り専用ドメインコントローラー(RODC)

遠隔地で管理者が確保できない、またはデータセンターと十分なネットワーク帯域が確保できない(最近は光回線のおかげでかなり減ったと思いますが)などの理由により、ドメインコントローラーがあればいいけど置いても管理できない、という場合は読み取り専用ドメインコントローラーを配置することができます。最近ではWorkplace Joinなどの機能や、そもそもADではなくAzure ADで操作しよう、といった動きが出てきて、無理してADを設置・展開しなくても遠隔地から認証可能になってきているように思いますが、インターネットが使用できずかつVPN帯域が小さいのに端末数が多くて認証も頻繁(例えばファイルサーバーが拠点側にあり、都度認証が行われる等)の場合はRODCの導入検討をした方が良いと思います。

フォレストの機能レベルを考える(1)Windows 2000

こんにちは。
フォレストの機能レベルについてあーだこーだ書くブログ、最初はWindows 2000なのですが...。以下のドキュメントを見ていただければ分かるとおり、Windows 2000のフォレストの機能レベルについては特別な機能は追加されていません。

Understanding Active Directory Functional Levels

サポートされるドメインコントローラーのOSはWindows Server 2008 R2以前になりますので、Windows Server 2012以降のOSをドメインコントローラーに昇格させる場合はWindows Server 2003以上にする必要があります。ドメインの移行などで現地調査をする場合はドメインやフォレストの機能レベルを確認するようにしてください。OSがWindows Server 2008でも、意外と機能レベルはWindows 2000のままであることが多いです...。ご注意を。

ドメインの機能レベルを考える(番外編)Windows Server 2016(1/2:technetの記事)

こんにちは。

Windows Server 2016のドメインの機能レベルについてはtechnetが追いついていないのか、まだ更新されていません。
ですので、Microsoftのドキュメント2つから紐解いて行きたいと思います。
一応日本語サイトもあるのですが、英語の機械翻訳によるものなので若干品質が悪いです。ちなみにどちらもBill Mathers氏が書いています。ですので記事の内容は本人及びMicrosoft社に帰属するものです。

今回は以下の記事より。

Windows Server 2016 Functional Levels

実はあまり内容が深くなかったりします...。
ちなみに若干意訳が入っているため、直訳好きな方は違和感やツッコミどころがあるかもしれませんが、そこはご愛嬌ということで。というかそういう人は原文を読んでくださいね...。

Windows 2003のサポート終了に伴い、Windows 2003ドメインコントローラーをWindows 2008、2012、2016にアップデートする必要があります。結果として、Windows Server 2003で動作しているドメインコントローラーはいずれもドメインから削除する必要があります。以前のバージョンのWindows Serverが動作するドメインコントローラーによりドメイン環境に新しいドメインコントローラーを追加することができないため、ドメイン及びフォレストの機能レベルは少なくともWindows Server 2008にする必要があります。

 

顧客がドメインの機能レベル(DFL:Domain Functional Level)及びフォレストの機能レベル(FFL:Forest Functional Level)を更新することを推奨します。これは2003のDFLやFFLがWindows Server 2016では非推奨となっており、以降のリリースではサポートされない予定だからです。

 

DFLとFFKを2003から変更するのを評価するためにもう少し時間が必要だと考える顧客に対して、ドメイン及びフォレストの全てのドメインコントローラーがWindows Server 2008、2012、2016のいずれかである場合、Windows Server 2003のDFLやFFLは引き続きWindows 10及びWindows Server 2016でサポートされます。

 

Windows Server 2008以降のドメインの機能レベルでは分散ファイルサービス(DFS:Distributed File Service)レプリケーションドメインコントローラー間でSYSVOLフォルダーの内容をレプリケートするために使用されます。Windows Server 2008以降のドメイン機能レベルで新たにドメインを作成した場合、DFSレプリケーションはSYSVOL複製に自動的に使用されます。それ以前(Windows Server 2003以前)の機能レベルで作成された場合、SYSVOL複製をFRSからDFSレプリケーションに移行する必要があります。移行のステップについてはTechnet上の手順に従うかストレージチームのブログの詳細な手順を参照することができます。

 

Windows Server 2003ドメイン及びフォレストの機能レベルはサポートされ続けますが、組織はSYSVOL複製の互換性や将来的なサポートを確実なものにするため、Windows Server 2008(あるいはできればそれ以降)に上昇させることを推奨します。加えて、機能レベルが高ければ高いほどそれ以外の利点や利用可能な機能が多く存在します。詳細な情報については以下のリソースを参照ください。

Windows Server 2003については既存のActive Directoryドメインが2003の場合にWindows Serer 2008/2008 R2、2012/2012 R2、2016を追加することが可能ですが、Windows Server 2016で新規にドメインを構築する場合は2003を選択することができません。記事にあるとおり、SYSVOL複製の方法が2008よりDFS-Rに変更になっており、2012 R2以降FRSが非推奨となっている現在、2008以降に変更した方が良いと思います。また、新規ドメインを構築する場合、他のアプリケーション等の影響がなければ(ドメインの機能レベルが関係するアプリケーションはあまりないですが)できるだけ最新の機能レベルにした方が良いと思います。

----

2017/08/19 追記

長らく機能レベルについて言及されていませんでしたが、5/31にMicrosoft Docsで公開されました。

Windows Server 2016 の機能レベル | Microsoft Docs

そちらの方から引用します。
(若干機械翻訳から変更していますが、正直合っているか不安です...)

Windows Server 2016のフォレストの機能レベル

Windows Server 2012 R2のフォレスト機能レベルで使用できる全機能に加えて、以下の機能が利用可能となる。

  • MIM(Microsoft Identity Manager)を使用したPAM(Privileged Access Management)

Windows Server 2016のドメインの機能レベル

Windows Server 2012 R2のドメインの機能レベルで使用できる全機能に加えて、以下の機能が利用可能となる。

  • ユーザーのNTLMシークレットに限り公開鍵のロールバックをサポート
  • ユーザーが特定のドメインに参加しているデバイスに制限されている際にNTLM許可をサポート
  • PKInit Freshness Extensionで認証に成功したKerberosクライアントが新しい公開鍵アイデンティティSIDを取得する

PKInit Fresshness ExtensionはRFC8070の機能です。
RFC8070自体がMSで作られているみたいなので、Windows Server 2016とそのクライアントとなるWindows 10(1607)のための機能と見て良いのではないかと思います。
詳細については以下。

Kerberos 認証の新機能 | Microsoft Docs

http://www.ietf.org/rfc/rfc8070.txt (RFC本体)

https://www.ietf.org/proceedings/91/slides/slides-91-kitten-1.pdf (RFCに関する説明資料)

特にドメインの機能レベルについてはよく分からないところもあるので、調べた上でまた記事にできればいいなと思います(業務上必要だということもあります)。

まずはこのページへの参照が多いので追記として。

ドメインの機能レベルを考える(8)Windows Server 2012 R2

こんにちは。
ドメインの機能レベルについてあーだこーだ書くブログ、8回目はWindows Server 2012 R2です。リリースから2年以上経過し、かなり安定して動作しているのではないかと思います。Windows Server 2012と違ってスタートボタンもあるのでサーバーOSとして「比較的」(あくまでWindows Server 2012と比べて)使いやすいものになっていると思います。私が普段一番使用するOSでもあります...。
Windows Server 2012 R2で追加される機能は3つ。3つとも認証に関するものです。

1. Protected Usersグループの追加

新たなセキュリティグループとしてProtected Usersグループが追加されています。名前のとおりユーザーの保護強化を目的としたセキュリティグループです。このセキュリティグループに含めた場合、以下のような制限が付与されます。

  • NTLM認証による認証が不可
  • Kerberos事前認証においてDES及びRC4が使用不可
  • 制約付き委任または制約なし委任の状態でユーザーアカウントの委任不可
  • 4時間経過したユーザーチケット(TGT)は再認証が必要

また、Windows 8.1のローカルにパスワードがキャッシュされなくなります。

2. 認証ポリシー
3. 認証ポリシーサイロ

この2つは同時に扱うべき内容だと思いますのでまとめて。
認証ポリシーと認証ポリシーサイロはフォレストレベルで定義されるポリシーとそれを構成するコンポーネントです。特権を持つ資格情報の使用を特定のユーザー、コンピューター、特定のサービスに関係すするシステムに限定するためのものです。サイロの構成はGUIだとActive Directory管理センターまたはWindows PowerShellコマンドレットで行います。認証ポリシー自体はKerberosプロトコルにおけるTGTの有効期間(lifetime)属性とアクセス制御条件(ユーザーの場合どのデバイスへのサインインを許可されているかなど)を決定するためのものです。認証ポリシーサイロはそれらのポリシーが定義されているコンテナーで、この中にユーザーアカウントやコンピューターアカウント、サービスアカウントを割り当てることによって認証ポリシーを適用します。例えばフォレストの管理を特定のユーザー・デバイスでのみ行いたい場合にこの認証ポリシーサイロを構成することによってそれ以外からのアクセスを防御することができます。

 

次回は番外編というか、MSの公式文書がないのでWindows Server 2016の機能レベルに関するブログの日本語訳でも。一応日本語訳はあるのですが機械翻訳がなかなか穏やかではない状態なので。

ドメインの機能レベルを考える(7)Windows Server 2012

こんにちは。
ドメインの機能レベルについてあーだこーだ言うブログ、7回目はWindows Server 2012です。だいぶ近づいてきましたね。
この一連のブログを書き始めて、改めて「よく知らない」ことを知らされる感じです。
特に業務などでもほとんど扱ってこなかったWindows Server 2008までのドメインの機能レベルについては「こんなこともあるのか...」と今更のように驚かされるばかりです。より精進していきたいと思います。
Windows Server 2012で追加された機能は1つ。

1. Kerberos認証の強化

説明文には長々と書いてあったのですがタイトルらしきものがなかったので勝手に付けました。Kerberos認証に3つの機能が追加されました。

  • 信頼性情報
  • 複合認証
  • Kerberos防御

この機能自体の制御はグループポリシーの管理テンプレートにあります。既定は「無効」と同じです。

[コンピューターの構成]-[ポリシー]-[管理テンプレート]-[システム]-[KDC]-
[KDC で信頼性情報、複合認証および Kereberos 防御をサポートする]

ではこれを何に使用するか?Windows Server 2012で追加されたダイナミックアクセス制御(DAC:Dynamic Access Control)です。詳細についてはMSの安納さんのブログ記事にかなり詳細かつ分かりやすい内容があります。

blogs.technet.microsoft.com

Windows Server 2012ではドメイン自体の機能追加というよりはWindows Server 2012で追加された機能に合わせて機能拡張を行なっているような感じです。今までセキュリティグループでしかアクセス制御ができなかったことを考えると、ユーザーやデバイスの属性を使用してアクセス可否を制御できるのは画期的だと思います。ただ、これまでのActive Directory自体はどちらかと言うと認証(Authentication)に重きを置いていて、承認(Authorization)についてはあまり力点を置いていなかったように思います。つまり、ログオンの認証はするけど、ファイルサーバーなどリソースにアクセスするためにADから提供される情報は各ユーザーが所属するセキュリティグループくらいで、それ以外の属性はあまり積極的に活用してこなかったように思います(氏名、メールアドレス、電話番号くらい?)。上記のような機能を効率よく使用していくために、属性をしっかりと割り当ててやる必要があります。FIMなどのID管理製品と上手く連携していくことを意識しないといけないかもしれないですね。

ドメインの機能レベルを考える(6)Windows Server 2008 R2

こんにちは。
ドメインの機能レベルについてあーだこーだ言うブログ、6回目はWindows Server 2008 R2です。
Windows Server 2008と比べて少しだけ機能が追加された感じです。さすがR2。ちなみに2008 R2ではフォレストの機能レベルの追加機能として「Active Directoryごみ箱」が追加されました。こちらについてはまたいつか。

1. 認証メカニズムの保証

ドメインユーザーの認証時に使用される認証方式の種類(ユーザー/パスワード、スマートカード)をKerberosトークンにパッケージするという機能です。ADフェデレーションサービスといったフェデレーションID管理基盤が実装されたネットワーク環境でこの機能が有効化されると、ユーザーのログオン方法に基づいて承認の可否を判断する要求対応型(claims-aware)アプリケーションへアクセスするたびにKerberosトークンに含まれる(認証方式に関する)情報が抽出されます...と直訳っぽくなりましたが、近年IDパスワード方式に代わる生体認証やPINベースなど様々な認証方法が登場し、それぞれがどの程度のリスクかを比較することができる(複数出てきたので比較することができる、と言うのが正しいです)ようになりました。それに伴い、よりセキュアな認証方式の場合のみ承認する、と言った制御も出てくるようになってきています。この機能ではそういった認証方式をKerberos認証の中にパッケージングすることによって、他のサーバーが認証情報を利用するときにこの情報を利用することができるようになるものです。

2. 自動的なSPNの管理

SPN(Service Principal Name)はクライアントがサービスの名前を一意に判別するための名前で、これによりサービスをセキュアに実行することができます。
SPN自体の説明については国井さんのブログの説明が非常にわかりやすいです。

azuread.netWindows Server 2008 R2の機能追加では管理サービスアカウントのSPNの管理が簡略化されました。サービスアカウントの新機能について記載されたドキュメントを見てみると以下のように記載されています。

Service Accounts Step-by-Step Guide

If the domain is at the Windows Server 2008 R2 functional level, the SPN management of managed service accounts is simplified. Specifically, the DNS part of the managed service account SPN is changed from oldname.domain-dns-suffix.com to newname.domain-dns-suffix.com for all managed service accounts installed on the computer in the following four situations:

  • The samaccountname property of the computer is changed.
  • The DNS name property of the computer is changed.
  • A samaccountname property is added for the computer.
  • A dns-host-name property is added for the computer.

簡単に訳すと以下のようになります。

ドメインの機能レベルがWindows Server 2008 R2の場合、管理サービスアカウントのSPNの管理が簡略化されています。特に、コンピューター上にインストールされた全ての管理サービスアカウントについて、以下の4つの条件で管理サービスアカウントのSPNのDNS部分が"oldname.domain-dns-suffix.com"から"newname.domain-dns-suffix.com"に変更された場合です。

  • コンピューターの"samaccountname"属性が変更された場合
  • コンピューターのDNSホスト名属性が変更された場合
  • "samaccountname"属性がコンピューターに追加された場合
  • "dns-host-name"属性がコンピューターに追加された場合

 

Windows Server 2008 R2で追加された機能はどちらもセキュリティとそれに伴う運用性を意識した機能追加のように見えます。Windows Server 2003Windows Server 2008のときのような目に見える機能追加ではないですが(裏返すとその辺りで目に見える機能追加はひと段落したのかもしれませんが)、こういう細かい部分の機能追加で洗練されて言っているように思います。

ドメインの機能レベルを考える(5)Windows Server 2008(後編)

こんにちは。
ドメインの機能レベルについてあーだこーだ言うブログ、5回目もWindows Server 2008です。
前回勘定を間違えて6つある機能追加のうち4つを紹介してしまったので残り2つになります。が、細かい設定が可能なパスワードポリシー(これが正式名称です)はWindows Server 2008の機能の目玉の1つなので重要です!

5. 細かい設定が可能なパスワードポリシー

これまでドメインにおけるパスワードポリシーやアカウントロックアウト時のポリシーはドメインレベルで1つでした。パスワードポリシーの適用先がドメインだから(どちらが先かは分かりませんが)ということもありますが、明示的にパスワードポリシーを分けたい場合はサブドメインを構築する等別のドメインにする必要がありました。
細かい設定が可能なパスワードポリシー(Fine-Grained Password Policies)を使用すると、ユーザーやグローバルセキュリティグループに対して個別にセキュリティポリシー(パスワードポリシーやアカウントロックアウトポリシー)を設定することができます。Windows Server 2008の登場当時はADSIエディターを使用した若干複雑な設定方法でしたが、Windows Server 2012以降Active Directory管理センターを使用して設定できるようになりました。管理者や社外ユーザーに対するパスワードポリシーを設定する場合などに便利です。

6. 個人用仮想デスクトップ

Active Directoryユーザーとコンピューター」スナップインのユーザーアカウントのプロパティ画面に「個人用仮想デスクトップ」というタブが追加されます。個人用仮想デスクトップ自体はWindows Server 2008 R2以降の機能ですが、これを使用するための機能レベルがWindows Server 2008である必要があります。その他リモートデスクトップサービスを構築していることやリモートデスクトップセッションホスト(RDセッションホスト)ではなくリモートデスクトップ仮想化ホスト(RD仮想化ホスト)を構築していることなどいくつかの条件が必要になります。
用途としては主に管理者用の端末だけ特別な仮想マシンを割り当てる、といったところになるでしょうか。