비즈니스용 App Control을 지원하는 카탈로그 파일 배포

참고

비즈니스용 App Control의 일부 기능은 특정 Windows 버전에서만 사용할 수 있습니다. App Control 기능 가용성에 대해 자세히 알아보세요.

서명 프로세스가 어려운 LOB(기간 업무) 애플리케이션이 있는 경우 카탈로그 파일은 비즈니스용 App Control 배포에서 중요할 수 있습니다. 카탈로그 파일을 사용하여 해당 ISV에서 서명한 모든 코드를 신뢰하지 않으려는 경우 ISV(독립 소프트웨어 공급업체)에서 가져오는 앱에 고유한 서명을 추가할 수도 있습니다. 이러한 방식으로 카탈로그 파일은 앱 제어 관리 환경에서 사용하기 위해 앱을 "축복"하는 편리한 방법을 제공합니다. 또한 원래 소스 코드에 액세스할 필요가 없거나 비용이 많이 드는 재패키징이 필요하지 않고도 기존 앱에 대한 카탈로그 파일을 만들 수 있습니다.

사용자 고유의 용도로 코드 서명 인증서를 가져와서 카탈로그 파일에 서명하는 데 사용해야 합니다. 그런 다음 기본 설정 콘텐츠 배포 메커니즘을 사용하여 서명된 카탈로그 파일을 배포합니다.

마지막으로 서명 인증서에 대한 App Control 정책에 서명자 규칙을 추가합니다. 그런 다음, 이전에 앱이 서명되지 않은 경우에도 서명된 카탈로그 파일에서 다루는 모든 앱을 실행할 수 있습니다. 이 기반을 사용하면 대부분의 맬웨어가 서명되지 않으므로 서명되지 않은 모든 코드를 차단하는 App Control 정책을 보다 쉽게 빌드할 수 있습니다.

패키지 검사기에서 카탈로그 파일 만들기

기존 앱에 대한 카탈로그 파일을 만들려면 Windows와 함께 제공되는 패키지 검사 기라는 도구를 사용할 수 있습니다.

  1. 패키지 검사기를 실행하는 컴퓨터에 감사 모드 의 정책을 적용합니다. 패키지 검사기에서는 감사 이벤트를 사용하여 설치 프로세스 중에 컴퓨터에서 추가 및 제거된 임시 설치 파일에 대한 해시를 카탈로그 파일에 포함합니다. 감사 모드 정책은 앱의 이진 파일을 허용하지 않거나 카탈로그 파일에 필요한 몇 가지 중요한 파일을 놓칠 수 있습니다.

    참고

    적용된 정책이 이미 앱을 실행할 수 있도록 허용하지 않는 한 강제 정책이 있는 시스템에서 이 프로세스를 완료할 수 없습니다.

    이 PowerShell 샘플을 사용하여 DefaultWindows_Audit.xml 템플릿의 복사본을 만들 수 있습니다.

    Copy-Item -Path $env:windir\schemas\CodeIntegrity\ExamplePolicies\DefaultWindows_Audit.xml -Destination $env:USERPROFILE\Desktop\
    $PolicyId = Set-CIPolicyIdInfo -FilePath $env:USERPROFILE\Desktop\DefaultWindows_Audit.xml -PolicyName "Package Inspector Audit Policy" -ResetPolicyID
    $PolicyBinary = $env:USERPROFILE+"\Desktop\"+$PolicyId.substring(11)+".cip"
    

    그런 다음 스크립트를 사용하여 비즈니스용 앱 제어 정책 배포에 설명된 대로 정책을 적용합니다.

  2. 패키지 검사기를 시작하여 앱을 설치하는 로컬 드라이브 (예: 드라이브 C)에서 파일 만들기를 모니터링합니다.

    PackageInspector.exe Start C:
    

    중요

    패키지 검사기로 보고 있는 드라이브에 기록되는 모든 파일은 생성된 카탈로그에 포함됩니다. 드라이브에서 파일을 실행하고 만들 수 있는 다른 모든 프로세스에 유의하세요.

  3. 실제 설치 관리자가 최종 카탈로그 파일에 포함되도록 설치 미디어를 패키지 검사기로 보고 있는 드라이브에 복사합니다. 이 단계를 건너뛰면 실행을 허용할 수 있지만 실제로는 설치할 수 없습니다.

  4. 앱을 설치합니다.

  5. 앱을 시작하여 처음 시작할 때 만든 파일이 카탈로그 파일에 포함되도록 합니다.

  6. 일반적인 사용 중에 만든 파일이 카탈로그 파일에 포함되도록 평소처럼 앱을 사용합니다. 예를 들어 일부 앱은 앱 내에서 기능을 처음 사용할 때 더 많은 파일을 다운로드할 수 있습니다. 앱에 해당 기능이 있는 경우 앱 업데이트도 검사 합니다.

  7. 애플리케이션을 닫고 다시 열어 검사가 모든 이진 파일을 캡처했는지 확인합니다.

  8. 적절하게 패키지 검사기를 계속 실행 중인 상태에서 카탈로그에 포함하려는 다른 앱에 대해 이전 단계를 반복합니다.

  9. 이전 단계가 완료되었음을 확인했으면 다음 명령을 사용하여 패키지 검사기를 중지합니다. 지정된 위치에 카탈로그 파일 및 카탈로그 정의 파일을 만듭니다. 카탈로그 파일에 대한 명명 규칙을 사용하여 시간이 지남에 따라 배포된 카탈로그 파일을 보다 쉽게 관리할 수 있습니다. 이 예제에서 사용되는 파일 이름은 LOBApp-Contoso.cat (카탈로그 파일) 및 LOBApp.cdf (정의 파일)입니다.

    패키지 검사기를 중지하는 마지막 명령의 경우 패키지 검사기로 시청했던 것과 동일한 로컬 드라이브(예 C:: )를 지정해야 합니다.

    $ExamplePath=$env:userprofile+"\Desktop"
    $CatFileName=$ExamplePath+"\LOBApp-Contoso.cat"
    $CatDefName=$ExamplePath+"\LOBApp.cdf"
    PackageInspector.exe Stop C: -Name $CatFileName -cdfpath $CatDefName
    

참고

패키지 검사기에서는 검색된 각 파일에 대한 해시 값을 카탈로그화합니다. 검사된 애플리케이션이 업데이트된 경우 이 프로세스를 다시 완료하여 새 이진 파일의 해시 값을 신뢰합니다.

완료되면 도구는 바탕 화면에 파일을 저장합니다. 텍스트 편집기를 *.cdf 사용하여 파일을 보고 패키지 검사기가 포함된 파일을 볼 수 있습니다. 파일을 두 번 클릭하여 *.cat 해당 내용을 확인하고 특정 파일 해시에 대한 검사 수도 있습니다.

카탈로그 파일 서명

이제 앱에 대한 카탈로그 파일을 만들었으므로 서명할 준비가 되었습니다. 카탈로그 서명에 Microsoft의 신뢰할 수 있는 서명 서비스를 사용하는 것이 좋습니다. 필요에 따라 다음 지침을 사용하여 Signtool을 사용하여 카탈로그에 수동으로 서명할 수 있습니다.

SignTool.exe를 사용한 카탈로그 서명

코드 서명 인증서를 구입했거나 자체 PKI(공개 키 인프라)에서 인증서를 발급한 경우 SignTool.exe 사용하여 카탈로그 파일에 서명할 수 있습니다.

당신은 필요해요:

  • windows SDK(소프트웨어 개발 키트)에 있는 SignTool.exe.
  • 이전에 만든 카탈로그 파일입니다.
  • 내부 CA(인증 기관) 또는 구매한 코드 서명 인증서에서 발급된 코드 서명 인증서입니다.

카탈로그 파일에 서명하는 데 사용하는 코드 서명 인증서의 경우 서명 사용자의 개인 저장소로 가져옵니다. 그런 다음, 다음 각 명령을 관리자 권한 Windows PowerShell 세션에 복사하여 기존 카탈로그 파일에 서명합니다.

  1. 사용할 변수를 초기화합니다. $ExamplePath 필요에 따라 및 $CatFileName 변수를 바꿉니다.

    $ExamplePath=$env:userprofile+"\Desktop"
    $CatFileName=$ExamplePath+"\LOBApp-Contoso.cat"
    
  2. Signtool.exe를 사용하여 카탈로그 파일에 서명합니다.

    <path to signtool.exe> sign /n "ContosoSigningCert" /fd sha256 /v $CatFileName
    

    참고

    변수는 <Path to signtool.exe> Signtool.exe 유틸리티의 전체 경로여야 합니다. ContosoSigningCert 는 카탈로그 파일에 서명하는 데 사용하는 인증서의 주체 이름을 나타냅니다. 카탈로그 파일 서명에 사용할 컴퓨터의 개인 인증서 저장소로 이 인증서를 가져와야 합니다.

    Signtool.exe 및 모든 추가 스위치에 대한 자세한 내용은 서명 도구를 참조하세요.

  3. 카탈로그 파일의 디지털 서명을 확인합니다. 카탈로그 파일을 마우스 오른쪽 단추로 클릭한 다음 속성을 선택합니다. 디지털 서명 탭에서 그림 1과같이 서명 인증서가 sha256 알고리즘과 함께 있는지 확인합니다.

    파일 속성의 디지털 서명 목록입니다.

    그림 1. 서명 인증서가 있는지 확인합니다.

관리형 엔드포인트에 카탈로그 파일 배포

Windows의 카탈로그 파일은 아래에 %windir%\System32\catroot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}저장됩니다.

테스트를 위해 서명된 카탈로그 파일을 이 폴더에 수동으로 복사할 수 있습니다. 서명된 카탈로그 파일의 대규모 배포의 경우 그룹 정책 파일 기본 설정 또는 Microsoft Configuration Manager 같은 엔터프라이즈 시스템 관리 제품을 사용합니다.

그룹 정책을 사용하여 카탈로그 파일 배포

카탈로그 파일 관리를 간소화하기 위해 그룹 정책 기본 설정을 사용하여 organization 적절한 컴퓨터에 카탈로그 파일을 배포할 수 있습니다.

다음 프로세스에서는 Contoso 카탈로그 파일 GPO 테스트라는 GPO를 사용하여 App Control 사용 PC라는 테스트 OU에 LOBApp-Contoso.cat 이라는 서명된 카탈로그 파일을 배포하는 과정을 안내합니다.

  1. 도메인 컨트롤러 또는 원격 서버 관리 도구가 설치된 클라이언트 컴퓨터에서 GPMC.MSC를 실행하거나 그룹 정책 관리를 검색하여 그룹 정책 관리 콘솔을 엽니다.

  2. 새 GPO 만들기: OU(예: App Control 사용 PC OU)를 마우스 오른쪽 단추로 클릭한 다음, 그림 2와 같이 이 도메인에서 GPO 만들기를 선택하고 여기에 연결을 선택합니다.

    참고

    모든 OU 이름을 사용할 수 있습니다. 또한 앱 제어 정책을 결합하는 다양한 방법을 고려할 때 보안 그룹 필터링이 옵션입니다.

    그룹 정책 관리에서 GPO를 만듭니다.

    그림 2. 새 GPO를 만듭니다.

  3. 새 GPO에 이름을 지정합니다(예: Contoso 카탈로그 파일 GPO 테스트 또는 원하는 이름).

  4. 그룹 정책 관리 편집기 엽니다. 새 GPO를 마우스 오른쪽 단추로 클릭한 다음 편집을 선택합니다.

  5. 선택한 GPO 내에서 컴퓨터 구성\기본 설정\Windows 설정\파일로 이동합니다. 그림 3과 같이 파일을 마우스 오른쪽 단추로 클릭하고 새로 만들기를 가리킨 다음 파일을 선택합니다.

    그룹 정책 관리 편집기, 새 파일.

    그림 3. 새 파일을 만듭니다.

  6. 카탈로그 파일 공유를 구성합니다.

    이 설정을 사용하여 카탈로그 파일(이 예에서는 LOBApp-Contoso.cat)의 일관된 배포를 제공하려면 원본 파일이 배포된 모든 컴퓨터의 컴퓨터 계정에서 액세스할 수 있는 공유에 있어야 합니다. 이 예제에서는 라는 \\Contoso-Win10\ShareWindows 10 실행하는 컴퓨터에서 공유를 사용합니다. 배포되는 카탈로그 파일이 이 공유에 복사됩니다.

  7. 버전을 일관되게 유지하려면 그림 4와 같이 새 파일 속성 대화 상자에서 작업 목록에서 바꾸기를 선택하여 최신 버전이 항상 사용되도록 합니다.

    파일 속성, 바꾸기 옵션입니다.

    그림 4. 새 파일 속성을 설정합니다.

  8. 원본 파일 상자에 카탈로그 파일 이름이 포함된 액세스 가능한 공유의 이름을 입력합니다. 예를 들면 \\Contoso-Win10\share\LOBApp-Contoso.cat입니다.

  9. 대상 파일 상자에 경로 및 파일 이름을 입력합니다. 예를 들면 다음과 같습니다.

    C:\Windows\System32\catroot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}\LOBApp-Contoso.cat

    카탈로그 파일 이름의 경우 배포할 카탈로그의 이름을 사용합니다.

  10. 새 파일 속성 대화 상자의 공통 탭에서 이 항목을 더 이상 적용하지 않을 때 제거 옵션을 선택합니다. 이 옵션을 사용하도록 설정하면 이 애플리케이션의 신뢰를 중지해야 하는 경우 카탈로그 파일이 모든 시스템에서 제거됩니다.

  11. 확인을 선택하여 파일 만들기를 완료합니다.

  12. 그룹 정책 관리 편집기 닫은 다음 GPUpdate.exe 실행하여 Windows 10 또는 Windows 11 실행하는 테스트 컴퓨터에서 정책을 업데이트합니다. 정책이 업데이트되면 카탈로그 파일이 Windows 10 실행 중인 컴퓨터에 있는지 C:\Windows\System32\catroot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE} 확인합니다.

Microsoft Configuration Manager 사용하여 카탈로그 파일 배포

그룹 정책 대신 Configuration Manager 사용하여 환경의 관리되는 컴퓨터에 카탈로그 파일을 배포할 수 있습니다. 이 방법은 여러 카탈로그 파일의 배포 및 관리를 간소화하고 각 클라이언트 또는 컬렉션이 배포한 카탈로그에 대한 보고를 제공할 수 있습니다. 이러한 파일의 배포 외에도 Configuration Manager 사용하여 보고 및 규정 준수를 위해 현재 배포된 카탈로그 파일의 인벤토리를 작성할 수도 있습니다.

카탈로그 파일에 대한 새 배포 패키지를 만들려면 다음 단계를 완료합니다.

참고

다음 예제에서는 라는 네트워크 공유 \\Shares\CatalogShare 를 카탈로그 파일의 원본으로 사용합니다. 컬렉션별 카탈로그 파일이 있거나 개별적으로 배포하려는 경우 organization 가장 적합한 폴더 구조를 사용합니다.

  1. 구성 관리자 콘솔을 열고 소프트웨어 라이브러리 작업 영역을 선택합니다.

  2. 개요\애플리케이션 관리로 이동하고 패키지를 마우스 오른쪽 단추로 클릭한 다음 패키지 만들기를 선택합니다.

  3. 패키지 이름을 지정하고 조직을 제조업체로 설정한 다음 적절한 버전 번호를 선택합니다.

    패키지 및 프로그램 만들기 마법사

    그림 5. 새 패키지에 대한 정보를 지정합니다.

  4. 다음을 선택한 다음, 프로그램 유형으로 표준 프로그램을 선택합니다.

  5. 표준 프로그램 페이지에서 이름을 선택한 다음 명령줄 속성을 다음 명령으로 설정합니다.

    XCopy \\Shares\CatalogShare C:\Windows\System32\catroot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE} /H /K /E /Y
    
  6. 그림 6과 같이 표준 프로그램 페이지에서 다음 옵션을 선택합니다.

    • 이름Contoso Catalog File Copy Program과 같은 이름을 입력합니다.
    • 명령줄에서 프로그램 위치로 이동합니다.
    • 시작 폴더에 를 입력합니다C:\Windows\System32.
    • 실행 목록에서 숨김을 선택합니다.
    • 프로그램 실행 가능 목록에서 사용자 로그온 여부를 선택합니다.
    • 드라이브 모드 목록에서 UNC 이름으로 실행을 선택합니다.

    마법사의 표준 프로그램 페이지입니다.

    그림 6. 표준 프로그램에 대한 정보를 지정합니다.

  7. 마법사의 나머지 부분에 대해 기본값을 적용하고 마법사를 닫습니다.

배포 패키지를 만든 후 클라이언트가 카탈로그 파일을 수신하도록 컬렉션에 배포합니다. 이 예제에서는 만든 패키지를 테스트 컬렉션에 배포합니다.

  1. 소프트웨어 라이브러리 작업 영역에서 Overview\Application Management\Packages로 이동하여 카탈로그 파일 패키지를 마우스 오른쪽 단추로 클릭한 다음 배포를 선택합니다.

  2. 일반 페이지에서 테스트 컬렉션을 선택한 다음, 다음을 선택합니다.

  3. 콘텐츠 페이지에서 추가를 선택하여 선택한 컬렉션에 콘텐츠를 제공할 배포 지점을 선택한 다음, 다음을 선택합니다.

  4. 배포 설정 페이지의 목적 상자에서 필수를 선택합니다.

  5. 일정 페이지에서새로 만들기를 선택합니다.

  6. 할당 일정 대화 상자에서 이 이벤트 직후에 할당을 선택하고 가능한 한 빨리 값을 로 설정한 다음 확인을 선택합니다.

  7. 일정 페이지에서 다음 선택합니다.

  8. 그림 7과 같이 사용자 환경 페이지에서 다음 옵션을 설정한 다음 , 다음을 선택합니다.

    • 소프트웨어 설치 확인란을 선택합니다.

    • 마감일 또는 유지 관리 창에서 변경 내용 커밋(다시 시작 필요) 확인란을 선택합니다.

    소프트웨어 배포 마법사, 사용자 환경 페이지.

    그림 7. 사용자 환경을 지정합니다.

  9. 배포 지점 페이지의 배포 옵션 상자에서 배포 지점에서 프로그램 실행을 선택한 다음, 다음을 선택합니다.

  10. 요약 페이지에서 선택 항목을 검토한 다음, 다음을 선택합니다.

  11. 마법사를 닫습니다.

Microsoft Configuration Manager 있는 인벤토리 카탈로그 파일

그룹 정책 또는 Configuration Manager 사용하여 환경 내 컴퓨터에 카탈로그 파일을 배포한 경우 Configuration Manager 소프트웨어 인벤토리 기능을 사용하여 인벤토리할 수 있습니다.

새 클라이언트 설정 정책을 만들고 배포하여 관리되는 시스템에서 카탈로그 파일을 찾도록 소프트웨어 인벤토리를 구성할 수 있습니다.

참고

카탈로그 파일에 대한 표준 명명 규칙은 카탈로그 파일 소프트웨어 인벤토리 프로세스를 크게 간소화합니다. 이 예제에서는 -Contoso 가 모든 카탈로그 파일 이름에 추가되었습니다.

  1. 구성 관리자 콘솔을 열고 관리 작업 영역을 선택합니다.

  2. 개요\클라이언트 설정으로 이동하고 클라이언트 설정을 마우스 오른쪽 단추로 클릭한 다음 사용자 지정 클라이언트 디바이스 설정 만들기를 선택합니다.

  3. 그림 8과 같이 새 정책의 이름을 지정하고 클라이언트 장치에 대한 사용자 지정 설정 선택 및 구성에서 소프트웨어 인벤토리 확인란을 선택합니다.

    사용자 지정 클라이언트 디바이스 설정을 만듭니다.

    그림 8. 사용자 지정 설정을 선택합니다.

  4. 탐색 창에서 소프트웨어 인벤토리를 선택한 다음 그림 9와 같이 형식 설정을 선택합니다.

    디바이스에 대한 소프트웨어 인벤토리 설정입니다.

    그림 9. 소프트웨어 인벤토리를 설정합니다.

  5. 클라이언트 설정 구성 대화 상자에서 시작 단추를 선택하여 인벤토리 파일 속성 대화 상자를 엽니다.

  6. 이름 상자에 와 같은 *Contoso.cat이름을 입력한 다음, 설정을 선택합니다.

    참고

    이름을 입력할 때 카탈로그 파일에 대한 명명 규칙을 따릅니다.

  7. 경로 속성 대화 상자에서 변수 또는 경로 이름을 선택한 다음 그림 10과 같이 상자에 를 입력 C:\Windows\System32\catroot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE} 합니다.

    경로를 지정하는 경로 속성입니다.

    그림 10. 경로 속성을 설정합니다.

  8. 확인을 선택합니다.

  9. 이제 클라이언트 설정 정책을 만들었으므로 새 정책을 마우스 오른쪽 단추로 클릭하고 배포를 선택한 다음 카탈로그 파일을 인벤토리할 컬렉션을 선택합니다.

다음 소프트웨어 인벤토리 주기 시 대상 클라이언트가 새 클라이언트 설정 정책을 수신하면 기본 제공 Configuration Manager 보고서 또는 리소스 Explorer 인벤토리에 있는 파일을 볼 수 있습니다. 리소스 탐색기 내에서 클라이언트의 인벤토리 파일을 보려면 다음 단계를 완료합니다.

  1. 구성 관리자 콘솔을 열고 자산 및 규정 준수 작업 영역을 선택합니다.

  2. 개요\디바이스로 이동하고 인벤토리에 포함된 파일을 볼 디바이스를 검색합니다.

  3. 컴퓨터를 마우스 오른쪽 단추로 클릭하고 시작을 가리킨 다음 리소스 Explorer 선택합니다.

  4. 리소스 Explorer 소프트웨어\파일 세부 정보로 이동하여 인벤토리에 추가된 카탈로그 파일을 확인합니다.

참고

이 보기에 아무것도 표시되지 않으면 리소스 Explorer Software\Last Software Scan으로 이동하여 클라이언트가 최근에 소프트웨어 인벤토리 검사를 완료했는지 확인합니다.

App Control 정책에서 카탈로그 서명 인증서로 서명된 앱 허용

이제 서명된 카탈로그 파일이 있으므로 해당 인증서로 서명된 모든 것을 허용하는 서명자 규칙을 정책에 추가할 수 있습니다. App Control 정책을 아직 만들지 않은 경우 비즈니스용 앱 제어 디자인 가이드를 참조하세요.

서명된 카탈로그 파일이 배포된 컴퓨터에서 New-CiPolicyRule 을 사용하여 해당 카탈로그에 포함된 모든 파일에서 서명자 규칙을 만들 수 있습니다. 그런 다음 Merge-CiPolicy 를 사용하여 정책 XML에 규칙을 추가합니다. 다음 샘플에서 경로 값을 바꿔야 합니다.

$Rules = New-CIPolicyRule -DriverFilePath <path to the file covered by the signed catalog> -Level Publisher
Merge-CIPolicy -OutputFilePath <path to your policy XML> -PolicyPaths <path to your policy XML> -Rules $Rules

또는 Add-SignerRule 을 사용하여 인증서 파일(.cer)에서 정책에 서명자 규칙을 추가할 수 있습니다. 서명된 카탈로그 파일에서 .cer 파일을 쉽게 저장할 수 있습니다.

  1. 카탈로그 파일을 마우스 오른쪽 단추로 클릭한 다음 속성을 선택합니다.
  2. 디지털 서명 탭의 목록에서 서명을 선택한 다음 세부 정보를 선택합니다.
  3. 인증서 보기를 선택하여 리프 인증서의 속성을 봅니다.
  4. 세부 정보 탭을 선택하고 파일에 복사를 선택합니다. 이 작업은 인증서 내보내기 마법사를 실행합니다.
  5. 파일 형식 내보내기 기본 옵션을 사용하고 위치 및 파일 이름을 지정하여 .cer 파일을 저장하여 마법사를 완료합니다.

참고

이러한 단계에서는 "리프" 인증서라고도 하는 가장 낮은 수준의 인증서 체인을 선택합니다. 대신 인증서의 중간 또는 루트 발급자 인증서를 사용하도록 선택할 수 있습니다. 체인에서 다른 인증서를 사용하려면 위의 3단계 이후 인증 경로 탭으로 전환한 다음 사용할 인증서 수준을 선택하고 인증서 보기를 선택합니다. 그런 다음, 나머지 단계를 완료합니다.

다음 예제에서는 .cer 파일을 사용하여 사용자 및 커널 모드 서명 시나리오 모두에 서명자 규칙을 추가합니다. 다음 샘플에서 경로 값을 바꿔야 합니다.

Add-SignerRule -FilePath <path to your policy XML> -CertificatePath <path to your certificate .cer file> -User -Kernel

패키지 검사기 사용 알려진 문제

패키지 검사기를 사용하여 카탈로그 파일을 빌드하는 데 알려진 문제 중 일부는 다음과 같습니다.

  • USN 저널 크기가 너무 작아 설치 관리자가 만든 모든 파일을 추적할 수 없습니다.

    • 패키지 검사기를 통해 실행한 후 USN 저널 크기가 문제인지 여부를 진단하려면 다음을 수행합니다.
      • reg 키의 값을 HKEY_CURRENT_USER/PackageInspectorRegistryKey/c: (PackageInspector start를 실행했을 때 가장 최근 USN이었습니다). 그런 다음 fsutil.exe 사용하여 시작 위치를 읽습니다. 다음 명령의 "RegKeyValue"를 reg 키의 값으로 바꿉니다.
        fsutil usn readjournal C: startusn=RegKeyValue > inspectedusn.txt
      • 오버플로로 인해 이전 USN이 더 이상 존재하지 않는 경우 위의 명령은 오류를 반환해야 합니다.
      • 새 크기 및 할당 델타를 사용하여 fsutil usn createjournal USN 저널 크기를 확장할 수 있습니다. Fsutil usn queryjournal 는 현재 크기 및 할당 델타를 표시하므로 의 배수를 사용하면 도움이 될 수 있습니다.
  • CodeIntegrity - 운영 이벤트 로그가 너무 작아 설치 관리자가 만든 모든 파일을 추적할 수 없습니다.

    • 패키지 검사기를 통해 실행한 후 Eventlog 크기가 문제인지 여부를 진단하려면 다음을 수행합니다.
      • 이벤트 뷰어 열고 애플리케이션 및 서비스//Microsoft//Windows//CodeIntegrity//Operational을 확장합니다. 초기 설치 관리자 시작에 대한 3076 감사 블록 이벤트를 확인합니다.
      • 이벤트 로그 크기를 늘리려면 이벤트 뷰어 운영 로그를 마우스 오른쪽 단추로 클릭하고 속성을 선택한 다음 새 값을 설정합니다.
  • 앱이 설치되거나 실행될 때마다 해시를 변경하는 설치 관리자 또는 앱 파일

    • 일부 앱은 런타임에 해시 값이 매번 다른 파일을 생성합니다. 생성된 3076 감사 블록 이벤트(또는 3077 적용 이벤트)의 해시 값을 검토하여 이 문제를 진단할 수 있습니다. 파일을 실행하려고 할 때마다 다른 해시가 있는 새 블록 이벤트가 관찰되는 경우 패키지는 패키지 검사기에서 작동하지 않습니다.
  • 잘못된 서명 Blob 또는 "해시할 수 없는" 파일이 있는 파일

    • 이 문제는 서명된 파일이 파일의 PE 헤더를 무효화하는 방식으로 수정될 때 발생합니다. 이러한 방식으로 수정된 파일은 Authenticode 사양에 따라 해시할 수 없습니다.
    • 이러한 "해시할 수 없는" 파일은 PackageInspector에서 만든 카탈로그 파일에 포함할 수 없지만 파일의 플랫 파일 해시를 사용하는 정책에 해시 ALLOW 규칙을 추가하여 허용해야 합니다.
    • 이 문제는 사용자 지정 작업에서 서명된 DLL 파일을 사용하는 일부 버전의 InstallShield 패키지에 영향을 줍니다. InstallShield는 파일에 추적 표식을 추가합니다(서명 후 편집). 이 파일은 "해시할 수 없는" 상태로 남습니다.