보안 설치 작성 지침

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

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