AppLocker en Windows
A continuación, explicaremos el funcionamiento y reglas de Applocker en Windows. La cual, suele ser catalogada como una actualización de la SRP dado sus funciones y diferencias.
Table of Contents
Toggle¿Qué es AppLocker?
AppLocker son aquellas directivas de la LSP que describen las políticas de control de aplicaciones del sistema. Estas nacieron con versiones Enterprise y Ultimate de Windows 7. Y a diferencia de la SRP, contiene nuevas funcionalidades y extensiones con las cuales podemos crear reglas para permitir o denegar la ejecución de aplicaciones en función de identidades únicas de archivos y especificar qué usuarios o grupos pueden ejecutarlas.
En cuanto a funciones, podemos destacar:
Establecer reglas basadas en atributos de archivo derivados de la firma digital, incluidos el publicador, el nombre del producto, el nombre de archivo y la versión del archivo.
Controlar diferentes tipos de aplicación, como archivos ejecutables (.exe y .com), scripts (.js, .ps1, .vbs, .bat y .cmd), archivos de Windows installer (.msi, .mst y .msp), como también extenciones de archivos DLL (.dll y .ocx) e instaladores de aplicaciones empaquetadas (.appx).
Utilizar el modo de solo auditoría para implementar la directiva y verificar qué impacto tendría antes de aplicarla.
Aplicar una regla a un grupo de seguridad o a un usuario individual.
Estas son unas de las tantas funciones que podemos encontrar. En este apartado veremos algunas implementaciones llevadas a cabo tanto en una organización como a nivel local.
Configuración inicial
Como podemos ver, encontraremos las reglas de AppLocker dentro de la carpeta de Políticas de control de aplicaciones en Windows. Estas son:
- Ejecutables (suelen ser las más usadas).
- Instalador de Windows.
- Reglas de scripts.
- Reglas de paquetes de aplicaciones.
En caso que no tengamos reglas creadas, procederemos a crear una por defecto haciendo clic derecho dentro de Executables Rules en la opción Create Default Rules.
Como podemos ver, tenemos tres reglas similares a la SRP, cuyas funciones son:
1- Permitir a todos los usuarios de Windows ejecutar cualquier programa que esté dentro de Program Files (Archivos de programa).
2- Permitir a todos los usuarios del sistema ejecutar archivos que estén dentro de la carpeta de Windows.
3- Permitir a los administradores ejecutar cualquier archivo.
Verificar la configuración de enforcement
Esta configuración nos permite activar/desactivar todas las reglas que tengamos. Como se muestra, estas vienen desactivas por defecto. Sin embargo, podemos activarlas por tipo de reglas. En nuestro caso vamos a activar las Reglas de Ejecutables.
Cuando la aplicación de políticas de AppLocker se establece Enforce rules (Aplicar reglas), las directivas se aplican para la colección de reglas y se auditan todos los eventos en Windows. Cuando esta se establece en Audit only (Solo auditar), las reglas solo se evalúan, pero todos los eventos generados a partir de dicha evaluación, se escribirán en el registro de AppLocker.
Servicio de Aplicación de Identidad
Ahora bien, para aplicar las políticas de Applocker debemos verificar que el servicio de Windows de Aplicación de Identidad esté activado, ya que el mismo se va a encargar de verificar y auditar la identidad de cada una de las aplicaciones. Por lo tanto, vamos a configurarlo para que inicie automáticamente de la siguiente manera:
Buscamos los servicios del sistema (Services local) en el buscador del equipo, luego hacemos doble click en la identidad de aplicaciones (Application Identity) y dentro de la misma procedemos a configurarlas de forma automática. Finalmente las iniciamos presionando Start
Es recomendable reiniciar el sistema siempre que modificamos el estado de un servicio. En caso de no tener respuesta, una de las formas de forzar la aplicación de estas políticas es a través del comando gpupdate en la consola o cmd de Windows (tanto en entornos locales como de Active Directory).
Recordar
Algo importante a tener en cuenta es que, aunque el sistema no nos permita ejecutar programas por las reglas que hemos configurado (Mas allá de que hay una regla la cual especifica que aquellos dentro del grupo administradores si pueden ejecutar archivos), esto sucede porque no lo estamos ejecutando con permisos elevados. Es decir, el sistema no interpreta que nosotros tenemos permisos de administrador. Para ello, será necesario ejecutar dicho programa como administrador (clic derecho, luego “Run as Administrator)
En cuanto a la configuración de Reglas y de Hash, el método no es muy diferente a la de las SRP. Es decir, solo tenemos que hacer click derecho y elegir la opción de crear nueva ruta. Podremos ver en la parte superior izquierda las distintas opciones, como elegir los permisos y usuarios destinados a dichas reglas. Recordemos la seguridad que implica elegir una configuración de Hash. Siempre se recomienda usar las políticas de denegación por defecto.
Reglas de Publisher
A diferencia de una regla de certificados de la SRP, aquí no es necesario obtener un certificado para utilizar una regla editor porque los detalles de la firma digital son extraídos del archivo de aplicación de referencia. Es decir, si un archivo no tiene firma digital, no se puede restringir ni permitir mediante reglas de AppLocker editor en Windows. Por lo tanto, en cuanto a funcionalidad, permiten más flexibilidad que las reglas hash porque se puede establecer, no sólo una versión específica de un archivo, sino también todas las versiones futuras del mismo.
Como podemos ver, hemos elegido las reglas de Publisher aplicado a un archivo ejecutable, en este caso, a un script hecho en el lenguaje de programación Python. Por lo tanto, teniendo en cuenta estas reglas de applocker en windows, los niveles de reglas que tenemos para elegir especifican lo siguiente:
- Any Publisher: Esto quiere decir que, cualquier desarrollador que haya firmado su software, podrá ser ejecutado. Como bien sabremos, esto muy inseguro. Por lo tanto, no se recomienda.
- Publisher: En Publisher, cualquier software firmado con el certificado que se muestra (en este caso, PYTHON SOFTWARE FUNDATION), podrá ser ejecutado.
- Product name: Aquí solamente vamos a poder ejecutar PYTHON, el cual es el programa que tomamos como referencia.
- File name: En este caso, y como se puede apreciar, también se va a validar el nombre del archivo.
- File versión: Únicamente dicha versión podrá ser ejecutada.
Teniendo todo esto en cuenta, podemos notar que los niveles de seguridad son bastantes estrictos. Sin embargo, no debemos olvidarnos que siempre tenemos que pensar y hacer las cosas en una relación Seguridad-Usabilidad según la información y el usuario. Por lo tanto, en estos casos es recomendable ejecutar las reglas en el nivel de “Publisher”.