GateKeeper me permite instalar cualquier cosa, no se realizan verificaciones

9

Puedo descargar aplicaciones de sitios web personalizados y ejecutarlas, incluso cuando mi configuración de gatekeeper está en "AppStore Only". Esta es mi solicitud, ni siquiera está firmada.

Cuál podría ser la razón para eso? Puedo reproducir este comportamiento en todos mis 3 macs.

JasonGenX
fuente
2
¿Cómo estás descargando y expandiendo las aplicaciones?
Gordon Davisson
a través de una ubicación de archivo smb: // server. copiándolos a mi escritorio. En otras máquinas, esto activa los mecanismos de seguridad correctamente. En mis máquinas, a pesar de que tengo "AppStore Only", tomar el mismo archivo de la misma manera es permitido, sin restricciones para la instalación y ejecución. Misterio.
JasonGenX
2
¿Qué sucede si descarga el mismo archivo a través de http?
estuffe

Respuestas:

7

Esta es una función de estado por diseño en la que un usuario administrador siempre puede anular Gatekeeper y abrir una aplicación haciendo clic derecho en la aplicación en Finder.

Un usuario administrador también puede cambiar la configuración de Gatekeeper o deshabilitarla por completo, por lo que no hay ningún daño real (al menos en mis ojos) al presentar un cuadro de diálogo de lista blanca por única vez para garantizar que el usuario administrador tenga la intención de permitir un incumplimiento (no firmado) o que no sea Mac App Store) para ejecutar.

Diálogo de entrenamiento de Apple para Gatekeeper - de support.apple.com/kb/HT5290

Ahora, si encuentra una manera para que un usuario no administrador evite Gatekeeper, entonces esperaría presentar una vulnerabilidad de seguridad con Apple para obtener crédito por encontrar un agujero una vez que corrija cualquier error de implementación que se haya hecho para permitir que se ejecuten las aplicaciones de políticas.

Apple documenta esta característica en profundidad sobre cómo incluir explícitamente en una lista blanca una aplicación.

Gatekeeper no es protección contra malware y no es una lista negra. Es un conjunto de políticas que permiten el primer lanzamiento de aplicaciones debidamente firmadas y / o la validación de los recibos de la tienda de aplicaciones de Mac. Si un usuario administrador inicia explícitamente y luego aprueba la ejecución de software no compatible, tiene un problema de educación o política en lugar de descubrir alguna falla en Gatekeeper.

En detalle, he resumido (y copiado en su mayoría) las secciones relevantes de la ayuda de Apple en la lista blanca de cualquier aplicación para que Gatekeeper permita que se ejecute sin obstáculos y sin previo aviso:

Cómo abrir una aplicación de un desarrollador no identificado y eximirla de Gatekeeper

Si está seguro de que la aplicación descargada de Internet es la última versión y es de una fuente de confianza, puede abrir una aplicación de un desarrollador no identificado siguiendo estos pasos.

Importante: Algunas aplicaciones seleccionadas por Apple de desarrolladores que están en el proceso de adquirir firmas de ID de desarrollador presentarán la opción "Abrir" cuando se haga doble clic.

Nota: en la mayoría de los casos, solo tendrá que realizar estos pasos una vez para todas las cuentas de usuario en la Mac:

  • En Finder, presione Control y haga clic con el botón derecho en el icono de la aplicación.
  • Seleccione Abrir en la parte superior del menú contextual que aparece.
  • Haga clic en Abrir en el cuadro de diálogo. Si se le solicita, ingrese un nombre de administrador y una contraseña.

Nota: Si hay una aplicación que presenta varios cuadros de diálogo de Gatekeeper, puede usar temporalmente la opción "Siempre" de Gatekeeper. Asegúrese de restaurar la opción Gatekeeper que estaba allí antes para recuperar la función Gatekeeper.

Puede controlar fácilmente quién puede incluir las aplicaciones en la lista blanca al no entregar nombres de usuario y contraseñas de administrador a usuarios que no conocen esta funcionalidad y también puede administrar gatekeeper desde el terminal o el administrador de perfiles y otro software de configuración administrado como Casper de JAMF. También puede auditar sus máquinas para el software que ha sido incluido en la lista blanca para restablecer periódicamente la lista de aplicaciones permitidas y determinar quién ejerce esta función en caso de que desee cambiar la política y el hábito.

bmike
fuente
¿Hay alguna configuración que restablezca este diálogo único? ¿esto es por aplicación? ¿Cómo se identifican las aplicaciones? ¿nombre? ¿camino? si he optado por abrir "MyApp.app" una vez, ¿todas las próximas descargas e instalaciones de "MyApp.app" se realizarán independientemente de la configuración de GateKeeper?
JasonGenX
Cada usuario tiene diferentes reglas que se almacenan en / var / db / SystemPolicy, por lo que sería un poco pesado para borrar eso y comenzar de nuevo, pero puede eliminar reglas específicas con spctllo que spctl --assess -v /Applications/Whatever.apple mostrará si está permitido o rechazado y spctl --remove /Applications/Whatever.appse restablecería el "diálogo" y el estado de una aplicación específica. Utilizo una herramienta para recopilar todas las aplicaciones en los sistemas para poder auditar el uso y corregir las cosas cuando sea necesario con un breve script.
bmike
Sin embargo, según la respuesta de Gordon, esto también depende del bit de cuarentena que se establezca, por lo que solo porque GateKeeper no tiene una entrada en la lista blanca (o se elimina), el bit de cuarentena debe reiniciarse o la aplicación debe eliminarse para renovar el " cuadro de diálogo de gatekeeper "y protecciones abiertas.
bmike
10

La descarga de un archivo a través de SMB no activará la cuarentena y, dado que la aplicación no está en cuarentena, la política de gatekeeper nunca se verifica. No estoy seguro de por qué está marcado como en cuarentena en sus otras computadoras ...

Para verificar la cuarentena en cualquier momento, use el ls -ld@comando para buscar el atributo com.apple.quarantine:

$ ls -ld@ /Applications/TextWrangler.app
drwxrwxr-x@ 3 gordon  staff  102 Apr 30  2012 /Applications/TextWrangler.app
    com.apple.FinderInfo     32 
    com.apple.quarantine     57 

Si ese atributo de cuarentena se adjunta a la aplicación, se comprobará la política del controlador de acceso; si no, no lo hará. La pregunta interesante es por qué se puso en cuarentena en sus otras computadoras, y si usa este comando para verificar la aplicación en varios puntos a medida que la distribuye, puede averiguar cuándo se adjunta el atributo (y, por lo tanto, por qué se adjunta).

EDITAR: Hay una nota relacionada con esto en la sección "Haga clic aquí para obtener más detalles" del artículo KB de Apple # HT5290 :

Importante: la firma de ID de desarrollador se aplica a las aplicaciones descargadas de Internet. Las aplicaciones de otras fuentes, como servidores de archivos, unidades externas o discos ópticos están exentas, a menos que las aplicaciones se hayan descargado originalmente de Internet.

Gordon Davisson
fuente
Gatekeeper es distinto de la cuarentena, aunque en conjunto ayudan a proteger contra la ejecución accidental de un nuevo software que no está firmado o no desde Mac App Store. Vea mi respuesta para más detalles.
bmike
1
@bmike: En realidad, gatekeeper es una extensión del sistema de cuarentena; si descarga una aplicación y luego la ejecuta xattr -d com.apple.quarantine, puede abrirla incluso si viola la política de gatekeeper.
Gordon Davisson el
Ya puede abrir cualquier aplicación que viole la política de gatekeeper. Solo obtienes (potencialmente un diálogo de administrador y) la oportunidad de salir de la lista blanca de aplicaciones de políticas. ¿Está diciendo que un usuario que no sea administrador podría emitir un comando omitirá la verificación si tiene solo Mac App Store o solo aplicaciones firmadas?
bmike
1
@bmike: Sí, acabo de probar la descarga, la eliminación de cuarentenas y la ejecución de una aplicación no firmada desde una cuenta que no es de administrador y funcionó bien a pesar de que Gatekeeper se configuró en el modo Mac App Store únicamente. Pero no lo consideraría un agujero de seguridad significativo, ya que si un delincuente puede convencer a un usuario para que ejecute un comando como este, puede convencerlo de cualquier cosa, y el usuario está condenado de todos modos (y dado que no es un administrador, todo lo que pueden dañar es su propia cuenta).
Gordon Davisson
1
Esta. Cuarentena no es lo mismo que Gatekeeper, pero Gatekeeper se basa en los metadatos de Quarantine, que se adjunta a los archivos descargados como metadatos de atributos extendidos. Si pudiera otorgar la recompensa, la otorgaría aquí.
Daniel
4

Si ha habilitado esta preferencia oculta, también deshabilita Gatekeeper:

defaults write com.apple.LaunchServices LSQuarantine -bool false

O OS X permite abrir todas las aplicaciones independientemente de la configuración en Preferencias del sistema.

Lri
fuente
Vaya, me lo perdí por completo y publiqué lo mismo que una respuesta por separado. Eliminando ahora ...
TJ Luoma
2

Gatekeeper evita que las aplicaciones se ejecuten haciendo doble clic, pero siempre puede anularlo seleccionando Abrir en el menú contextual.

Si puede ejecutar aplicaciones descargadas sin firmar haciendo doble clic, este es un problema con Gatekeeper. Los archivos almacenan su estado de cuarentena en un atributo extendido llamado com.apple.quarantine . Si este atributo se borra por algún motivo de sus archivos descargados, Gatekeeper tratará los archivos descargados como no diferentes de cualquier otro archivo en su computadora. Por lo tanto, sugeriría que descargar un programa y luego usarlo xattr -l filenameen la Terminal sería una buena herramienta de diagnóstico si tiene instalado Xcode.

Si los ejecuta a través del comando Abrir desde un menú, este es el comportamiento diseñado. Tenga en cuenta que una vez que haya ejecutado un programa desde el menú, se habilitará para siempre que se ejecute haciendo doble clic, independientemente de la configuración de Gatekeeper.

Daniel
fuente