Protección de la configuración de seguridad de macOS con protección contra alteraciones

Se aplica a:

¿Quiere experimentar Defender para punto de conexión? Regístrese para obtener una prueba gratuita.

La protección contra alteraciones en macOS ayuda a evitar que los usuarios no autorizados realicen cambios no deseados en la configuración de seguridad. La protección contra alteraciones ayuda a evitar la eliminación no autorizada de Microsoft Defender para punto de conexión en macOS. Esta funcionalidad también ayuda a que los archivos de seguridad, los procesos y los valores de configuración importantes no se manipulen.

Importante

A partir de marzo de 2023, Microsoft Defender para punto de conexión en macOS respeta la selección de protección contra alteraciones aplicada a través del conmutador global de protección contra alteraciones en la configuración avanzada del portal de Microsoft Defender (https://security.microsoft.com). Puede optar por aplicar (bloquear, auditar o deshabilitar) su propia configuración de protección contra alteraciones de macOS mediante una solución de administración de dispositivos móviles (MDM), como Intune o JAMF (recomendado). Si la configuración de protección contra alteraciones no se ha aplicado a través de MDM, un administrador local puede seguir cambiando manualmente la configuración con el siguiente comando: sudo mdatp config tamper-protection enforcement-level --value (chosen mode).

Puede establecer la protección contra alteraciones en los modos siguientes:

Artículo Descripción
Deshabilitada La protección contra alteraciones está completamente desactivada.
Auditoría Las operaciones de manipulación se registran, pero no se bloquean. Este modo es el predeterminado después de la instalación.
Bloquear La protección contra alteraciones está activada; se bloquean las operaciones de manipulación.

Cuando la protección contra alteraciones se establece en modo de auditoría o bloqueo, puede esperar los siguientes resultados:

Modo de auditoría:

  • Las acciones para desinstalar el agente de Defender para punto de conexión se registran (auditadas)
  • La edición o modificación de archivos de Defender para punto de conexión se registra (auditada)
  • Se registra la creación de nuevos archivos en la ubicación de Defender para punto de conexión (auditada)
  • La eliminación de archivos de Defender para punto de conexión se registra (auditada)
  • Se registra el cambio de nombre de los archivos de Defender para punto de conexión (auditado)

Modo de bloque:

  • Las acciones para desinstalar el agente de Defender para punto de conexión están bloqueadas
  • Se bloquea la edición o modificación de archivos de Defender para punto de conexión
  • Se bloquea la creación de nuevos archivos en la ubicación de Defender para punto de conexión
  • Se bloquea la eliminación de archivos de Defender para punto de conexión
  • Se bloquea el cambio de nombre de los archivos de Defender para punto de conexión
  • Error en los comandos para detener el agente (wdavdaemon)

Este es un ejemplo de un mensaje del sistema en respuesta a una acción bloqueada:

Captura de pantalla del mensaje bloqueado de la operación.

Puede configurar el modo de protección contra alteraciones proporcionando el nombre del modo como nivel de cumplimiento.

Nota:

  • El cambio de modo se aplicará inmediatamente.
  • Si usó JAMF durante la configuración inicial, también deberá actualizar la configuración mediante JAMF.

Antes de empezar

  • Versiones de macOS compatibles: Big Sur (11) o posterior
  • Versión mínima necesaria para Defender para punto de conexión: 101.70.19

Importante

Microsoft recomienda utilizar roles con la menor cantidad de permisos. Esto ayuda a mejorar la seguridad de la organización. Administrador global es un rol con muchos privilegios que debe limitarse a escenarios de emergencia cuando no se puede usar un rol existente.

Configuración muy recomendada:

  • Protección de integridad del sistema (SIP) habilitada. Para obtener más información, consulte Deshabilitación y habilitación de la protección de integridad del sistema.

  • Use una herramienta de administración de dispositivos móviles (MDM) para configurar Microsoft Defender para punto de conexión.

  • Asegúrese de que Defender para punto de conexión tiene autorización de acceso a disco completo .

    Nota:

    Tanto tener SIP habilitado como toda la configuración realizada a través de MDM no es obligatorio, pero es necesario para un dispositivo totalmente protegido, ya que de lo contrario, un administrador local todavía puede realizar cambios de manipulación que administra macOS. Por ejemplo, al habilitar TCC (Transparencia, Consentimiento & Control) a través de una solución de administración de dispositivos móviles como Intune, se eliminará el riesgo de que un administrador global revoque la autorización de acceso total al disco por parte de un administrador local.

Configuración de la protección contra alteraciones en dispositivos macOS

Microsoft Defender evalúa esta configuración en el orden siguiente. Si se configura una configuración de mayor prioridad, el resto se omite:

  1. Perfil de configuración administrada (valor tamperProtection/enforcementLevel):

  2. Configuración manual (con mdatp config tamper-protection enforcement-level --value { disabled|audit|block })

  3. Si la protección contra alteraciones está habilitada en el portal de Microsoft Defender, se usa el modo "bloquear" (en versión preliminar; no está disponible para todos los clientes).

    • Si el dispositivo tiene licencia, el modo "audit" se usa de forma predeterminada.
    • Si el dispositivo no tiene licencia, la protección contra alteraciones se encuentra en el modo "bloquear".

Antes de empezar

Asegúrese de que el dispositivo tiene licencia y está en buen estado (informe de valores correspondientes true):

mdatp health
healthy                                     : true
health_issues                               : []
licensed                                    : true
...
tamper_protection                           : "audit"

tamper_protection notifica el nivel de cumplimiento efectivo.

Configuración manual

  1. Use el siguiente comando para cambiar al modo más restrictivo:
sudo mdatp config tamper-protection enforcement-level --value block

Imagen del comando de configuración manual

Nota:

Debe usar el perfil de configuración administrada (implementado a través de MDM) en los dispositivos de producción. Si un administrador local cambió el modo de protección contra alteraciones a través de una configuración manual, también puede cambiarlo a un modo menos restrictivo en cualquier momento. Si el modo de protección contra alteraciones se estableció a través de un perfil administrado, solo un administrador global podrá deshacerlo.

  1. Compruebe el resultado.
healthy                                     : true
health_issues                               : []
licensed                                    : true
engine_version                              : "1.1.19300.3"
app_version                                 : "101.70.19"
org_id                                      : "..."
log_level                                   : "info"
machine_guid                                : "..."
release_ring                                : "InsiderFast"
product_expiration                          : Dec 29, 2022 at 09:48:37 PM
cloud_enabled                               : true
cloud_automatic_sample_submission_consent   : "safe"
cloud_diagnostic_enabled                    : false
passive_mode_enabled                        : false
real_time_protection_enabled                : true
real_time_protection_available              : true
real_time_protection_subsystem              : "endpoint_security_extension"
network_events_subsystem                    : "network_filter_extension"
device_control_enforcement_level            : "audit"
tamper_protection                           : "block"
automatic_definition_update_enabled         : true
definitions_updated                         : Jul 06, 2022 at 01:57:03 PM
definitions_updated_minutes_ago             : 5
definitions_version                         : "1.369.896.0"
definitions_status                          : "up_to_date"
edr_early_preview_enabled                   : "disabled"
edr_device_tags                             : []
edr_group_ids                               : ""
edr_configuration_version                   : "20.199999.main.2022.07.05.02-ac10b0623fd381e28133debe14b39bb2dc5b61af"
edr_machine_id                              : "..."
conflicting_applications                    : []
network_protection_status                   : "stopped"
data_loss_prevention_status                 : "disabled"
full_disk_access_enabled                    : true

Observe que ahora tamper_protection está establecido en block.

JAMF

Para configurar el modo de protección contra alteraciones en el perfil de configuración de Microsoft Defender para punto de conexión, agregue los valores siguientes:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>tamperProtection</key>
    <dict>
      <key>enforcementLevel</key>
      <string>block</string>
    </dict>
  </dict>
</plist>

Nota:

Si ya tiene un perfil de configuración para Microsoft Defender para punto de conexión, debe agregarle la configuración. No debe crear un segundo perfil de configuración.

Intune

Catálogo de configuraciones

Puede crear un nuevo perfil de catálogo de configuración para agregar la configuración de protección contra alteraciones, o bien puede agregarla a una existente. La configuración "Nivel de cumplimiento" se puede encontrar en la categoría "Microsoft Defender" y la subcategoría "Protección contra alteraciones". Después, elija el nivel deseado.

Perfil personalizado

Como alternativa, también puede configurar la protección contra alteraciones a través de un perfil personalizado. Para obtener más información, consulte Establecer preferencias para Microsoft Defender para punto de conexión en macOS.

Nota:

Para la configuración de Intune, puede crear un nuevo archivo de configuración de perfil para agregar la configuración de protección contra alteraciones, o bien puede agregar estos parámetros al existente. Elija el nivel deseado.

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1">
    <dict>
        <key>PayloadUUID</key>
        <string>C4E6A782-0C8D-44AB-A025-EB893987A295</string>
        <key>PayloadType</key>
        <string>Configuration</string>
        <key>PayloadOrganization</key>
        <string>Microsoft</string>
        <key>PayloadIdentifier</key>
        <string>com.microsoft.wdav</string>
        <key>PayloadDisplayName</key>
        <string>Microsoft Defender for Endpoint settings</string>
        <key>PayloadDescription</key>
        <string>Microsoft Defender for Endpoint configuration settings</string>
        <key>PayloadVersion</key>
        <integer>1</integer>
        <key>PayloadEnabled</key>
        <true/>
        <key>PayloadRemovalDisallowed</key>
        <true/>
        <key>PayloadScope</key>
        <string>System</string>
        <key>PayloadContent</key>
        <array>
            <dict>
                <key>PayloadUUID</key>
                <string>99DBC2BC-3B3A-46A2-A413-C8F9BB9A7295</string>
                <key>PayloadType</key>
                <string>com.microsoft.wdav</string>
                <key>PayloadOrganization</key>
                <string>Microsoft</string>
                <key>PayloadIdentifier</key>
                <string>com.microsoft.wdav</string>
                <key>PayloadDisplayName</key>
                <string>Microsoft Defender for Endpoint configuration settings</string>
                <key>PayloadDescription</key>
                <string/>
                <key>PayloadVersion</key>
                <integer>1</integer>
                <key>PayloadEnabled</key>
                <true/>
                <key>tamperProtection</key>
                <dict>
                             <key>enforcementLevel</key>
                             <string>block</string>
                </dict>
            </dict>
        </array>
    </dict>
</plist>

Comprobar el estado

Para comprobar el estado de la protección contra alteraciones, ejecute el siguiente comando:

mdatp health --field tamper_protection

El resultado muestra "bloquear" si la protección contra alteraciones está activada:

Imagen de la protección contra alteraciones en modo de bloque

También puede ejecutar full mdatp health y buscar el "tamper_protection" en la salida.

Para obtener información ampliada sobre el estado de protección contra alteraciones, ejecute mdatp health --details tamper_protection.

Comprobación de las funcionalidades preventivas de protección contra alteraciones

Puede comprobar que la protección contra alteraciones está activada de varias maneras.

Comprobación del modo de bloque

La alerta de manipulación se genera en el portal de Microsoft Defender

Captura de pantalla de la alerta de manipulación desencadenada en el portal de Microsoft Defender.

Comprobación del modo de bloque y los modos de auditoría

  • Con la búsqueda avanzada, verá que aparecen alertas de manipulación.
  • Los eventos de alteración se pueden encontrar en los registros de dispositivos locales: sudo grep -F '[{tamperProtection}]' /Library/Logs/Microsoft/mdatp/microsoft_defender_core.log

Captura de pantalla del registro de protección contra alteraciones.

Escenarios de bricolaje

  • Con la protección contra alteraciones establecida en "bloquear", intente diferentes métodos para desinstalar Defender para punto de conexión. Por ejemplo, arrastre el icono de la aplicación a la papelera o desinstale la protección contra alteraciones mediante la línea de comandos.

  • Intente detener el proceso de Defender para punto de conexión (eliminación).

  • Intente eliminar, cambiar el nombre, modificar y mover archivos de Defender para punto de conexión (de forma similar a lo que haría un usuario malintencionado), por ejemplo:

    • /Applications/Microsoft Defender.app/
    • /Library/LaunchDaemons/com.microsoft.fresno.plist
    • /Library/LaunchDaemons/com.microsoft.fresno.uninstall.plist
    • /Library/LaunchAgents/com.microsoft.wdav.tray.plist
    • /Library/Managed Preferences/com.microsoft.wdav.ext.plist
    • /Library/Managed Preferences/mdatp_managed.json
    • /Library/Managed Preferences/com.microsoft.wdav.atp.plist
    • /Library/Managed Preferences/com.microsoft.wdav.atp.offboarding.plist
    • /usr/local/bin/mdatp

Desactivar la protección contra alteraciones

Puede desactivar la protección contra alteraciones mediante cualquiera de los métodos siguientes.

Configuración manual

Use el siguiente comando:

sudo mdatp config tamper-protection enforcement-level --value disabled

JAMF

Cambie el enforcementLevel valor a "deshabilitado" en el perfil de configuración e insérelo en el dispositivo:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>tamperProtection</key>
    <dict>
      <key>enforcementLevel</key>
      <string>disabled</string>
    </dict>
  </dict>
</plist>

Intune

Agregue la siguiente configuración en el perfil de Intune:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1">
    <dict>
        <key>PayloadUUID</key>
        <string>C4E6A782-0C8D-44AB-A025-EB893987A295</string>
        <key>PayloadType</key>
        <string>Configuration</string>
        <key>PayloadOrganization</key>
        <string>Microsoft</string>
        <key>PayloadIdentifier</key>
        <string>com.microsoft.wdav</string>
        <key>PayloadDisplayName</key>
        <string>Microsoft Defender for Endpoint settings</string>
        <key>PayloadDescription</key>
        <string>Microsoft Defender for Endpoint configuration settings</string>
        <key>PayloadVersion</key>
        <integer>1</integer>
        <key>PayloadEnabled</key>
        <true/>
        <key>PayloadRemovalDisallowed</key>
        <true/>
        <key>PayloadScope</key>
        <string>System</string>
        <key>PayloadContent</key>
        <array>
            <dict>
                <key>PayloadUUID</key>
                <string>99DBC2BC-3B3A-46A2-A413-C8F9BB9A7295</string>
                <key>PayloadType</key>
                <string>com.microsoft.wdav</string>
                <key>PayloadOrganization</key>
                <string>Microsoft</string>
                <key>PayloadIdentifier</key>
                <string>com.microsoft.wdav</string>
                <key>PayloadDisplayName</key>
                <string>Microsoft Defender for Endpoint configuration settings</string>
                <key>PayloadDescription</key>
                <string/>
                <key>PayloadVersion</key>
                <integer>1</integer>
                <key>PayloadEnabled</key>
                <true/>
                <key>tamperProtection</key>
                <dict>
                  <key>enforcementLevel</key>
                  <string>disabled</string>
                </dict>
            </dict>
        </array>
    </dict>
</plist>

Exclusiones

Nota:

Disponible en versión 101.98.71 o posterior.

La protección contra alteraciones impide que cualquier proceso macOS realice cambios en los recursos de Microsoft Defender o detenga los procesos de Microsoft Defender. Los recursos protegidos incluyen archivos de instalación y configuración.

Internamente, Microsoft Defender realiza excepciones a determinados procesos de macOS, en determinadas circunstancias. Por ejemplo, macOS puede actualizar el paquete de Defender si la protección contra alteraciones comprueba la autenticidad de los paquetes. También hay otras exclusiones. Por ejemplo, el proceso mdm de macOS puede reemplazar los archivos de configuración administrados de Microsoft Defender.

Hay situaciones en las que un administrador global necesita reiniciar Defender en todos o algunos dispositivos administrados. Normalmente se hace mediante la creación y ejecución de una directiva de JAMF que ejecuta un script en dispositivos remotos (o operaciones similares para otros proveedores de MDM).

Para evitar marcar esas operaciones iniciadas por directivas, Microsoft Defender detecta esos procesos de directiva mdm para JAMF e Intune, y permite operaciones de manipulación de ellas. Al mismo tiempo, la protección contra alteraciones impide que el mismo script reinicie Microsoft Defender, si se inicia desde un terminal localmente.

Sin embargo, esos procesos de ejecución de directivas son específicos del proveedor. Aunque Microsoft Defender proporciona exclusiones integradas para JAMF e Intune, no puede proporcionar esas exclusiones para todos los posibles proveedores de MDM. En su lugar, un administrador global puede agregar sus propias exclusiones a la protección contra alteraciones. Las exclusiones solo se pueden realizar a través del perfil MDM, no de la configuración local.

Para ello, primero debe averiguar la ruta de acceso al proceso auxiliar de MDM que ejecuta directivas. Puede hacerlo siguiendo la documentación del proveedor de MDM. También puede iniciar la manipulación de una directiva de prueba, obtener una alerta en el Portal de seguridad, inspeccionar la jerarquía de procesos que iniciaron el ataque y elegir el proceso que se parece a un candidato del asistente de MDM.

Una vez identificada la ruta de acceso del proceso, tiene pocas opciones sobre cómo configurar una exclusión:

  • Por la propia ruta de acceso. Es la forma más sencilla (ya tiene esta ruta de acceso) y la forma menos segura de hacerlo, es decir, no se recomienda.
  • Al obtener el identificador de firma del archivo ejecutable, Ya sea TeamIdentifier o identificador de firma, mediante la ejecución codesign -dv --verbose=4 path_to_helper (busque Identificador y TeamIdentifier, este último no está disponible para las propias herramientas de Apple).
  • O bien, mediante una combinación de esos atributos.

Ejemplo:

codesign -dv --verbose=4 /usr/bin/ruby
Executable=/usr/bin/ruby
Identifier=com.apple.ruby
Format=Mach-O universal (x86_64 arm64e)
CodeDirectory v=20400 size=583 flags=0x0(none) hashes=13+2 location=embedded
Platform identifier=14
VersionPlatform=1
VersionMin=852992
VersionSDK=852992
Hash type=sha256 size=32
CandidateCDHash sha256=335c10d40db9417d80db87f658f6565018a4c3d6
CandidateCDHashFull sha256=335c10d40db9417d80db87f658f6565018a4c3d65ea3b850fc76c59e0e137e20
Hash choices=sha256
CMSDigest=335c10d40db9417d80db87f658f6565018a4c3d65ea3b850fc76c59e0e137e20
CMSDigestType=2
Executable Segment base=0
Executable Segment limit=16384
Executable Segment flags=0x1
Page size=4096
Launch Constraints:
  None
CDHash=335c10d40db9417d80db87f658f6565018a4c3d6
Signature size=4442
Authority=Software Signing
Authority=Apple Code Signing Certification Authority
Authority=Apple Root CA
Signed Time=Apr 15, 2023 at 4:45:52 AM
Info.plist=not bound
TeamIdentifier=not set
Sealed Resources=none
Internal requirements count=1 size=64

Configure las preferencias, por ejemplo, para JAMF:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>tamperProtection</key>
    <dict>
      <key>enforcementLevel</key>
      <string>block</string>
      <key>exclusions</key>
      <array>
        <dict>
          <key>path</key>
          <string>/usr/bin/ruby</string>
          <key>teamId</key>
          <string/>
          <key>signingId</key>
          <string>com.apple.ruby</string>
          <key>args</key>
          <array>
            <string>/usr/local/bin/global_mdatp_restarted.rb</string>
          </array>
        </dict>
      </array>
    </dict>
  </dict>
</plist>

Tenga en cuenta que excluir un intérprete de scripting (como Ruby del ejemplo anterior) en lugar de un ejecutable compilado no es seguro, ya que puede ejecutar cualquier script, no solo el que usa un administrador global.

Para minimizar el riesgo, se recomienda usar extra args para permitir que solo se ejecuten scripts específicos con intérpretes de scripting. En el ejemplo anterior, solo /usr/bin/ruby /usr/local/bin/global_mdatp_restarted.rb se permite reiniciar Defender. Pero, por ejemplo, /usr/bin/ruby /Library/Application Support/Global Manager/global_mdatp_restarted.rb o incluso /usr/bin/ruby /usr/local/bin/global_mdatp_restarted.rb $USER no se permiten.

Advertencia

Use siempre los criterios más restrictivos para evitar ataques inesperados.

Solución de problemas de configuración

Problema: la protección contra alteraciones se notifica como deshabilitada

Si al ejecutar el comando mdatp health se informa de que la protección contra alteraciones está deshabilitada, incluso si la ha habilitado y ha transcurrido más de una hora desde la incorporación, puede comprobar si tiene la configuración correcta mediante la ejecución del siguiente comando:

mdatp health --details tamper_protection
tamper_protection                           : "audit"
exclusions                                  : [{"path":"/usr/bin/ruby","team_id":"","signing_id":"com.apple.ruby","args":["/usr/local/bin/global_mdatp_restarted.rb"]}] [managed]
feature_enabled_protection                  : true
feature_enabled_portal                      : true
configuration_source                        : "local"
configuration_local                         : "audit"
configuration_portal                        : "block"
configuration_default                       : "audit"
configuration_is_managed                    : false
  • tamper_protection es el modo efectivo . Si este modo es el modo que tenía previsto usar, ya está todo establecido.
  • configuration_source indica cómo se establece el nivel de cumplimiento de la protección contra alteraciones. Debe coincidir con la forma en que configuró la protección contra alteraciones. (Si establece su modo a través de un perfil administrado y configuration_source muestra algo diferente, lo más probable es que haya configurado mal el perfil).
    • mdm : se configura a través de un perfil administrado. Solo un administrador global puede cambiarlo con una actualización al perfil.
    • local : se configura con mdatp config el comando
    • portal : nivel de cumplimiento predeterminado establecido en Security Portal
    • defaults : no configurado, se usa el modo predeterminado.
  • Si feature_enabled_protection es false, la protección contra alteraciones no está habilitada para su organización (se produce si Defender no notifica "con licencia").
  • Si feature_enabled_portal es false, la configuración del modo predeterminado a través de Security Portal aún no está habilitada.
  • configuration_local, configuration_portalindica el modo que se usaría si se usara el canal de configuración correspondienteconfiguration_default. (Por ejemplo, puede configurar la protección contra alteraciones en el modo "bloquear" a través de un perfil mdm y configuration_default le auditindica . Solo significa que si quita el perfil y el modo no se ha establecido con mdatp config o a través de Security Portal, usa el modo predeterminado, que es audit.)

Nota:

Debe inspeccionar los registros de Microsoft Defender para obtener la misma información antes de la versión 101.98.71. Por ejemplo:

$ sudo grep -F '[{tamperProtection}]: Feature state:' /Library/Logs/Microsoft/mdatp/microsoft_defender_core.log | tail -n 1

Sugerencia

¿Desea obtener más información? Interactúe con la comunidad de seguridad de Microsoft en nuestra comunidad tecnológica: Microsoft Defender para punto de conexión Tech Community.