보안 설치 작성 지침

Windows Installer 패키지를 작성할 때 다음 지침을 준수하면 설치 중 보안 환경을 유지하는 데 도움이 됩니다.

  • 관리자는 관리자가 아닌 사용자에게 변경 또는 수정 권한이 없는 대상 설치 폴더에 관리되는 애플리케이션을 설치해야 합니다.
  • 사용자가 설정한 모든 속성을 공용 속성으로 만듭니다. 프라이빗 속성은 사용자 인터페이스와 상호 작용하는 사용자가 변경할 수 없습니다. 자세한 내용은 속성 정보를 참조하세요.
  • 보안을 유지해야 하는 암호 또는 기타 정보에는 속성을 사용하지 마세요. 설치 관리자는 Property 테이블에 작성되었거나 런타임에 만든 속성의 값을 로그 또는 시스템 레지스트리에 쓸 수 있습니다. 자세한 내용은 기밀 정보가 로그 파일에 기록되지 않도록 방지를 참조하세요.
  • 설치 시 설치 관리자가 상승된 권한을 사용해야 하는 경우 제한된 공용 속성을 사용하여 사용자가 변경할 수 있는 공용 속성을 제한합니다. 설치 시 설치 관리자가 상승된 권한을 사용해야 하는 경우 보안 환경을 유지하기 위해 일반적으로 몇 가지 제한 사항이 필요합니다.
  • 보안 데이터를 로그 또는 시스템 레지스트리에 쓸 수 있으므로 특정 사용자의 권한을 가장하는 서비스를 설치하지 마세요. 설치하면 시스템을 다시 시작할 때 보안 문제, 암호 충돌 또는 구성 데이터 손실이 발생할 수 있습니다. 자세한 내용은 ServiceInstall 테이블을 참조하세요.
  • LockPermissions 테이블MsiLockPermissionsEx 테이블을 사용하여 서비스, 파일, 레지스트리 키 및 만든 폴더를 잠긴 환경에서 보호합니다.
  • 파일의 무결성을 보장하기 위해 설치에 디지털 서명을 추가합니다. 자세한 내용은 디지털 서명 및 Windows 설치 관리자완전히 확인된 서명된 설치 작성을 참조하세요.
  • 사용자가 리소스에 대한 액세스가 거부되면 보안 환경을 유지하는 방식으로 설정이 실패하도록 Windows Installer 패키지를 작성합니다. 사용자의 액세스 권한을 확인하고 설치를 시작하기 전에 디스크 공간이 충분한지 확인합니다. 일반적으로 설치 관리자는 현재 사용자가 관리자이거나 설치에 상승된 권한이 필요하지 않은 경우에만 찾아보기 대화 상자를 표시해야 합니다. 자세한 내용은 원본 복원력을 참조하세요.
  • 보안 변환을 사용하여 사용자 컴퓨터의 보안 파일 시스템에 로컬로 변환을 저장합니다. 이렇게 하면 사용자가 변환에 대한 쓰기 액세스 권한을 갖지 못하게 됩니다.
  • 관리되는 애플리케이션의 미디어 원본을 보호하는 방법에 대한 자세한 내용은 원본 복원력을 참조하세요.
  • 보안 요약 속성을 사용하여 패키지를 읽기 전용으로 열어야 하는지 여부를 나타냅니다. 이 속성은 설치 데이터베이스에 대해 읽기 전용 권장으로 설정하고 변환 또는 패치에 대해 읽기 전용 적용으로 설정해야 합니다.
  • 설치 관리자는 시스템에 대한 사용자 지정 작업의 액세스를 제한하기 위해 기본적으로 사용자 권한으로 사용자 지정 작업을 실행합니다. 관리되는 애플리케이션이 설치 중이거나 상승된 권한에 대해 시스템 정책이 지정된 경우 설치 프로그램은 상승된 권한으로 사용자 지정 작업을 실행할 수 있습니다. 자세한 내용은 사용자 지정 작업 보안을 참조하세요.
  • DisablePatch 정책을 사용하여 패치를 제한해야 하는 환경에서 보안을 제공합니다.
  • AppId 테이블을 사용하여 DCOM 개체에 대한 일반적인 보안 및 구성 설정을 등록합니다.
  • 관련 내용은 사용자 지정 작업 보안 지침을 참조하세요.
  • 관련 내용은 잠긴 컴퓨터의 패키지 보안 지침을 참조하세요.
  • Windows Installer 3.0부터 UAC(사용자 계정 컨트롤) 패치 적용을 사용하여 관리자가 아닌 사용자가 컴퓨터별 컨텍스트에 설치된 애플리케이션을 패치할 수 있습니다. UAC 패치는 MsiPatchCertificate 테이블에 서명자 인증서를 제공하고 동일한 인증서로 패치에 서명하여 사용하도록 설정됩니다.
  • Windows Installer 5.0이 서비스, 파일, 만든 폴더 및 레지스트리 항목에 대한 액세스 권한을 설정하는 기능은 설치 애플리케이션을 보다 안전하게 만드는 데 도움이 될 수 있습니다. 자세한 내용은 리소스 보안을 참조하세요.