Windows Serverをゆるゆると愛でる

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

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

ドメインの機能レベルについてあーだこーだ言うブログ、4回目の今回はWindows Server 2008です。
Windows Server 2003のサポート終了とWindows Server 2016のリリースにより、機能レベルとして少なくともこのWindows Server 2008になっているところは多いのではないでしょうか。正直なところ、Windows Server 2003からWindows Server 2008の機能追加はかなり多く、それ以降はだいぶ少なくなってきている辺り、機能として十分な状態になってきたのがこのWindows Server 2008のAD DSではないでしょうか。
(サーバーの安定性は置いといて)

 

1. SYSVOLのレプリケーションにDFS(Distributed File System)をサポート

SYSVOLのレプリケーションはそれまでFRS(File Replication Service)が使用されていましたが、複製効率が悪いことやハングアップしてしまった場合に複製ができなくなる状態が発生する(私が携わった案件でも発生したことがあります...)などの欠点を持っていたため新たにDFS-Rが採用されるようになりました。Windows Server 2012 R2からは FRSが非推奨になっているため、Windows Server 2003以前から運用していて一度も移行していない場合は移行した方が良いと思います。

2. ドメインベースのDFS名前空間におけるWindows Server 2008モードの追加

DFSでは名前空間サーバーと呼ばれるサーバーを使用してバックグラウンドにいる複数のサーバーの名前を隠蔽することができますが、その際のモードに「Windows Server 2008モード」が追加されました(それまではWindows 2000モードのみ)。このモードではアクセス・ベースの列挙(ABE:Access Based Enumeration)の追加とスケーラビリティへの考慮が含まれています。アクセス・ベースの列挙は平たく言えば「アクセス許可がないフォルダーは表示しない」機能です。DFSを構築する上でモードの選択が必要になります。

3. KerberosプロトコルへのAES128/AES256のサポート

機能レベルをWindows Server 2008に変更すると、KerberosのTGT(Ticket Granting Ticket)がAESを使用して発行されるようになります。これにより、認証エラーが発生する可能性があります。この場合はKDC(Key Distribution Center)サービスを再起動することにより認証エラーを回避することができます。Exchangeを含む環境で機能レベルを変更する場合は考慮する必要があるかと思います。

4. 最後の対話型ログオンの情報

Windowsへのログオン後に以下のログオン情報が表示されます。

  • ドメイン参加したコンピューター(Windows Server 2008/Vista以降)でログオン試行に失敗した回数
  • 最後にログオンに成功してからログオン試行に失敗した回数
  • 最後にログオン試行に失敗した日時
  • 最後にログオンに成功した日時

これらは第三者によるアクセスの有無を判別するのに役に立ちます。明らかにアクセスしていない時間帯にアクセスしていた、みたいなこともありますので。ただし上記のようにドメインに参加したコンピューターでのログオン試行について表示されるため、ドメインに参加した端末にドメインユーザーでログオンした後リモートデスクトップ接続などでアクセスをした場合「サーバーにアクセスした日時」が表示されるのではなく、「端末にアクセスした日時」が表示されます。サーバーにアクセスした日時を表示させたい場合はActive Directoryディレクトリデータベース上に持たせるなどの工夫が必要になります。

 

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

こんにちは。
ドメインの機能レベルについてあーだこーだ言うブログ、3回目も引き続きWindows Server 2003です。
ちなみに前回のエントリのタイトルが「Windows 2003」になっていたので修正しました。正しくは「Windows Server 2003」です。
いつものように詳細については以下を参照ください。

Understanding Active Directory Functional Levels

今週取り上げる3点は実はこれまで使用したことがないものばかりだったりします...。勉強しながら書いていきたいと思います。

 

5. 承認マネージャーでAD DSの承認ポリシーを保管する

アプリケーションに対してロールベースのアクセス制御を行うための「承認ポリシー(Authorization Policy)」をAD DSに保持することができる、という機能です...が、あまり使っている人を見たことがないというのが正直なところです。承認マネージャー自体Windows Server 2012以降非推奨になっているようで、AD LDSも下火になっている昨今聞かれなくなっていくものになるのではと思います。

6. 制約付き委任

制約付き委任の説明には次のように書いてあります。

制約付き委任は特定のサーバーがユーザーの代理として動作する対象のサービスを制限します。
When it is configured, constrained delegation restricts the services to which the specified server can act on the behalf of a user.

サーバーがユーザーの代わりに動作する際、余計なサービスまで利用可能になると困るので制限をかけることができる、といったところでしょうか。

7. 認証の選択

「信頼する側のフォレスト」のリソースサーバーで認証することを許可されているような「信頼されている側のフォレスト」ユーザーやグループを指定することができる機能です。ここで「信頼する側」「信頼される側」とありますが、

  • 「信頼する側」が実際にファイルやフォルダ、Webページヘのアクセスをする側
  • 「信頼される側」がアクセス制御するためのユーザーやグループを保持している側

になります。信頼する側にアクセスしにいったとき、信頼される側のユーザーだったらOK、というイメージです。信頼関係についてはまた別途図を使いながら。

 

次回はWindows Server 2008です。

 

ドメインの機能レベルを考える(2)Windows Server 2003(前編)

こんにちは。
ドメインの機能レベルは2回目、本日はWindows Server 2003です。
一昨年Windows Server 2003/2003R2のサポートが終了になったことにより、(その後にリリースされた)最新のWindows Server 2016では新規ドメイン構築時に機能レベルとして「Windows Server 2003」が選択できなくなっています。
Windows 2000に比べてかなり機能は多くなっているので、1つずつ見ていきたいと思います。

前回と同様詳細についてはtechnetの記事を参照ください。

Understanding Active Directory Functional Levels

 

1. Netdom.exeが利用可能になり、ドメイン名のリネームが可能に

Netdom.exeはFSMOを確認する場合やドメインの操作をする際にかなりお世話になるツールです。特にFSMOの表示は操作マスターごとに表示するスナップインが異なるため、一括で表示してくれるのはありがたいです。
ドメイン名のリネームは普段はほぼ使うことがないですが、Active Directory証明書サービスを使用していて、証明書をそのまま利用可能とするためドメイン移行時にどうしてもホスト名を移行しなければならない場合に使用したりします。

2. ログオンタイムスタンプの更新

ユーザーやコンピューターの属性としてlastLogonTimestamp属性が追加されました。属性として既にlastLogon属性が存在しますが、lastLogon属性が他のドメインコントローラーと同期しないのに対してlastLogonTimestamp属性は同期されるという特徴があります。ただし、最新のログオン時間ではないことが多いので注意が必要です。
Technetのブログでこの辺りの動きが詳細に記載されています。

blogs.technet.microsoft.com

3. inetOrgPersonオブジェクトとユーザーオブジェクトのuserPassword属性

LDIFDE.exeやCSVDE.exeを使用してユーザーをインポートする際、 パスワードの属性である unicodePwd属性ではBase64エンコードして設定する必要がありますが、userPassword属性を使用すると平文で登録できるようになります。

4. ユーザーオブジェクトとコンピューターオブジェクトのリダイレクト

コンピューターをドメインに参加させた場合、コンピューターオブジェクトは「Computers」コンテナーに作成されます。特に場所を指定せずにコマンド等でユーザーを作成した場合は「Users」コンテナーに作成されます。
コンピューターの格納先が常に一定で、いちいちオブジェクトを移動するのが面倒、という場合はオブジェクトをリダイレクトすることができます。
リダイレクトする場合はredirusrコマンドとredircmpコマンドを使用します。

redirusr "ユーザーのリダイレクト先のOUの識別名(DN)"
redircmp "コンピューターのリダイレクト先のOUの識別名(DN)"

 DNにスペースが含まれることが多いので、二重引用符を付けたほうが確実です。

 

残り3つは次回に...。

 

2017/02/18 追記
タイトルが間違っていたので修正しました。正しくはWindows Server 2003です。

ドメインの機能レベルを考える(1)Windows 2000ネイティブ

こんにちは。かなりの放置気味でした。
最近早起きをして会社に来ることを習慣にしようとしたものの、短い時間でやることがなかなか見つからなかったので、この機会にこのブログを動かそうと考えました。
しばらくは試行錯誤ですので更新が不定期になるかもしれないですが、長い目でよろしくおねがいします。

 

ドメインコントローラーを構築する場合、ドメインやフォレストの機能レベルを決定する必要があります。通常は最新の機能レベルにしますが、既存環境にドメインコントローラーを追加する場合は既存環境で最も古いドメインコントローラーのバージョンに合わせる必要があります。


最新のサーバーOSであるWindows Server 2016では機能レベルとして「Windows 2000ネイティブ」はそもそも選択肢として存在しませんが、機能としてどのようなものがあったか理解しておいて損はないかと思います。
ちなみにドメインの機能レベルに関するドキュメントは以下。
英語版にしているのは日本語版の情報がかなり古いからです...。Windows Server 2016の機能レベルに関する記述がないのが気になりますが。
Understanding Active Directory Functional Levels

1. セキュリティグループに「ユニバーサルセキュリティグループ」を追加

それまでは「ドメインローカル」か「グローバル」だけだったセキュリティグループに「ユニバーサル」が追加されました。ユニバーサルセキュリティグループの特徴は以下のとおり。

  • 参照可能な範囲はフォレスト全体
  • 追加可能なメンバーは「フォレスト内のユーザー」「フォレスト内のグローバルグループ」「フォレスト内の他のユニバーサルグループ」の3種類

グローバルもフォレスト全体で参照可能ですが、追加可能なメンバーはドメイン内に限られていました。それをフォレスト全体に範囲を広げたのがユニバーサルグループです。

2. グループの入れ子(ネスト)

意外にもそれまではセキュリティグループの入れ子はできなかったんですね。今ではほぼ当たり前ですし、AGDLP(またはAUDLP、AGLP)のようなベストプラクティスも出てきています。

3. セキュリティグループと配布グループの間の変換

Exchangeなどを使用していないと(Windows Server 2003まではOS機能に含まれていたかと思いますが)ほとんど目にすることはないですが、配布グループとセキュリティグループの変換機能がここで追加されています。

4. SID(Security Identifier)の履歴

ADMT(Active Directory移行ツール)を使用してドメインを移行する場合にファイルサーバーの権限管理を引き継ぐ際に必要になってくるSIDの履歴(sidHistory)。地味ではありますが重要な機能です。

 

ちなみにドメインの機能レベルが「Windows 2000ネイティブ」の場合、Windows Server 2012 R2以降のOSをドメインコントローラーとして追加することができません。

に機能レベルを上げてからドメインコントローラーの追加作業を行いましょう。

Windows Server 2016 TP5 評価ガイドを読んでみる(その1)

ここでは2016年に発表される(ということに今のところなっている)Windows Server 2016のTechnical Preview 5について記載された評価ガイドの内容を読みながら、方式設計者の観点からあーだこーだ書いていこうと思います。
ちなみにWindows Server 2016 TP5 評価ガイドはこちらから確認できます。

今回取り上げるトピックは以下の2点。

  1.  ライセンス形態の変更
  2.  エディションの差が微妙に変更

ライセンス形態が変更になった

Windows Server 2012 R2までサーバーライセンスは物理プロセッサベースでカウントしていました。
つまり、物理コアとして何コア積んでいても、2プロセッサまでは1ライセンスで購入することができました。ちなみにライセンスのカウント方法については以下をご確認ください。
Windows Server 2012 R2 / System Center 2012 R2 ライセンス 早わかり ガイド
Windows Server 2016では物理プロセッサベースではなく物理コアベースになります。
評価ガイドの内容を引用すると、

Windows Server 2016 からは、サーバー ライセンスの購入単位が従来の物理プロセッサ ベースから物理コア ベースのコア ライセンスに移行します。新しいコア ライセンスは、2 ライセンス パックで販売されます。必要なライセンス数は物理コア数から計算しますが、物理プロセッサごとに最低 8 コア (2 コア × 4)、物理サーバーごとに最低 16 コア (2 コア パック x 8) のコア ライセンスを購入する必要があります。

かなりややこしいのですが、ポイントは

  • 物理プロセッサごとに最低8コアのコアライセンスを購入する必要がある
  • 物理サーバーごとに最低16コアのコアライセンスを購入する必要がある

という縛りがあることでしょうか。つまりWindows Server 2012 R2までの場合「2物理プロセッサまでは全て同価格」で、Windows Server 2016の場合「2物理プロセッサまで、かつ合計16物理コアまでは全て同価格」となります。また、左記の範疇ではWindows Server 2016になったからコスト高になる、ということはないようです。
通常用途のEAサーバーで1プロセッサ10物理コア以上持っているものはなかなかないので、仮想サーバーをバンバン立てて、ライセンスはプロセッサあたりのコア数を増やすことでコスト増を抑えようとする場合に影響がある感じでしょうか。

エディションの差が微妙に変更された

Windows Server 2016では2012 R2までと同様「Standard」と「Datacenter」の2種類のエディションが存在します(それ以外のエディションに関する発表は8/21現在なしの模様)。
2012 R2におけるStandardとDatacenterの機能差は「サポートするWindows OSの仮想インスタンス数」の差のみでした。つまり、Standardが2インスタンスに対してDatacenterが無制限、という差がありました。
Windows Server 2016ではこれに加えてプライベートクラウドやハイブリッドクラウドで使用できる高度機能についてはDatacenterエディションに対してのみ提供されることになっています。左記「高度機能」とは以下の3点です。

  • ソフトウェア定義のストレージの新機能
    (記憶域スペースダイレクト、記憶域レプリカ)
  • ソフトウェア定義のネットワークの新機能
    (ネットw-アクコントローラー、ソフトウェアロードバランサー、データセンターファイアウォールなど)
  • シールドされた仮想マシンとHost Guardian Service(HGS)の機能

主にSDN(Software Defined Network)の機能となります。
ちなみに上記の「仮想インスタンス」にはWindows Server 2016で追加される「Nano Server」も含まれるので注意が必要です。Windows OS以外の仮想インスタンスについては従来同様カウントされない模様です。

DNSサーバーのラウンドロビン

Windows Server標準のDNSサーバーには「ラウンドロビン」機能が存在します。
DNSラウンドロビンは同じ名前に対して複数のIPアドレスが割り当てられている場合、順番に割り振っていく機能です。
例えば「svr」という名前に対して以下の3つのIPアドレスが割り当てられているとします。

  • 192.168.1.1
  • 192.168.1.2
  • 192.168.1.3

この場合、DNSサーバーに対して「svr」をクエリするたびに切り替わります。
ドメインコントローラーで実行しています)

f:id:winsrvusr:20160530235434j:plain

svrで問合せするたびにIPアドレスが切り替わっているのが分かりますね。

ラウンドロビンの設定

ラウンドロビンは既定でオンになっています。設定変更する場合は「DNSマネージャー」を使用して変更します。

  1. [スタート]メニューか[サーバー マネージャー]の[管理]から[DNS]を選択し、DNSマネージャーを起動します
  2. エクスプローラーペインからサーバー名を右クリックし、[プロパティ]を選択します。

    f:id:winsrvusr:20160531000019j:plain

  3. [詳細設定]タブを開きます。

    f:id:winsrvusr:20160531000225j:plain

  4. [サーバー オプション]の[ラウンド ロビンを有効にする]を切り替えます。

ラウンドロビンは同じ設定の中にある[ネットマスクの順序を有効にする]と組み合わせることができます。こちらについては次回。