다음을 통해 공유


비즈니스용 App Control을 사용하여 스크립트 적용

참고

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

중요

옵션 11 사용 안 함:스크립트 적용Windows Server 2016 또는 Windows 10 1607 LTSB에서 지원되지 않으므로 해당 플랫폼에서 사용하면 안 됩니다. 이렇게 하면 예기치 않은 스크립트 적용 동작이 발생합니다.

스크립트 적용 개요

기본적으로 정책에서 11 사용 안 함:스크립트 적용 옵션이 설정되지 않는 한 모든 App Control 정책에 대해 스크립트 적용이 사용하도록 설정됩니다. 앱 제어 스크립트 적용에는 PowerShell 및 App Control과 같은 인식된 스크립트 호스트 간의 핸드셰이크가 포함됩니다. 그러나 스크립트 호스트는 실제 적용 동작을 처리합니다. Microsoft HTML 애플리케이션 호스트(mshta.exe)와 같은 일부 스크립트 호스트는 App Control UMCI 정책이 활성화된 경우 모든 코드 실행을 차단합니다. 대부분의 스크립트 호스트는 먼저 현재 활성 상태인 App Control 정책에 따라 스크립트를 실행할 수 있는지 여부를 App Control에 요청합니다. 그런 다음 스크립트 호스트는 사용자와 디바이스를 가장 잘 보호하기 위해 스크립트를 실행하는 방법을 차단, 허용 또는 변경합니다.

서명된 스크립트에 대한 유효성 검사는 WinVerifyTrust API를 사용하여 수행됩니다. 유효성 검사를 통과하려면 서명 루트가 디바이스의 신뢰할 수 있는 루트 저장소에 있어야 하며 App Control 정책이 이를 허용해야 합니다. 이 동작은 루트 인증서를 설치할 필요가 없는 실행 파일의 App Control 유효성 검사와 다릅니다.

App Control은 모든 스크립트 적용 이벤트에 대한 AppLocker - MSI 및 스크립트 이벤트 로그를 공유합니다. 스크립트 호스트가 App Control에 스크립트를 허용해야 하는지 묻을 때마다 App Control이 스크립트 호스트에 반환된 응답과 함께 이벤트가 기록됩니다. App Control 스크립트 적용 이벤트에 대한 자세한 내용은 App Control 이벤트 이해를 참조하세요.

참고

정책에서 허용되지 않는 스크립트가 실행되면 App Control은 스크립트가 "차단됨"임을 나타내는 이벤트를 발생합니다. 그러나 실제 스크립트 적용 동작은 스크립트 호스트에서 처리되며 실제로 파일 실행이 완전히 차단되지 않을 수 있습니다.

또한 일부 스크립트 호스트는 앱 제어 정책이 감사 모드에만 있는 경우에도 동작 방식을 변경할 수 있습니다. 이 문서의 스크립트 호스트 특정 정보를 검토하고 환경 내에서 철저히 테스트하여 실행해야 하는 스크립트가 제대로 작동하는지 확인해야 합니다.

Windows의 일부인 인식 스크립트 호스트

PowerShell

앱 제어 정책은 모든 PowerShell 스크립트(.ps1), 모듈(.psm1) 및 매니페스트(.psd1)가 전체 언어 권한으로 실행되도록 허용해야 합니다.

앱 제어 정책은 허용된 모듈에 의해 로드되는 종속 모듈 도 허용해야 하며, App Control이 적용될 때 모듈 함수를 이름으로 명시적으로 내보내야 합니다. 내보낸 함수(내보내기 이름 목록 없음)를 지정하지 않는 모듈은 여전히 로드되지만 모듈 함수에 액세스할 수 없습니다. 이름에 와일드카드(*)를 사용하는 모듈은 로드되지 않습니다.

App Control 정책에서 허용되지 않는 PowerShell 스크립트는 여전히 실행되지만 제한된 언어 모드에서만 실행됩니다.

PowerShell 점 소싱 은 권장되지 않습니다. 대신 스크립트는 PowerShell 모듈을 사용하여 일반적인 기능을 제공해야 합니다. 허용되는 스크립트 파일이 점 소스 스크립트 파일을 실행하려고 하면 해당 스크립트 파일도 정책을 전달해야 합니다.

앱 제어 UMCI 정책이 적용되고 활성 App Control 정책이 해당 정책이 감사 모드인 경우에도 스크립트 적용을 사용하도록 설정하는 경우 App Control은 대화형 PowerShell을 제한된 언어 모드로 전환합니다. 전체 언어 권한으로 대화형 PowerShell을 실행하려면 모든 정책에 대해 스크립트 적용을 사용하지 않도록 설정해야 합니다.

자세한 내용은 언어 모드 및 제한된 언어 모드 정보를 참조 하세요.

VBscript, cscript 및 jscript

앱 제어 정책은 Windows 기반 스크립트 호스트(wscript.exe) 또는 Microsoft 콘솔 기반 스크립트 호스트(cscript.exe)를 사용하여 모든 스크립트를 실행할 수 있도록 허용해야 합니다. 그렇지 않은 경우 스크립트가 차단됩니다.

MSHTA(Microsoft HTML 애플리케이션 호스트) 및 MSXML

MSHTA 또는 MSXML을 사용하는 모든 코드 실행은 해당 정책이 감사 모드인 경우에도 스크립트 적용이 활성화된 App Control 정책이 있는 경우 차단됩니다.

COM 개체

또한 App Control은 App Control 정책이 확장하거나 추가로 제한할 수 있는 COM 개체에 대해 제한된 허용 목록을 적용합니다. COM 개체 적용은 옵션 11 사용 안 함:스크립트 적용의 영향을 받지 않습니다. COM 개체를 허용하거나 거부하는 방법에 대한 자세한 내용은 COM 개체 등록 허용을 참조하세요.

App Control에서 직접 제어하지 않는 스크립트

App Control은 .bat/.cmd 스크립트 파일을 포함하여 windows 명령 프로세서(cmd.exe)를 통해 실행되는 코드를 직접 제어하지 않습니다. 그러나 이러한 일괄 처리 스크립트를 실행하려는 모든 항목에는 App Control 컨트롤이 적용됩니다. cmd.exe 실행할 필요가 없는 경우 완전히 차단하거나 호출 프로세스에 따라 예외로만 허용하는 것이 좋습니다. 비즈니스용 앱 컨트롤 정책을 사용하여 특정 플러그 인, 추가 기능 및 모듈 제어를 참조하세요.

App Control은 많은 타사 Java 또는 Python 엔진과 같이 확인되지 않은 스크립트 호스트를 통해 실행되는 스크립트를 제어하지 않습니다. App Control 정책에서 비인도 스크립트 호스트를 실행할 수 있도록 허용하는 경우 모든 스크립트가 해당 호스트를 통해 실행되도록 암시적으로 허용합니다. 비 Microsoft 스크립트 호스트의 경우 해당 스크립트 호스트가 App Control 정책에 대해 인식되는지 여부를 소프트웨어 공급업체와 검사 합니다.