ラボの解答集: Windows Server でのセキュリティの構成

            **メモ:** このラボをご自分のペースでクリックして進めることができる、 **[ラボの対話型シミュレーション](https://mslabs.cloudguides.com/guides/AZ-801%20Lab%20Simulation%20-%20Configuring%20security%20in%20Windows%20Server)** が用意されています。 対話型シミュレーションとホストされたラボの間に若干の違いがある場合がありますが、示されている主要な概念とアイデアは同じです。 

演習 1: Windows Defender Credential Guard の構成

: ラボ環境では、前提条件を満たしていないため、Credential Guard は VM で使用できません。 ただし、このことが、グループ ポリシーを使用して実装し、対応するツールを使用してその準備状況を評価するというプロセスを実行することの妨げになることはありません。

タスク 1: グループ ポリシーを使用して Windows Defender Credential Guard を有効にする

  1. SEA-SVR2 に接続し、必要であればパスワード Pa55w.rd を使用して CONTOSO\Administrator としてサインインします。
  2. [スタート] ボタンの横にある [ここに入力して検索] テキスト ボックスに、「グループ ポリシーの管理」と入力します。
  3. 結果の一覧で [グループ ポリシーの管理] を選択します。
  4. グループ ポリシー管理コンソールで、 [フォレスト: contoso.com] を展開し、 [ドメイン] を展開し、contoso.com を展開します。 [IT] 組織単位 (OU) を右クリックしてコンテキスト メニューにアクセスして、 [このドメインに GPO を作成し、このコンテナーにリンクする] を選択します。
  5. [新しい GPO] ダイアログ ボックスの [名前] テキスト ボックスに「CredentialGuard_GPO」と入力し、[OK] をクリックします。
  6. [グループ ポリシーの管理] ウィンドウの [IT] の下にある [CredentialGuard_GPO] を右クリックしてコンテキスト メニューにアクセスして、 [編集] を選択します。
  7. グループ ポリシー管理エディターで、 [コンピューターの構成]\[ポリシー]\[管理用テンプレート]\[システム]\[Device Guard] を参照します。
  8. [仮想化ベースのセキュリティを有効にする] を選択し、 [ポリシー設定] リンクを選択します。
  9. [仮想化ベースのセキュリティを有効にする] ウィンドウで、[有効] オプションを選択します。
  10. [プラットフォームのセキュリティ レベルを選択する] ドロップダウン リストで、*[Secure Boot and DMA Protection](セキュア ブートと DMA 保護)* というエントリが選択されている必要があります。
  11. [Credential Guard の構成] ドロップダウン リストで、[UEFI ロックで有効化] というエントリを選択します。
  12. Secure Launch Configuration ドロップダウン リストで、[有効] のエントリ を選択し、[OK] を選択します。
  13. [グループ ポリシー管理エディター] ウィンドウを閉じます。
  14. [グループ ポリシー管理] コンソール ウィンドウを閉じます。

タスク 2: Hypervisor-Protected Code Integrity (HVCI) と Windows Defender Credential Guard ハードウェア準備ツールを使用して Windows Defender Credential Guard を有効にする

  1. SEA-SVR2 で、 [スタート] を選択し、Windows PowerShell を右クリックしてコンテキスト メニューにアクセスして、 [管理者として実行] を選択します。
  2. HVCI と Windows Defender Credential Guard ハードウェア準備ツールを実行するには、Windows PowerShell コマンド プロンプトで次のコマンドを入力し、最初のプロンプトでは [[R] Run once] を選択し、残りのプロンプトでは Enter キーを押します。

    Set-Location -Path C:\Labfiles\Lab01\
    .\DG_Readiness_Tool.ps1 -Enable -AutoReboot
    
  3. ツールの実行が完了するまで待ち、メッセージが表示されたら、 [サインアウトしようとしています] ダイアログ ボックスで [閉じる] を選択します。

    : オペレーティング システムが再起動します。

  4. 再起動が完了したら、SEA-SVR2CONTOSO\Administrator としてサインインし直します。パスワード Pa55w.rd を使用します。

演習 2: 問題のあるアカウントの検出

タスク 1: 無期限のパスワードを持つドメイン アカウントを検出して再構成する

  1. SEA-SVR2 で、 [スタート] を選択し、Windows PowerShell を右クリックしてコンテキスト メニューにアクセスして、 [管理者として実行] を選択します。
  2. 無期限のパスワードを持つ Active Directory 対応ユーザー アカウントを一覧表示するために、Windows PowerShell コマンド プロンプトで次のコマンドを入力し、Enter キーを押します。

    Get-ADUser -Filter {Enabled -eq $true -and PasswordNeverExpires -eq $true}
    
  3. 返されたユーザー アカウントの一覧を確認します。
  4. 結果セット内のすべてのユーザー アカウントに対してパスワードの有効期限を有効にするために、Windows PowerShell コマンド プロンプトで次のコマンドを入力し、Enter キーを押します。

    Get-ADUser -Filter {Enabled -eq $true -and PasswordNeverExpires -eq $true} | Set-ADUser -PasswordNeverExpires $false
    
  5. 結果を確認するために、手順 2. のコマンドを再実行します。結果が返されないことに注目してください。

タスク 2: 少なくとも 90 日間はサインインに使用されていないドメイン アカウントを検出して無効にする

  1. 少なくとも 90 日間はサインインに使用されていない Active Directory ユーザー アカウントを特定するために、Windows PowerShell コマンド プロンプトで次のコマンドを入力し、Enter キーを押します。

    $days = (Get-Date).AddDays(-90)
    Get-ADUser -Filter {LastLogonTimeStamp -lt $days -and enabled -eq $true} -Properties LastLogonTimeStamp
    

    : このラボ環境では、結果は返されません。

  2. 少なくとも 90 日間はサインインに使用されていない Active Directory ユーザー アカウントを無効にするために、次のコマンドを入力して Enter キーを押します。

    Get-ADUser -Filter {LastLogonTimeStamp -lt $days -and enabled -eq $true} -Properties LastLogonTimeStamp | Disable-ADAccount
    

    : このラボ環境では、結果は返されません。

演習 3: LAPS の実装

タスク 1: LAPS (ローカル管理者パスワード ソリューション) の実装用にコンピューター アカウントを準備する

  1. 指定の OU を作成し、SEA-SVR1 コンピューター アカウントをその OU に移動するために、SEA-SVR2 の Windows PowerShell コマンド プロンプトで次のコマンドを入力し、Enter キーを押します。

    New-ADOrganizationalUnit -Name "Seattle_Servers"
    Get-ADComputer SEA-SVR1 | Move-ADObject –TargetPath "OU=Seattle_Servers,DC=Contoso,DC=com"
    
  2. LAPS をインストールするために、Windows PowerShell コマンド プロンプトで次のコマンドを入力し、Enter キーを押します。

    Msiexec /i C:\Labfiles\Lab01\LAPS.x64.msi
    
  3. Local Administrator Password Solution Setup ウィザードの [Welcome to the Local Administrator Password Solution Setup Wizard] ページで [Next] を選択します。
  4. Local Administrator Password Solution Setup ウィザードの [End-User License Agreement] ページで、[I accept the terms in the License Agreement] を選択し、[Next] を選択します。
  5. Local Administrator Password Solution Setup ウィザードの [Custom Setup] ページで、[Management Tools] の横にあるドロップダウン メニューで [Entire feature will be installed on the local hard drive] を選択し、[Next] を選択します。
  6. Local Administrator Password Solution Setup ウィザードの [Ready to install Local Administrator Password Solution] ページで [Next] を選択します。
  7. インストールが完了したら、Local Administrator Password Solution Setup ウィザードの最後のページで [Finish] を選択します。
  8. Windows Defender ファイアウォールで他のドメイン参加サーバーからの受信サーバー メッセージ ブロック (SMB) 接続を許可する高度なセキュリティ規則を有効にするために、Windows PowerShell コマンド プロンプトで次のコマンドを入力し、それぞれの後で Enter キーを押します。

    $rule = Get-NetFirewallRule | Where-Object DisplayName -eq 'File and Printer Sharing (SMB-In)' 
    $rule | Set-NetFirewallRule -Profile Domain
    $rule | Enable-NetFirewallRule
    

    : これは、このラボで後ほど SEA-SVR1 から SEA-SVR2 に接続するために必要です。

タスク 2: LAPS 用に AD DS を準備する

  1. LAPS 用にドメインを準備するために、SEA-SVR2 の Windows PowerShell コマンド プロンプトで次のコマンドを入力し、それぞれの後に Enter キーを押します。

    Import-Module admpwd.ps
    Update-AdmPwdADSchema
    Set-AdmPwdComputerSelfPermission -Identity "Seattle_Servers"
    
  2. SEA-SVR2 で、[スタート] ボタンの横にある [ここに入力して検索] テキスト ボックスに、「グループ ポリシーの管理」と入力します。
  3. 結果の一覧で [グループ ポリシーの管理] を選択します。
  4. グループ ポリシー管理コンソールで、 [フォレスト: contoso.com] を展開し、 [ドメイン] を展開し、contoso.com を展開します。Seattle_Servers OU を右クリックしてコンテキスト メニューにアクセスして、 [このドメインに GPO を作成し、このコンテナーにリンクする] を選択します。
  5. [新しい GPO] ダイアログ ボックスの [名前] テキスト ボックスに「LAPS_GPO」と入力し、[OK] をクリックします。
  6. [グループ ポリシーの管理] ウィンドウの [Seattle_Servers] の下にある [LAPS_GPO] を右クリックしてコンテキスト メニューにアクセスして、[編集] を選択します。
  7. [グループ ポリシー管理エディター] ウィンドウの [コンピューターの構成] で、[ポリシー] ノードを展開し、[管理用テンプレート] ノードを展開して、[LAPS] を選択します。
  8. [ローカル管理者のパスワード管理を有効にする] ポリシーを選択し、[ポリシー設定] リンクを選択します。
  9. [ローカル管理者のパスワード管理を有効にする] ウィンドウで、[有効] を選択し、[OK] を選択します。
  10. [パスワードの設定] を選択し、[ポリシー設定] リンクを選択します。
  11. [パスワードの設定] ポリシー ダイアログ ボックスで、[有効] を選択し、[パスワードの長さ][20] に構成します。
  12. Password Age (Days)[30] に構成されていることを確認し、[OK] を選択します。
  13. グループ ポリシー管理エディターを閉じます。

タスク 3: LAPS クライアント側拡張をデプロイする

  1. SEA-SVR1 のコンソール セッションに切り替え、必要に応じて、Pa55w.rd のパスワードを使用して CONTOSO\Administrator としてサインインします。

    注: パスワードの有効期限を有効にするスクリプトを前の演習で実行した結果として、パスワードを変更するように求められます。 任意のパスワードを選択し、ラボの残りの部分で使用します。

  2. サインインしたら、Windows PowerShell コマンド プロンプトにアクセスするために、SConfig メニュー プロンプトで「15」と入力して、Enter キーを押します。

    : PowerShell からメモ帳を開くには、「メモ帳」と入力し、Enter キーを押します。

  3. 既定の設定を使用して LAPS をサイレント モードでインストールするために、Windows PowerShell コマンド プロンプトで次のコマンドを入力し、Enter キーを押します。

    Start-Process msiexec.exe -Wait -ArgumentList '/i \\SEA-SVR2.contoso.com\c$\Labfiles\Lab01\LAPS.x64.msi /quiet'
    
  4. LAPS 設定をローカルに適用するグループ ポリシーの処理をトリガーするために、Windows PowerShell コマンド プロンプトで次のコマンドを入力し、Enter キーを押します。

    gpupdate /force
    

タスク 4: LAPS を確認する

  1. SEA-SVR2 のコンソール セッションに切り替えます。
  2. [スタート] を選択します。 [スタート] メニューで [LAPS] を選択し、 [LAPS UI] を選択します。
  3. [LAPS UI] ダイアログ ボックスの [コンピューター名] ボックスに「SEA-SVR1」と入力して、 [検索] を選択します。
  4. [パスワード][パスワードの有効期限] の値を確認し、 [終了] を選択します。
  5. Windows PowerShell コンソールに切り替えてから、パスワードの値を確認するために、Windows PowerShell コマンド プロンプトで次のコマンドを入力し、Enter キーを押します。

    Get-ADComputer -Identity SEA-SVR1 -Properties ms-Mcs-AdmPwd
    
  6. SEA-SVR1 に割り当てられているパスワードを確認し、LAPS UI ツールに表示されていたものと一致していることに注目します。

    注: この場合、パスワードの値は中かっこのペアで囲まれています。