Estamos ejecutando una granja de servidores de Terminal Server en un dominio de Windows 2003, y encontré un problema con la configuración de Restricciones de software de GPO que se aplica a nuestros servidores TS. Aquí están los detalles de nuestra configuración y el problema:
Todos nuestros servidores (controladores de dominio y servidores de terminal) ejecutan Windows Server 2003 SP2 y tanto el dominio como el bosque están en el nivel de Windows 2003. Nuestros servidores TS están en una unidad organizativa donde tenemos GPO específicos vinculados y tenemos herencia bloqueada, por lo que solo los GPO específicos de TS se aplican a estos servidores TS. Todos nuestros usuarios son remotos y no tienen estaciones de trabajo unidas a nuestro dominio, por lo que no utilizamos el procesamiento de políticas de bucle invertido. Tomamos un enfoque de "lista blanca" para permitir que los usuarios ejecuten aplicaciones, por lo que solo las aplicaciones que aprobamos y agregamos como ruta o reglas hash pueden ejecutarse. Tenemos el Nivel de seguridad en Restricciones de software establecido en No permitido y Enforcement se establece en "Todos los archivos de software excepto las bibliotecas".
Lo que he encontrado es que si le doy a un usuario un acceso directo a una aplicación, puede iniciar la aplicación incluso si no está en la lista de Reglas Adicionales de aplicaciones "incluidas en la lista blanca". Si le doy a un usuario una copia del ejecutable principal de la aplicación e intenta iniciarlo, recibirá el mensaje esperado "este programa ha sido restringido ...". Parece que las restricciones de software están funcionando, excepto cuando el usuario inicia una aplicación usando un acceso directo en lugar de iniciar la aplicación desde el ejecutable principal, lo que parece contradecir el propósito de usar restricciones de software.
Mis preguntas son: ¿Alguien más ha visto este comportamiento? ¿Alguien más puede reproducir este comportamiento? ¿Me falta algo en mi comprensión de las restricciones de software? ¿Es probable que tenga algo mal configurado en Restricciones de software?
EDITAR
Para aclarar un poco el problema:
No se aplican los GPO de nivel superior. Ejecutar gpresults muestra que, de hecho, solo se están aplicando los GPO de nivel TS y, de hecho, puedo ver cómo se aplican mis restricciones de software. No se utilizan comodines de ruta. Estoy probando con una aplicación que se encuentra en "C: \ Archivos de programa \ Aplicación \ ejecutable.exe" y el ejecutable de la aplicación no está en ninguna ruta o regla hash. Si el usuario inicia el ejecutable de la aplicación principal directamente desde la carpeta de la aplicación, se aplican las restricciones de software. Si le doy al usuario un acceso directo que apunta al ejecutable de la aplicación en "C: \ Archivos de programa \ Aplicación \ ejecutable.exe", entonces puede iniciar el programa.
EDITAR
Además, los archivos LNK se enumeran en los Tipos de archivo designados, por lo que deben tratarse como ejecutables, lo que significa que están sujetos a las mismas configuraciones y reglas de Restricciones de software.
fuente
Respuestas:
Así que finalmente encontré la respuesta. En nuestras reglas de Restricciones de software hay una regla de ruta como tal:
% HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ ProgramFilesDir%
Esto permite que cualquier ejecutable dentro del directorio de Archivos de programa y sus directorios secundarios se ejecuten sin gravámenes. Esta ruta se agrega de manera predeterminada cuando configura Restricciones de software. La eliminación de esta regla de ruta hace que se denieguen todos los programas, incluso si su ejecutable se agrega explícitamente como una ruta sin restricciones.
Lo que plantea la pregunta: si el 99% de todos los programas están instalados en el directorio de Archivos de programa, pero quiero restringir ciertos programas, ¿cómo puedo lograrlo con Restricciones de software?
Igualmente importante es la pregunta, ¿exactamente de qué sirven las restricciones de software, excepto para aquellos programas o ejecutables que no se encuentran en los archivos de programa?
fuente
Verificaría las ACL en el acceso directo que ha creado para los usuarios. Según las mejores prácticas de las políticas de restricción de software: política de seguridad; Servicios de seguridad ,
fuente
Es posible que desee intentar eliminar LNK como un tipo de archivo designado. Aunque están siendo tratados como ejecutables, no deberían serlo. De esta forma, las restricciones de software deberían aplicarse al ejecutable al que apunta el archivo LNK, y no al archivo LNK en sí.
fuente
He experimentado de lo que estás hablando, es muy molesto. Estoy bastante seguro de que, de forma predeterminada, sus usuarios pueden ejecutar aplicaciones que están instaladas en Archivos de programa.
¿Has intentado restringir el acceso a aplicaciones con permisos NTFS y listas blancas de esa manera?
Luego, los usuarios podrían tener accesos directos a lo que quisieran y no les ayudaría, ya que no podrían acceder al programa.
Ref: http://www.virtualizationadmin.com/articles-tutorials/terminal-services/security/locking-down-windows-terminal-services.html
fuente