少しでも安全で安定したWindows Server 2022運用を実現したいと考えている方にとって、Microsoftが提供する「Security Baseline(セキュリティベースライン)」の導入は非常に有益です。サーバーの役割やドメインの有無に応じた構成が可能なため、組織や環境に合わせて柔軟に設定できるのも魅力です。
Windows Server 2022 Security Baselineの概要
Windows Server 2022 Security Baselineは、Microsoftが推奨するセキュリティ設定をひとまとめにしたベースラインです。企業や組織がWindows Serverを導入・運用する際に「最低限これだけは守っておきたい」セキュリティポリシーやグループポリシーを集約しており、セキュリティリスクを軽減すると同時に管理の効率化も図れます。
Security Baselineとは
Security BaselineはOSやサービスごとに定義された推奨設定の集合体です。具体的には以下のような設定が含まれます。
- アカウントポリシー(パスワード複雑性、ロックアウトポリシー など)
- ユーザー権利の割り当て(管理者権限の制御)
- 監査ポリシー(イベントログ記録の厳格化)
- セキュリティオプション(SMBやLAN Managerの制御、暗号化設定 など)
- レジストリ設定による機能強化・制限
これらの設定は、Microsoftが長年の運用実績と最新の脅威動向を踏まえて最適化したものです。組織としても一から自前でセキュリティポリシーを構築するより、これらのベースラインを活用することでセキュリティレベルを底上げしやすくなります。
Security Compliance Toolkitのダウンロード・展開
Windows Server 2022用のセキュリティベースラインは、Microsoftが提供する「Security Compliance Toolkit」というツールセットに含まれています。以下の公式サイトからダウンロードできます。
ダウンロードしたファイルを展開すると、「Windows Server-2022-Security-Baseline-FINAL」といったフォルダが出現し、その中に以下のような構成が含まれています。
主なフォルダ構成
- Policy フォルダ
Group Policyオブジェクト(.infファイルや.admx/.admlなど)がまとめられています。 - Scripts フォルダ
Baseline-LocalInstall.ps1などのPowerShellスクリプトが配置されており、実行するとレジストリやグループポリシーを一括適用してくれます。 - Tools フォルダ
Microsoft公式の「LGPO.exe」ツールなどが含まれており、ローカルグループポリシーのインポートやエクスポートをスクリプトから行うために使用します。
Windows Server 2022 Security Baselineの導入手順
ここでは、実際にSecurity Baselineを導入するための具体的な手順を紹介します。ポイントは「PowerShellスクリプトを正しく実行し、環境に応じたスイッチ(パラメータ)を付けること」です。
1. PowerShellスクリプトの実行準備
まずはPowerShellのスクリプトを実行できるようにしておきましょう。既定では実行ポリシーが制限されている場合があります。
Set-ExecutionPolicy RemoteSigned
上記コマンドにより、ローカルスクリプトの実行が許可されます。管理者権限でPowerShellを開き、実行ポリシーを変更してください。
また、Security Compliance Toolkitのフォルダ内にある「LGPO.exe」は、スクリプトから呼び出されるツールです。下記のいずれかの方法で配置してください。
- Scriptsフォルダ配下のToolsサブフォルダに置く(Baseline-LocalInstall.ps1と同じ階層構造を保つ)
- システム環境変数PATHが通っているディレクトリに置く(例:C:\Windows\System32 など)
2. Baseline-LocalInstall.ps1の実行
Security Baselineの適用には「Scripts」フォルダ内にある Baseline-LocalInstall.ps1
を利用します。このスクリプトには、対象のOSやサーバー役割に合わせたスイッチを付けて実行します。
各種スイッチの説明
下記のスイッチを組み合わせることで、役割に適したベースラインを適用できます。
スイッチ名 | 用途 |
---|---|
-WSMember | Windows Server(メンバーサーバー)に適用 |
-WSNonDomainJoined | ドメインに参加していないWindows Serverに適用 |
-WSDomainController | ドメインコントローラーに適用 |
-Win10 or -Win11 | クライアントOS向け(Windows 10/11用のベースラインを適用) |
Windows Server 2022のメンバーサーバーに適用する場合は、下記コマンド例となります。
.\Baseline-LocalInstall.ps1 -WSMember
ドメインコントローラーに適用する場合は、必ず -WSDomainController
スイッチを指定します。
.\Baseline-LocalInstall.ps1 -WSDomainController
スイッチなしで実行するとエラーになるので注意してください。
3. 適用後の確認ポイント
ベースラインを適用したら、以下の点を確認しましょう。
- イベントビューアのログ
セキュリティ関連のログが正しく記録されるかどうかをチェックします。イベントビューアの「Windowsログ → セキュリティ」で監査ログの量や種類が増えていれば、ベースラインが適用されている可能性が高いです。 - ローカルセキュリティポリシーの確認
secpol.msc
(ローカルセキュリティポリシー)で、パスワードポリシー、監査ポリシー、ユーザー権限の割り当てなどが推奨値に変更されているか確認します。 - サーバーの動作テスト
役割に応じたサービス(例えばファイルサーバー、DNSサーバー、Webサーバーなど)が、セキュリティポリシー適用後も正常に動作しているかをテストします。
場合によってはベースラインで強化された設定が原因でアクセス制限がかかる可能性があるため、要件に合わない設定があれば微調整が必要です。
Central StoreへのADMXファイル配置
Security Compliance Toolkitには、グループポリシーを拡張するためのADMX/ADMLファイルが含まれています。ドメイン環境でこれらを活用する場合は、中央ストア(Central Store)に配置し、Active Directory全体で参照できるようにしましょう。
ドメイン環境での手順
ドメイン環境であれば、下記のようにSYSVOL配下のPolicyDefinitionsフォルダを利用するのが一般的です。
\\<ドメイン名>\SYSVOL\<ドメイン名>\Policies\PolicyDefinitions
- ドメインコントローラーにアクセスし、上記のネットワークパスを開きます。
- まだ「PolicyDefinitions」フォルダが存在しない場合は作成します。
- Security Compliance Toolkitの
.admx
ファイルと、それに対応する.adml
ファイルを「PolicyDefinitions」フォルダと該当する言語フォルダ(日本語の場合はja-JP
)にコピーします。
これによって、グループポリシー管理コンソール(GPMC)を任意のクライアントマシンで開いたときに、新しいポリシー項目が自動的に認識されるようになります。
PolicyDefinitionsフォルダの場所
- デフォルトパス:
\\<ドメイン名>\SYSVOL\<ドメイン名>\Policies\PolicyDefinitions
- 日本語言語ファイルの置き場所:
\\<ドメイン名>\SYSVOL\<ドメイン名>\Policies\PolicyDefinitions\ja-JP
- 英語言語ファイルの置き場所:
\\<ドメイン名>\SYSVOL\<ドメイン名>\Policies\PolicyDefinitions\en-US
上記のように言語ごとにフォルダ分けされているため、間違ったフォルダに置くとポリシーが正しく表示されない場合があります。
非ドメイン環境での手順
ドメインに参加していないスタンドアロンのサーバーやワークグループ環境では、以下のローカルパスに直接ADMXファイルを配置することでローカルグループポリシーエディタが新しいテンプレートを参照可能になります。
C:\Windows\PolicyDefinitions
こちらも日本語の場合は、C:\Windows\PolicyDefinitions\ja-JP
フォルダを使います。ローカル環境でのみポリシーを適用・管理するのであれば、この配置で問題ありません。
ドメインコントローラーでのエラー対策
ドメインコントローラー上でベースラインスクリプトを実行する際に「Access denied」や「権限が足りない」などのエラーが出る場合、以下の点を見直します。
スクリプト実行権限の確認
- 管理者権限でPowerShellを起動しているか
管理者権限のないセッションだと、ローカルポリシーやレジストリの変更権限が不足し、実行時エラーになる場合があります。 - 実行ポリシーの再確認
Get-ExecutionPolicy
で現在の状態を確認し、必要に応じてRemoteSigned
やUnrestricted
に変更します。
LGPO.exeの正しい配置
Security Compliance Toolkitに含まれるLGPO.exe
がScriptsフォルダ配下のToolsサブフォルダにない、またはPATHが通っていない場所にある場合、スクリプトがLGPO.exeを呼び出せずエラーが発生することがあります。
ツールの実行パスが合っているかを確認し、必要なら下記のように配置パスを修正してください。
# 例: Baseline-LocalInstall.ps1 と LGPO.exe のパス確認
.\Scripts\Baseline-LocalInstall.ps1
.\Tools\LGPO.exe
ベースライン導入時のよくある質問と対策
Security Baseline導入時にはいくつかありがちな疑問が生じます。ここでは代表的なものと対策をまとめます。
テスト環境での運用とロールバック
大規模組織や業務クリティカルなサーバーに対して、いきなり本番適用するのはリスクが高いです。そのため、まずはテスト用の検証環境を準備して適用し、各機能が正常に動作するかを確認することを推奨します。
ベースラインを適用して問題があった場合は、元のポリシーをバックアップしておき、以下の手順でロールバックします。
- 既存GPOのバックアップ
ベースラインを適用する前に、LGPO.exe /b
などでローカルポリシーのバックアップを取っておく。 - ロールバックの実行
何らかの不具合が起きた場合は、バックアップファイルを再適用する。または、先に取得しておいたシステムイメージからの復旧を行う。
他のSecurity Baselineとの併用
MicrosoftはWindows 10/11やMicrosoft Edgeなど、OSや製品別にSecurity Baselineを提供しています。サーバー環境でも、例えば「Windows Server 2022 Security Baseline」に加えて「Microsoft Defender for Endpoint」のベースラインを導入することがあります。
ただし、複数のベースラインを重複適用すると設定が競合し、ポリシーが上書きされる可能性があります。下記の点を意識してください。
- 同じポリシー項目に対して異なる値が設定されていないか
- 適用の優先度(ローカルポリシー vs ドメインGPO)を正しく把握しているか
- グループポリシーの継承関係の整理
基本的にはドメインGPO(組織単位やサイト)で構成するセキュリティ設定が優先されるケースが多いため、競合が発生しないように継承順序を管理することが大切です。
まとめ
Windows Server 2022 Security Baselineを導入することで、Microsoftが推奨するセキュリティ設定をまとめて適用でき、安全性と管理効率を高められます。導入時のポイントは以下の通りです。
- Security Compliance Toolkitをダウンロードして、必要なPowerShellスクリプトとLGPO.exeを取得する。
- 実行ポリシーの設定とスクリプトの配置を整え、
Baseline-LocalInstall.ps1
に正しいスイッチを付与して実行する。 - .admx/.admlファイルはドメイン環境なら中央ストアに配置し、組織全体で統一的にポリシーを管理する。
- テスト環境で十分検証した上で本番導入し、問題が発生した場合にロールバックできる体制を整えておく。
これらを守ることで、役割やドメインの有無に合わせた最適なセキュリティベースラインをスムーズに導入できます。サーバーの運用を強固にし、サイバー攻撃のリスクを低減するためにも、ぜひ導入を検討してみてください。
コメント