Active Directory 環境のドメイン コントローラーの アップグレード時にOS観点で考慮すべき事項

# 概要

Active Directory 環境でドメイン コントローラーのOS OS のアップグレード時に考慮しておいたほうがいいであろう事項をまとめます。

なお、今回の記事では
OS の仕様に的をしぼっており、具体的な手順（事前にバックアップを取る等)については言及いたしませんのでご注意ください。
アップグレードしたい OS に対して既存の環境が要件をみたすかとの観点での記事となります。

## アップグレード可能な OS バージョン

既存のドメイン コントローラーをインプレース アップグレードする際にアップグレード可能な OS バージョンは下記となります。
|アップグレード後のOS|アップグレード可能なOS|
|:----|:----|
|Windows Server 2022|Windows Server 2019<br>Windows Server 2016|
|Windows Server 2019|Windows Server 2019<br>Windows Server 2012 R2|
|Windows Server 2016|Windows Server 2012 R2<br>Windows Server 2012|
|Windows Server 2012 R2|Windows Server 2012<br>Windows Server 2008 R2|
|Windows Server 2012|Windows Server 2008 R2<br>Windows Server 2008|

Windows Server 2008 、 Windows Server 2008 R2 から Windows Server 2016 以降へは直接インプレース アップグレードができず、 Windows Server 2012 などにインプレース アップグレードをしたうえで、さらにアップグレードが必要なことに注意してください。

＜参考情報＞
* [Windows Server のアップグレードの概要 | Microsoft Learn](https://learn.microsoft.com/ja-jp/windows-server/get-started/upgrade-overview)

## 機能レベル

アップグレードの OS がサポートする機能レベルは下記です。
既存の環境がアップグレードを想定している OS でサポートされる機能レベルでない場合、事前に機能レベルを更新しておく必要があります。

|アップグレード後の OS|サポートする機能レベル|
|:----|:----|
|Windows Server 2022|Windows Server 2016<br>Windows Server 2012 R2<br>Windows Server 2012<br>Windows Server 2008 R2<br>Windows Server 2008|
|Windows Server 2019|Windows Server 2016<br>Windows Server 2012 R2<br>Windows Server 2012<br>Windows Server 2008 R2<br>Windows Server 2008|
|Windows Server 2016|Windows Server 2016<br>Windows Server 2012 R2<br>Windows Server 2012<br>Windows Server 2008 R2<br>Windows Server 2008<br>Windows Server 2003|
|Windows Server 2012 R2|Windows Server 2012 R2<br>Windows Server 2012<br>Windows Server 2008 R2<br>Windows Server 2008<br>Windows Server 2003|
|Windows Server 2012|Windows Server 2012<br>Windows Server 2008 R2<br>Windows Server 2008<br>Windows Server 2003|
|Windows Server 2008 R2|Windows Server 2008 R2<br>Windows Server 2008<br>Windows Server 2003<br>Windows 2000|
|Windows Server 2008|Windows Server 2008<br>Windows Server 2003<br>Windows 2000|


今後アップグレード対象となるであろう Windows Server 2022 、 Windows Server 2019 では機能レベルが  Windows Server 2008 以上である必要性があります。
古いドメイン環境から更新を重ねてきた場合には以前の更新の際に OS は更新したが機能レベルは据え置かれて古いままということもありますので機能レベルにも注意が必要です。
既存の機能レベルが不明な場合には下記手順にて確認をしましょう。

1. [Active Directory ユーザーとコンピューター]を起動します。

1. ドメイン名を右クリックし[プロパティ]を開きます。

1. プロパティ画面にでドメイン、フォレストの機能レベルを確認します。
![P1_001.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1833876/794aec3e-440f-7849-a8f7-fea90d1081bf.png)


＜参考情報＞
* [Active Directory Domain Services Functional Levels in Windows Server | Microsoft Learn](https://learn.microsoft.com/en-us/windows-server/identity/ad-ds/active-directory-functional-levels)
2023/5/30時点で日本語ページでは Windows Server 2022 の情報が反映されていません。

## レプリケーション方式

Windows Server 2022 、 Windows Server 2019 では FRSがサポートされていません。
その為 Windows Server 2022 、 Windows Server 2019にドメイン コントローラーをアップグレードする場合には レプリケーションの方式を DFSR であることを確認しておく必要性があります。

確認手順並びに FRS から DFSR の移行については下記の BLOG で網羅されています。

* [FRS から DFSR への移行 (SYSVOL)](https://social.technet.microsoft.com/Forums/windows/ja-JP/7f472ac4-7a38-441d-973e-51f45c1d5f27/frs-1236312425-dfsr-12408123983122734892-sysvol?forum=Wcsupportja)

## そのほか留意すべき事項

Active Directory 関連の脆弱性対応がどこまで進んでいるかにも留意する必要性があります。
ドメイン コントローラーの OS をアップグレードする際には新たな OS で最新の更新プログラムを適用するというケースが多いと思います。
その際に既存のドメイン コントローラーに最新の更新プログラムを適用されていないと、脆弱性対応の状況に差異が生じ認証に問題が発生するなど障害が発生する可能性があります。

その為既存のドメイン コントローラーがどの更新プログラムを適用してどの段階まで脆弱性対応が進んでいるかを確認しておく必要性があります。

英語での情報とはなり、かつすべてのActive Directory 関連の脆弱性を網羅したものではなさそうですが下記 BLOG に今後の Active Directory 関連の脆弱性対応の予定が記載されておりますので参考になると思います。

* [Latest Windows hardening guidance and key dates - Microsoft Community Hub](https://techcommunity.microsoft.com/t5/windows-it-pro-blog/latest-windows-hardening-guidance-and-key-dates/ba-p/3807832)

## 補足
ドメインに参加するクライアントについてドメイン、フォレストの機能レベルに制約があるか調べてみましたが情報は見つかりませんでした。

そのため検証環境で試したところ下記でドメインに参加可能で、グループ ポリシーの適用できることを確認しました。

<table border>
<tr>
<td>ドメイン コントローラー</td>
<td> Windows Server 2008 </td>
</tr>
<tr>
<td>フォレスト機能レベル</td>
<td> Windows Server 2000</td>
</tr>
<tr>
<td>ドメイン機能レベル</td>
<td> Windows Server 2000ネイティブ</td>
</tr>
<tr>
<td>クライアント OS</td>
<td> Windows 11 バージョン 22H2 </td>
</tr>
</table>

上記からクライアント OS のドメイン参加には、機能レベルによる制約はないと **推測** します。