다음을 통해 공유


참조 컴퓨터를 사용하여 WDAC 정책 만들기

참고

Windows Defender 애플리케이션 제어의 일부 기능은 특정 Windows 버전에서만 사용할 수 있습니다. Windows Defender 애플리케이션 제어 기능 가용성에 대해 자세히 알아봅니다.

이 섹션에서는 허용하려는 소프트웨어로 이미 구성된 참조 컴퓨터를 사용하여 WDAC(Windows Defender 애플리케이션 제어) 정책을 만드는 프로세스를 간략하게 설명합니다. 이 방법은 특정 기능 용도 전용인 고정 워크로드 디바이스에 사용하고 동일한 기능 역할을 제공하는 다른 디바이스와 공통 구성 특성을 공유할 수 있습니다. 고정 워크로드 디바이스의 예로는 Active Directory 도메인 컨트롤러, 보안 관리자 워크스테이션, 제약 약물 혼합 장비, 제조 장치, 금전 등록기, ATM 등이 있습니다. 이 방법은 "야생" 시스템에서 WDAC를 켜고 사용자의 생산성에 미치는 잠재적 영향을 최소화하는 데 사용할 수도 있습니다.

참고

이 항목에 설명된 Windows Defender 애플리케이션 제어 옵션 중 일부는 Windows 10 버전 1903 이상 또는 Windows 11에서만 사용할 수 있습니다. 이 항목을 사용하여 조직의 WDAC 정책을 계획하는 경우 관리되는 클라이언트가 이러한 기능의 전부 또는 일부를 사용할 수 있는지 여부를 고려하고 클라이언트에서 사용할 수 없는 기능에 대한 영향을 평가합니다. 특정 조직의 요구 사항에 맞게 이 지침을 조정해야 할 수 있습니다.

일반적인 Windows Defender 애플리케이션 제어 배포 시나리오에서 설명한 대로 Lamna Healthcare Company(Lamna)의 예제를 사용하여 이 시나리오를 설명합니다. Lamna는 원치 않거나 권한이 없는 애플리케이션이 관리되는 디바이스에서 실행되지 않도록 애플리케이션 제어를 사용하는 등 더 강력한 애플리케이션 정책을 채택하려고 합니다.

Alice Pena 는 WDAC 출시를 담당하는 IT 팀 리더입니다.

참조 디바이스를 사용하여 사용자 지정 기본 정책 만들기

Alice는 이전에 조직의 완전 관리형 최종 사용자 디바이스에 대한 정책을 만들었습니다. 이제 WDAC를 사용하여 Lamna의 중요한 인프라 서버를 보호하려고 합니다. 인프라 시스템에 대한 Lamna의 이미징 사례는 이상적인 시스템이 어떻게 생겼는지에 대한 참조로 "골든" 이미지를 설정한 다음, 해당 이미지를 사용하여 더 많은 회사 자산을 복제하는 것입니다. Alice는 이러한 동일한 "골든" 이미지 시스템을 사용하여 WDAC 정책을 만들기로 결정하여 각 인프라 서버 유형에 대해 별도의 사용자 지정 기본 정책을 만듭니다. 이미징과 마찬가지로 모델, 부서, 애플리케이션 집합 등을 기반으로 여러 골든 컴퓨터에서 정책을 만들어야 합니다.

참고

참조 컴퓨터가 바이러스 및 맬웨어로부터 보호가 되고 WDAC 정책을 만들기 전에 검사하고자 하는 소프트웨어가 설치되었는지 확인합니다.

이 정책을 만들기 전에 설치된 소프트웨어의 각 부분이 신뢰할 수 있는 것으로 확인되어야 합니다.

임의의 DLL을 로드하고 PC를 더욱 취약하게 만드는 코드나 스크립트를 실행할 수 있는 소프트웨어용 참조 컴퓨터를 검토하는 것이 좋습니다. 예를 들어 스크립트를 실행하지 않으려는 경우 제거할 수 있는 msbuild.exe(Visual Studio 및 .NET Framework의 일부)와 같은 개발 또는 스크립팅을 대상으로 하는 소프트웨어가 있습니다. 참조 컴퓨터에서 이러한 소프트웨어를 제거하거나 비활성화할 수 있습니다.

Alice는 Lamna의 중요한 인프라 서버에 대한 "신뢰 원"에 도달하는 다음과 같은 주요 요소를 식별합니다.

  • 모든 디바이스가 Windows Server 2019 이상을 실행하고 있습니다.
  • 모든 앱은 중앙에서 관리되고 배포됩니다.
  • 대화형 사용자가 없습니다.

위의 내용에 따라 Alice는 정책에 대한 의사 규칙을 정의합니다.

  1. 권한을 부여하는 "Windows 작동" 규칙:

    • Windows
    • WHQL(타사 커널 드라이버)
    • Windows 스토어 서명된 앱
  2. 디바이스에 있는 모든 기존 앱 이진 파일에 권한을 부여하는 검사된 파일에 대한 규칙

WDAC 정책을 만들기 위해 Alice는 관리자 권한 Windows PowerShell 세션에서 다음 명령을 각각 순서대로 실행합니다.

  1. 변수를 초기화합니다.

    $PolicyPath=$env:userprofile+"\Desktop\"
    $PolicyName="FixedWorkloadPolicy_Audit"
    $LamnaServerPolicy=$PolicyPath+$PolicyName+".xml"
    $DefaultWindowsPolicy=$env:windir+"\schemas\CodeIntegrity\ExamplePolicies\DefaultWindows_Audit.xml"
    
  2. New-CIPolicy를 사용하여 설치된 응용 프로그램의 시스템을 검사하여 새 WDAC 정책을 만듭니다.

    New-CIPolicy -FilePath $LamnaServerPolicy -Level SignedVersion -Fallback FilePublisher,FileName,Hash -ScanPath c:\ -UserPEs -MultiplePolicyFormat -OmitPaths c:\Windows,'C:\Program Files\WindowsApps\',c:\windows.old\,c:\users\ 3> CIPolicyLog.txt
    

    참고

    • -Fallback 매개 변수를 추가하여 -Level 매개 변수로 지정된 기본 파일 규칙 수준을 사용하여 검색되지 않은 응용 프로그램을 catch할 수 있습니다. 파일 규칙 수준 옵션에 대한 자세한 내용은 Windows Defender 애플리케이션 제어 파일 규칙 수준을 참조하세요.
    • WDAC 정책 검사에서 특정 드라이브만 검사하도록 지정하려면 경로 앞에 -ScanPath 매개 변수를 포함합니다. 이 매개 변수가 없으면 도구는 기본적으로 C 드라이브를 검색합니다.
    • 검사에서 사용자 모드 실행 파일을 포함하도록 -UserPEs 매개 변수를 지정하면 규칙 옵션 0 Enabled:UMCI가 WDAC 정책에 자동으로 추가됩니다. -UserPE를 지정하지 않으면 정책에 사용자 모드 실행 파일이 비어 있고 드라이버와 같은 커널 모드 이진 파일에 대한 규칙만 있습니다. 즉, 허용 목록에는 애플리케이션이 포함되지 않습니다. 이러한 정책을 만들고 나중에 규칙 옵션 0 Enabled:UMCI를 추가하는 경우 응용 프로그램 시작하려고 시도할 때마다 Windows Defender 응용 프로그램 제어가 대응합니다. 감사 모드에서는 이벤트를 로깅하는 것으로 대응하고 적용 모드에서는 응용 프로그램을 차단하는 것으로 대응합니다.
    • 추가 정책 지원을 포함하여 Windows 10 1903 이상에 대한 정책을 만들려면 -MultiplePolicyFormat을 사용합니다.
    • 검사에서 제외할 경로 목록을 지정하려면 -OmitPaths 옵션을 사용하고 쉼표로 구분된 경로 목록을 제공합니다.
    • 앞의 예제에는 3> CIPolicylog.txt가 포함되어 경고 메시지가 텍스트 파일 CIPolicylog.txt로 리디렉션됩니다.
  3. 새 정책을 WindowsDefault_Audit 정책과 병합하여 모든 Windows 이진 파일 및 커널 드라이버가 로드되도록 합니다.

    Merge-CIPolicy -OutputFilePath $LamnaServerPolicy -PolicyPaths $LamnaServerPolicy,$DefaultWindowsPolicy
    
  4. 새 정책에 설명이 포함된 이름과 초기 버전 번호를 지정합니다.

    Set-CIPolicyIdInfo -FilePath $LamnaServerPolicy -PolicyName $PolicyName
    Set-CIPolicyVersion -FilePath $LamnaServerPolicy -Version "1.0.0.0"
    
  5. 병합된 정책을 수정하여 정책 규칙을 설정합니다.

    Set-RuleOption -FilePath $LamnaServerPolicy -Option 3 # Audit Mode
    Set-RuleOption -FilePath $LamnaServerPolicy -Option 6 # Unsigned Policy
    Set-RuleOption -FilePath $LamnaServerPolicy -Option 9 # Advanced Boot Menu
    Set-RuleOption -FilePath $LamnaServerPolicy -Option 12 # Enforce Store Apps
    Set-RuleOption -FilePath $LamnaServerPolicy -Option 16 # No Reboot
    Set-RuleOption -FilePath $LamnaServerPolicy -Option 17 # Allow Supplemental
    Set-RuleOption -FilePath $LamnaServerPolicy -Option 19 # Dynamic Code Security
    
  6. 적절한 경우 더 많은 서명자 또는 파일 규칙을 추가하여 조직의 정책을 추가로 사용자 지정합니다.

  7. ConvertFrom-CIPolicy를 사용하여 WDAC 정책을 이진 형식으로 변환합니다.

    [xml]$LamnaServerPolicyXML = Get-Content $LamnaServerPolicy
    $PolicyId = $LamnaServerPolicyXML.SiPolicy.PolicyId
    $LamnaServerPolicyBin = $PolicyPath+$PolicyId+".cip"
    ConvertFrom-CIPolicy $LamnaServerPolicy $LamnaServerPolicyBin
    
  8. 기본 정책 XML 및 연결된 이진 파일을 GitHub 와 같은 소스 제어 솔루션 또는 Office 365 SharePoint와 같은 문서 관리 솔루션에 업로드합니다.

Alice는 이제 감사 모드에서 배포할 준비가 된 Lamna의 중요한 인프라 서버에 대한 초기 정책을 가지고 있습니다.

사용 중인 클라이언트 디바이스에 대한 사용자 영향을 최소화하는 사용자 지정 기본 정책 만들기

Alice는 이전에 조직의 완전 관리형 디바이스에 대한 정책을 만들었습니다. Alice는 Lamna의 디바이스 빌드 프로세스의 일부로 완전 관리형 디바이스 정책을 포함했으므로 이제 모든 새 디바이스가 WDAC 사용으로 시작됩니다. 이미 사용 중인 시스템에 정책을 배포할 준비를 하고 있지만 사용자의 생산성이 저하되는 것을 우려하고 있습니다. 이러한 위험을 최소화하기 위해 Alice는 이러한 시스템에 대해 다른 접근 방식을 취하기로 결정합니다. 그녀는 계속해서 감사 모드에서 완전히 관리되는 디바이스 정책을 해당 디바이스에 배포하지만, 적용 모드의 경우 이전에 설치된 모든 소프트웨어에 대해 디바이스를 검사하여 만든 정책과 완전 관리형 디바이스 정책 규칙을 병합합니다. 이러한 방식으로 각 디바이스는 자체 "골든" 시스템으로 처리됩니다.

Alice는 Lamna의 완전 관리형 사용 중인 디바이스에 대한 "신뢰 원"에 도달하는 다음과 같은 주요 요소를 식별합니다.

위의 내용에 따라 Alice는 정책에 대한 의사 규칙을 정의합니다.

  1. 완전 관리형 디바이스 정책에 포함된 모든 항목
  2. 디바이스에 있는 모든 기존 앱 이진 파일에 권한을 부여하는 검사된 파일에 대한 규칙

Lamna의 기존 사용 중인 디바이스의 경우 Alice는 변환된 WDAC 정책 이진이 아닌 완전 관리형 디바이스 정책 XML과 함께 스크립트를 배포합니다. 그런 다음 스크립트는 이전 섹션에 설명된 대로 클라이언트에서 로컬로 사용자 지정 정책을 생성하지만 DefaultWindows 정책과 병합하는 대신 스크립트는 Lamna의 완전 관리형 디바이스 정책과 병합됩니다. 또한 Alice는 이러한 다양한 사용 사례의 요구 사항에 맞게 위의 단계를 수정합니다.