다음을 통해 공유


Windows Defender 애플리케이션 제어를 사용하여 관리되는 설치 관리자가 배포한 앱 자동 허용

참고

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

WDAC(Windows Defender Application Control)에는 애플리케이션 제어 정책을 적용할 때 보안 및 관리 효율성의 균형을 맞추는 데 도움이 되는 관리형 설치 관리자 라는 옵션이 포함되어 있습니다. 이 옵션을 사용하면 MEMCM(Microsoft Configuration Manager) 또는 Microsoft Intune과 같은 지정된 소프트웨어 배포 솔루션에 의해 설치된 애플리케이션을 자동으로 허용할 수 있습니다.

관리형 설치 관리자는 어떻게 작동하나요?

관리되는 설치 관리자는 AppLocker 의 특수 규칙 컬렉션을 사용하여 조직에서 신뢰할 수 있는 이진 파일을 애플리케이션 설치를 위한 권한 있는 원본으로 지정합니다. 이러한 신뢰할 수 있는 이진 파일 중 하나가 실행되면 Windows는 이진 파일의 프로세스(그리고 이진 프로세스가 시작되는 모든 자식 프로세스)를 모니터링하고 디스크에 기록되는 파일을 감시합니다. 파일이 작성되면 관리되는 설치 관리자에서 시작된 것으로 태그가 지정됩니다.

그런 다음 WDAC 정책에 "Enabled:Managed Installer" 옵션을 추가하여 관리되는 설치 관리자가 설치한 파일을 신뢰하도록 WDAC를 구성할 수 있습니다. 이 옵션을 설정하면 WDAC는 이진 파일 실행을 허용할지 여부를 결정할 때 관리되는 설치 관리자 원본 정보를 확인합니다. 이진에 대한 거부 규칙이 없는 한 WDAC는 관리되는 설치 관리자 원본을 기반으로 실행하도록 허용합니다.

관리형 설치 관리자의 보안 고려 사항

관리되는 설치 관리자는 추론 기반 메커니즘이므로 명시적 허용 또는 거부 규칙과 동일한 보안 보장을 제공하지 않습니다. 관리형 설치 관리자는 사용자가 표준 사용자로 작동하는 위치와 MEMCM과 같은 소프트웨어 배포 솔루션에 의해 모든 소프트웨어가 배포 및 설치되는 위치에 가장 적합합니다.

관리자 권한이 있는 사용자 또는 시스템에서 관리자 사용자로 실행되는 맬웨어는 관리되는 설치 관리자 옵션이 허용되는 경우 WDAC 정책의 의도를 우회할 수 있습니다.

관리되는 설치 관리자 프로세스가 표준 권한이 있는 사용자의 컨텍스트에서 실행되는 경우 표준 사용자로 실행되는 표준 사용자 또는 맬웨어가 WDAC 정책의 의도를 우회할 수 있습니다.

일부 애플리케이션 설치 관리자는 설치 프로세스가 끝날 때 애플리케이션을 자동으로 실행할 수 있습니다. 애플리케이션이 자동으로 실행되고 설치 관리자가 관리되는 설치 관리자에 의해 실행된 경우 관리되는 설치 관리자의 추론 추적 및 권한 부여는 애플리케이션의 첫 번째 실행 중에 생성된 모든 파일로 확장됩니다. 이 확장은 실행 파일의 의도하지 않은 권한 부여를 초래할 수 있습니다. 이를 방지하려면 관리되는 설치 관리자로 사용되는 애플리케이션 배포 방법이 설치의 일부로 애플리케이션을 실행하는 것을 제한해야 합니다.

설치 관리자와 관련하여 알려진 제한

  • 관리되는 설치 관리자를 기반으로 하는 애플리케이션 제어는 자체 업데이트하는 애플리케이션을 지원하지 않습니다. 관리되는 설치 관리자에 의해 배포된 애플리케이션이 나중에 자체 업데이트되는 경우 업데이트된 애플리케이션 파일에는 관리되는 설치 관리자의 원본 정보가 포함되지 않으며 실행되지 않을 수 있습니다. 관리되는 설치 관리자를 사용하는 경우 관리되는 설치 관리자를 사용하여 모든 애플리케이션 업데이트를 배포 및 설치하거나 WDAC 정책에서 앱에 권한을 부여하는 규칙을 포함해야 합니다. 경우에 따라 자체 업데이트를 관리하는 설치 관리자로 수행하는 애플리케이션 이진 파일을 지정할 수도 있습니다. 이 방법을 사용하기 전에 응용 프로그램의 기능과 보안을 꼼꼼하게 검토해야 합니다.

  • 일부 애플리케이션 또는 설치 관리자는 이진 파일을 추출, 다운로드 또는 생성하고 즉시 실행하려고 시도할 수 있습니다. 이러한 프로세스에서 실행하는 파일은 관리되는 설치 관리자 추론에서 허용되지 않을 수 있습니다. 경우에 따라 관리형 설치 관리자 같은 작업을 수행하는 응용 프로그램을 지정할 수도 있습니다. 이 방법을 사용하기 전에 응용 프로그램의 기능과 보안을 꼼꼼하게 검토해야 합니다.

  • 관리되는 설치 관리자 추론은 커널 드라이버에 권한을 부여하지 않습니다. WDAC 정책에는 필요한 드라이버를 실행하도록 허용하는 규칙이 있어야 합니다.

AppLocker 및 WDAC를 사용하여 관리되는 설치 관리자 추적 구성

관리되는 설치 관리자 추적을 켜려면 다음을 수행해야 합니다.

  • 관리되는 설치 관리자 규칙을 정의하고 실행 파일 및 DLL에 대한 서비스 적용을 사용하도록 설정하는 AppLocker 정책을 만들고 배포합니다.
  • AppLocker의 애플리케이션 ID 및 AppLockerFltr 서비스를 사용하도록 설정합니다.

참고

아래의 관리되는 설치 관리자 AppLocker 정책은 기존 AppLocker 정책과 안전하게 병합되도록 설계되었으며 해당 정책의 동작은 변경되지 않습니다. 그러나 현재 AppLocker 정책이 없는 디바이스에 적용하면 AppLocker - EXE 및 DLL 이벤트 로그에서 생성된 경고 이벤트가 크게 증가합니다. LogAnalytics와 같은 이벤트 전달 및 컬렉션 서비스를 사용하는 경우 해당 이벤트 로그에 대한 구성을 조정하여 오류 이벤트만 수집하거나 해당 로그에서 이벤트 수집을 완전히 중지할 수 있습니다.

참고

MEMCM은 자동으로 관리되는 설치 관리자로 구성되고, 받은 편지함 WDAC 정책 중 하나를 배포하는 경우 필요한 AppLocker 구성 요소를 사용하도록 설정합니다. 다른 방법을 사용하여 MEMCM을 관리형 설치 관리자로 구성하는 경우 추가 설정이 필요합니다. ccmsetup.exe 설정에서 ManagedInstaller cmdline 스위치를 사용합니다. 또는 사용자 지정 정책과 함께 MEMCM 받은 편지함 감사 모드 정책 중 하나를 배포할 수 있습니다.

관리되는 설치 관리자 규칙을 정의하고 실행 파일 및 DLL에 대한 서비스 적용을 사용하도록 설정하는 AppLocker 정책 만들기 및 배포

GPO 편집기 및 AppLocker PowerShell cmdlet의 AppLocker 정책 만들기 UI는 관리되는 설치 관리자 규칙 컬렉션에 대한 규칙을 만드는 데 직접 사용할 수 없습니다. 그러나 XML 또는 텍스트 편집기를 사용하여 EXE 규칙 컬렉션 정책을 ManagedInstaller 규칙 컬렉션으로 변환할 수 있습니다.

참고

EXE 파일 형식만 관리되는 설치 관리자로 지정할 수 있습니다.

  1. New-AppLockerPolicy를 사용하여 관리되는 설치 관리자로 지정하는 파일에 대한 EXE 규칙을 만듭니다. 이 예제에서는 게시자 규칙 유형을 사용하여 Microsoft의 Intune 관리 확장에 대한 규칙을 만들지만 모든 AppLocker 규칙 형식을 사용할 수 있습니다. 가독성을 위해 출력의 서식을 다시 지정해야 할 수 있습니다.

    Get-ChildItem ${env:ProgramFiles(x86)}'\Microsoft Intune Management Extension\Microsoft.Management.Services.IntuneWindowsAgent.exe' | Get-AppLockerFileInformation | New-AppLockerPolicy -RuleType Publisher -User Everyone -Xml > AppLocker_MI_PS_ISE.xml
    
  2. 규칙 컬렉션 형식을 "Exe"에서 "ManagedInstaller"로 수동으로 변경하고 EnforcementMode를 "AuditOnly"로 설정합니다.

    변경:

    <RuleCollection Type="Exe" EnforcementMode="NotConfigured">
    

    받는 사람:

    <RuleCollection Type="ManagedInstaller" EnforcementMode="AuditOnly">
    
  3. AppLocker 정책을 수동으로 편집하고 각각에 대해 하나 이상의 규칙을 사용하여 EXE 및 DLL 규칙 컬렉션을 추가합니다. 이미 활성 AppLocker 정책이 있을 수 있는 시스템에 정책을 안전하게 적용할 수 있도록 하려면 양성 DENY 규칙을 사용하여 가짜 이진 파일을 차단하고 규칙 컬렉션의 EnforcementMode를 AuditOnly로 설정하는 것이 좋습니다. 또한 많은 설치 프로세스가 서비스를 사용하므로 각 규칙 컬렉션에 대해 서비스 추적을 사용하도록 설정해야 합니다. 다음 예제에서는 EXE 및 DLL 규칙 컬렉션이 권장으로 구성된 부분 AppLocker 정책을 보여줍니다.

    <RuleCollection Type="Dll" EnforcementMode="AuditOnly" >
      <FilePathRule Id="86f235ad-3f7b-4121-bc95-ea8bde3a5db5" Name="Benign DENY Rule" Description="" UserOrGroupSid="S-1-1-0" Action="Deny">
        <Conditions>
          <FilePathCondition Path="%OSDRIVE%\ThisWillBeBlocked.dll" />
        </Conditions>
      </FilePathRule>
      <RuleCollectionExtensions>
        <ThresholdExtensions>
          <Services EnforcementMode="Enabled" />
        </ThresholdExtensions>
        <RedstoneExtensions>
          <SystemApps Allow="Enabled"/>
        </RedstoneExtensions>
      </RuleCollectionExtensions>
    </RuleCollection>
    <RuleCollection Type="Exe" EnforcementMode="AuditOnly">
      <FilePathRule Id="9420c496-046d-45ab-bd0e-455b2649e41e" Name="Benign DENY Rule" Description="" UserOrGroupSid="S-1-1-0" Action="Deny">
        <Conditions>
          <FilePathCondition Path="%OSDRIVE%\ThisWillBeBlocked.exe" />
        </Conditions>
      </FilePathRule>
      <RuleCollectionExtensions>
        <ThresholdExtensions>
          <Services EnforcementMode="Enabled" />
        </ThresholdExtensions>
        <RedstoneExtensions>
          <SystemApps Allow="Enabled"/>
        </RedstoneExtensions>
      </RuleCollectionExtensions>
    </RuleCollection>
    
  4. AppLocker 정책을 확인합니다. 다음 예제에서는 Configuration Manager 및 Microsoft Intune을 관리형 설치 관리자로 설정하는 전체 AppLocker 정책을 보여 있습니다. 실제 규칙이 정의된 AppLocker 규칙 컬렉션만 최종 XML에 포함됩니다. 이 조건 기반 포함은 이미 AppLocker 정책이 있을 수 있는 디바이스에서 정책이 성공적으로 병합되도록 합니다.

    <AppLockerPolicy Version="1">
      <RuleCollection Type="Dll" EnforcementMode="AuditOnly" >
        <FilePathRule Id="86f235ad-3f7b-4121-bc95-ea8bde3a5db5" Name="Benign DENY Rule" Description="" UserOrGroupSid="S-1-1-0" Action="Deny">
          <Conditions>
            <FilePathCondition Path="%OSDRIVE%\ThisWillBeBlocked.dll" />
          </Conditions>
        </FilePathRule>
        <RuleCollectionExtensions>
          <ThresholdExtensions>
            <Services EnforcementMode="Enabled" />
          </ThresholdExtensions>
          <RedstoneExtensions>
            <SystemApps Allow="Enabled"/>
          </RedstoneExtensions>
        </RuleCollectionExtensions>
      </RuleCollection>
      <RuleCollection Type="Exe" EnforcementMode="AuditOnly">
        <FilePathRule Id="9420c496-046d-45ab-bd0e-455b2649e41e" Name="Benign DENY Rule" Description="" UserOrGroupSid="S-1-1-0" Action="Deny">
          <Conditions>
            <FilePathCondition Path="%OSDRIVE%\ThisWillBeBlocked.exe" />
          </Conditions>
        </FilePathRule>
        <RuleCollectionExtensions>
          <ThresholdExtensions>
            <Services EnforcementMode="Enabled" />
          </ThresholdExtensions>
          <RedstoneExtensions>
            <SystemApps Allow="Enabled"/>
          </RedstoneExtensions>
        </RuleCollectionExtensions>
      </RuleCollection>
      <RuleCollection Type="ManagedInstaller" EnforcementMode="AuditOnly">
        <FilePublisherRule Id="55932f09-04b8-44ec-8e2d-3fc736500c56" Name="MICROSOFT.MANAGEMENT.SERVICES.INTUNEWINDOWSAGENT.EXE version 1.39.200.2 or greater in MICROSOFT&reg; INTUNE&trade; from O=MICROSOFT CORPORATION, L=REDMOND, S=WASHINGTON, C=US" Description="" UserOrGroupSid="S-1-1-0" Action="Allow">
          <Conditions>
              <FilePublisherCondition PublisherName="O=MICROSOFT CORPORATION, L=REDMOND, S=WASHINGTON, C=US" ProductName="*" BinaryName="MICROSOFT.MANAGEMENT.SERVICES.INTUNEWINDOWSAGENT.EXE">
                <BinaryVersionRange LowSection="1.39.200.2" HighSection="*" />
              </FilePublisherCondition>
        </Conditions>
        </FilePublisherRule>
        <FilePublisherRule Id="6ead5a35-5bac-4fe4-a0a4-be8885012f87" Name="CMM - CCMEXEC.EXE, 5.0.0.0+, Microsoft signed" Description="" UserOrGroupSid="S-1-1-0" Action="Allow">
          <Conditions>
            <FilePublisherCondition PublisherName="O=MICROSOFT CORPORATION, L=REDMOND, S=WASHINGTON, C=US" ProductName="*" BinaryName="CCMEXEC.EXE">
              <BinaryVersionRange LowSection="5.0.0.0" HighSection="*" />
            </FilePublisherCondition>
          </Conditions>
        </FilePublisherRule>
        <FilePublisherRule Id="8e23170d-e0b7-4711-b6d0-d208c960f30e" Name="CCM - CCMSETUP.EXE, 5.0.0.0+, Microsoft signed" Description="" UserOrGroupSid="S-1-1-0" Action="Allow">
          <Conditions>
            <FilePublisherCondition PublisherName="O=MICROSOFT CORPORATION, L=REDMOND, S=WASHINGTON, C=US" ProductName="*" BinaryName="CCMSETUP.EXE">
              <BinaryVersionRange LowSection="5.0.0.0" HighSection="*" />
              </FilePublisherCondition>
            </Conditions>
          </FilePublisherRule>
        </RuleCollection>
      </AppLockerPolicy>
    
  5. AppLocker 관리형 설치 관리자 구성 정책을 배포합니다. AppLocker 정책을 가져오고 그룹 정책을 사용하여 배포하거나 스크립트를 사용하여 다음 PowerShell 명령에 표시된 대로 Set-AppLockerPolicy cmdlet을 사용하여 정책을 배포할 수 있습니다.

    Set-AppLockerPolicy -XmlPolicy <AppLocker XML FilePath> -Merge -ErrorAction SilentlyContinue
    
  6. 스크립트를 통해 AppLocker 정책을 배포하는 경우 appidtel.exe 사용하여 AppLocker 애플리케이션 ID 서비스 및 AppLocker 필터 드라이버를 구성합니다.

    appidtel.exe start [-mionly]
    

    ISG(지능형 보안 그래프)를 사용하지 않으려면 "-mionly"를 지정합니다.

참고

관리되는 설치 관리자 추적은 다음에 관리되는 설치 관리자 규칙과 일치하는 프로세스가 실행될 때 시작됩니다. 의도한 프로세스가 이미 실행 중인 경우 다시 시작해야 합니다.

WDAC 정책에서 관리형 설치 관리자 옵션을 사용하도록 설정

관리되는 설치 관리자가 배치한 이진 파일에 대한 신뢰를 사용하도록 설정하려면 WDAC 정책에서 "사용: 관리되는 설치 관리자" 옵션을 지정해야 합니다. 이 설정은 Option 13과 함께 Set-RuleOption cmdlet 을 사용하여 정의할 수 있습니다.

다음은 Windows 부팅을 허용하고 관리되는 설치 관리자 옵션을 사용하도록 설정하는 WDAC 정책을 만드는 단계입니다.

  1. "C:\Windows\schemas\CodeIntegrity\ExamplePolicies\DefaultWindows_Audit.xml"에서 작업 폴더에 DefaultWindows_Audit 정책 복사

  2. 정책 ID를 다시 설정하여 다중 정책 형식인지 확인하고 예제 정책과 다른 GUID를 제공합니다. 또한 식별에 도움이 되는 이름을 지정합니다.

    예시:

    Set-CIPolicyIdInfo -FilePath <XML filepath> -PolicyName "<friendly name>" -ResetPolicyID
    
  3. 옵션 13(사용:관리되는 설치 관리자)을 설정합니다.

    Set-RuleOption -FilePath <XML filepath> -Option 13
    
  4. WDAC 정책을 배포합니다. WDAC(Windows Defender 애플리케이션 제어) 정책 배포를 참조하세요.

참고

WDAC 정책에는 모든 시스템/부팅 구성 요소, 커널 드라이버 및 관리되는 설치 관리자를 통해 배포할 수 없는 다른 권한 있는 애플리케이션에 대한 규칙이 포함되어야 합니다.

관리되는 설치 관리자 기능 제거

디바이스에서 관리되는 설치 관리자 기능을 제거하려면 AppLocker 규칙 삭제: 단일 시스템 또는 원격 시스템에서 AppLocker 정책 지우기 지침에 따라 디바이스에서 관리되는 설치 관리자 AppLocker 정책을 제거해야 합니다.