Considerações de segurança para o AppLocker
Este artigo para profissionais de TI descreve as considerações de segurança que tem de abordar ao implementar o AppLocker.
O AppLocker ajuda a restringir o acesso ao software para utilizadores ou grupos de utilizadores específicos. Seguem-se considerações de segurança para o AppLocker:
O AppLocker é implementado numa empresa e administrado centralmente por esses recursos em TI com credenciais fidedignas. Este sistema faz com que a sua criação e implementação de políticas estejam em conformidade com processos de implementação de políticas semelhantes e restrições de segurança.
As políticas appLocker são distribuídas através de processos conhecidos e por meios conhecidos dentro do domínio através de Política de Grupo. No entanto, as políticas do AppLocker também podem ser definidas em computadores individuais se a pessoa tiver privilégios de administrador e essas políticas podem ser contrárias à política de segurança escrita da organização. As definições do modo de imposição das políticas appLocker distribuídas através de objetos de Política de Grupo (GPO) têm precedência sobre as políticas locais. No entanto, como as regras do AppLocker são aditivas, as regras de uma política local são intercaladas com regras de quaisquer GPOs aplicados ao computador.
A Microsoft não fornece uma forma de desenvolver extensões para o AppLocker. As interfaces não são públicas. Um utilizador com credenciais de administrador pode automatizar alguns processos do AppLocker com Windows PowerShell cmdlets. Para obter informações sobre os cmdlets Windows PowerShell do AppLocker, consulte Os Cmdlets do AppLocker no Windows PowerShell.
O AppLocker é executado no contexto de Administrador ou LocalSystem, que é o conjunto de privilégios mais elevado. Este contexto de segurança tem o potencial de utilização indevida. Uma vez que as regras do AppLocker são aditivas, todas as regras de política local são aplicadas a esse computador juntamente com quaisquer GPOs. Se o computador local não estiver associado a um domínio ou controlado por Política de Grupo, uma pessoa com credenciais administrativas pode controlar totalmente a política do AppLocker.
As regras de caminho do AppLocker não substituem as listas de controlo de acesso (ACLs). Deve continuar a utilizar ACLs para restringir o acesso a ficheiros de acordo com a sua política de segurança.
Não pode utilizar o AppLocker para impedir que o código seja executado fora do subsistema Win32. Por exemplo, não pode controlar o código em execução no Subsistema do Windows para Linux. Se for um requisito para impedir que as aplicações sejam executadas no subsistema Linux, tem de desativar o subsistema. Em alternativa, pode bloquear a Subsistema do Windows para Linux ao bloquear LxssManager.dll.
O AppLocker só pode controlar ficheiros VBScript, JScript, .bat, ficheiros de .cmd e scripts Windows PowerShell. Não controla todos os códigos interpretados que são executados num processo de anfitrião, por exemplo, scripts perl e macros. O código interpretado é uma forma de código executável que é executado num processo de anfitrião. Por exemplo, os ficheiros em lote do Windows (*.bat) são executados no contexto do Anfitrião de Comandos do Windows (cmd.exe). Para controlar o código interpretado com o AppLocker, o processo de anfitrião tem de chamar o AppLocker antes de executar o código interpretado e, em seguida, impor a decisão devolvida pelo AppLocker. Nem todos os processos de anfitrião são chamados para o AppLocker e, por conseguinte, o AppLocker não consegue controlar todos os tipos de código interpretado, como macros do Microsoft Office.
Importante
Deve configurar as definições de segurança adequadas destes processos de anfitrião se tiver de permitir que sejam executados. Por exemplo, configure as definições de segurança no Microsoft Office para garantir que apenas as macros assinadas e fidedignas são carregadas.
As regras do AppLocker permitem ou bloqueiam a execução do ficheiro de aplicação. O AppLocker não controla o comportamento das aplicações depois de serem iniciadas. As aplicações podem conter sinalizadores transmitidos para funções que sinalizam o AppLocker para contornar as regras e permitir que outro .exe ou .dll seja carregado. Na prática, uma aplicação permitida poderia utilizar estes sinalizadores para ignorar as regras do AppLocker e iniciar processos subordinados. Tem de examinar cuidadosamente cada aplicação antes de permitir que sejam executadas com as regras do AppLocker.
Observação
Dois sinalizadores que ilustram esta condição são SANDBOX_INERT
, que podem ser transmitidos para CreateRestrictedToken
, e LOAD_IGNORE_CODE_AUTHZ_LEVEL
, que podem ser transmitidos para LoadLibraryEx
. Ambos os sinalizadores assinalam o AppLocker para contornar as regras e permitir que um .exe ou .dll subordinado seja carregado.