Consideraciones de seguridad para AppLocker

En este artículo para el profesional de TI se describen las consideraciones de seguridad que debe abordar al implementar AppLocker.

AppLocker ayuda a restringir el acceso al software para usuarios o grupos específicos de usuarios. Las siguientes son consideraciones de seguridad para AppLocker:

AppLocker se implementa dentro de una empresa y los administran de forma centralizada esos recursos de TI con credenciales de confianza. Este sistema hace que su creación e implementación de directivas se ajusten a procesos de implementación de directivas similares y restricciones de seguridad.

Las directivas de AppLocker se distribuyen a través de procesos conocidos y por medios conocidos dentro del dominio a través de directiva de grupo. Pero las directivas de AppLocker también se pueden establecer en equipos individuales si la persona tiene privilegios de administrador, y esas directivas podrían ser contrarias a la directiva de seguridad escrita de la organización. La configuración del modo de cumplimiento de las directivas de AppLocker distribuidas a través de objetos directiva de grupo (GPO) tiene prioridad sobre las directivas locales. Sin embargo, dado que las reglas de AppLocker son aditivas, las reglas de una directiva local se combinan con las reglas de cualquier GPO aplicado al equipo.

Microsoft no proporciona una manera de desarrollar extensiones para AppLocker. Las interfaces no son públicas. Un usuario con credenciales de administrador puede automatizar algunos procesos de AppLocker mediante cmdlets de Windows PowerShell. Para obtener información sobre los cmdlets de Windows PowerShell para AppLocker, consulta los cmdlets de AppLocker en Windows PowerShell.

AppLocker se ejecuta en el contexto de Administrador o LocalSystem, que es el conjunto de privilegios más alto. Este contexto de seguridad tiene el potencial de uso indebido. Dado que las reglas de AppLocker son aditivas, las reglas de directiva local se aplican a ese equipo junto con los GPO. Si el equipo local no está unido a un dominio o controlado por directiva de grupo, una persona con credenciales administrativas puede controlar completamente la directiva de AppLocker.

Las reglas de ruta de acceso de AppLocker no reemplazan las listas de control de acceso (ACL). Debe seguir usando las ACL para restringir el acceso a los archivos según la directiva de seguridad.

No puede usar AppLocker para evitar que el código se ejecute fuera del subsistema Win32. Por ejemplo, no puede controlar el código que se ejecuta en el Subsistema de Windows para Linux. Si es un requisito para evitar que las aplicaciones se ejecuten en el subsistema de Linux, debe deshabilitar el subsistema. O bien, puede bloquear el Subsistema de Windows para Linux bloqueando LxssManager.dll.

AppLocker solo puede controlar VBScript, JScript, archivos .bat, archivos .cmd y scripts de Windows PowerShell. No controla todo el código interpretado que se ejecuta dentro de un proceso host, por ejemplo, scripts y macros de Perl. El código interpretado es una forma de código ejecutable que se ejecuta dentro de un proceso host. Por ejemplo, los archivos por lotes de Windows (*.bat) se ejecutan en el contexto del host de comandos de Windows (cmd.exe). Para controlar el código interpretado mediante AppLocker, el proceso de host debe llamar a AppLocker antes de ejecutar el código interpretado y, a continuación, aplicar la decisión devuelta por AppLocker. No todos los procesos host llaman a AppLocker y, por lo tanto, AppLocker no puede controlar ningún tipo de código interpretado, como macros de Microsoft Office.

Importante

Debe configurar los valores de seguridad adecuados de estos procesos de host si debe permitir que se ejecuten. Por ejemplo, configure las opciones de seguridad en Microsoft Office para asegurarse de que solo se cargan macros firmadas y de confianza.

Las reglas de AppLocker permiten o impiden que se ejecute el archivo de aplicación. AppLocker no controla el comportamiento de las aplicaciones después de iniciarlas. Las aplicaciones pueden contener marcas que se pasan a funciones que indican a AppLocker que sortee las reglas y permita que se cargue otro .exe o .dll. En la práctica, una aplicación permitida podría usar estas marcas para omitir las reglas de AppLocker e iniciar procesos secundarios. Debe examinar exhaustivamente cada aplicación antes de permitirles ejecutarse mediante reglas de AppLocker.

Nota

Dos marcas que ilustran esta condición son SANDBOX_INERT, que se pueden pasar a CreateRestrictedTokeny LOAD_IGNORE_CODE_AUTHZ_LEVEL, que se pueden pasar a LoadLibraryEx. Ambas marcas indican a AppLocker que sortee las reglas y permita que se cargue un .exe secundario o .dll.