# Despliegue de SentinelOne

> Protege los endpoints macOS con SentinelOne. Esta guía detalla el despliegue MDM mediante Applivery, incluyendo perfiles de configuración y scripts de activación.

Source: https://docs.applivery.com/es/device-management/apple/macos/app-management/sentinelone-deployment/  •  Last updated: 2026-04-18

**Key topics:** Instalación de SentinelOne, Configuración MDM macOS, Acceso completo al disco, Perfiles de configuración, Script de activación, SentinelOne, macOS, Applivery, macOS Sequoia 15

---

**TL;DR:** Aprende a desplegar y configurar SentinelOne en dispositivos macOS usando Applivery MDM para una seguridad de endpoints mejorada.

**El agente SentinelOne** es una plataforma de ciberseguridad avanzada y basada en IA diseñada para proporcionar protección autónoma de endpoints en entornos Windows, macOS y Linux. Aprovechando una arquitectura de agente único, SentinelOne unifica las capacidades de prevención, detección, respuesta y caza de amenazas en tiempo real — sin depender de la conectividad en la nube ni de la intervención humana constante.

Desarrollado para los equipos de seguridad modernos, SentinelOne ofrece una protección robusta contra malware, ransomware, ataques sin archivos y amenazas de día cero combinando IA conductual, aprendizaje automático y remediación automatizada. Su potente funcionalidad EDR (Endpoint Detection and Response) permite a las organizaciones no solo detectar y responder a las amenazas rápidamente, sino también obtener una visibilidad profunda de todo el ciclo de vida del ataque.

Ya sea que gestiones una plantilla remota o protejas infraestructura empresarial, SentinelOne ofrece una seguridad de endpoints escalable, resiliente y fácil de gestionar adaptada al panorama de amenazas actual en evolución.

## Actualizaciones importantes

### Cambios en macOS Sequoia 15

macOS Sequoia 15 introduce una nueva interfaz que permite a los usuarios ver y gestionar todas las extensiones del sistema instaladas, incluidas las extensiones de red. Esta actualización proporciona a los usuarios un mayor control sobre estos componentes.

![network-extensions](https://docs.applivery.com/int/_r2/media/09ac0a4e-3ad8-478f-9f15-3474973eec71/25eb8e0f-0ef9-4c44-be78-3f0b79934f40.png "network-extensions | Applivery")

Como administrador, es posible que quieras evitar que los usuarios desactiven ciertas extensiones del sistema a través de Configuración del sistema. Para ello, macOS Sequoia 15 incluye una nueva clave `NonRemovableFromUISystemExtensions` dentro del payload `com.apple.system-extension-policy`.

Al especificar la **extensión de monitoreo de red de SentinelOne** en este payload, los usuarios aún podrán ver los detalles de la extensión — pero no podrán modificarla ni desactivarla.

:::warning
La clave `NonRemovableFromUISystemExtensions` **no es compatible con macOS Ventura 13 ni macOS 14 Sonoma**. Por tanto, se recomienda crear un perfil de configuración separado específicamente para macOS Sequoia 15 y posterior. Esto garantiza que cuando los usuarios actualicen a Sequoia, las restricciones correctas se apliquen y se hagan cumplir automáticamente.
:::

## Requisitos

Para desplegar SentinelOne en macOS a través de Applivery, asegúrate de tener lo siguiente:

-   **Paquete del agente SentinelOne** (`.pkg`).
    
-   **Token de SentinelOne**.
    
-   **Script de activación** (para la licencia del agente).
    
-   **Política de acceso completo al disco** (mediante perfil de configuración).
    
-   **Perfil** `.mobileconfig` **personalizado**.
    
-   **Extensiones del sistema**.
    
-   **1 licencia de Applivery** para Distribución de Apps.
    

**Preparar SentinelOne**

Para desplegar SentinelOne usando Applivery, deberás cargar el paquete de app comprimido (`.zip`) a tu sección de Gestión de Apps y configurarlo con un script de activación posterior a la instalación.

Primero, descarga el instalador `.pkg` de SentinelOne desde tu **panel de SentinelOne** y asegúrate de copiar el **token de tu organización**, ya que lo necesitarás más adelante para el script de activación.

Una vez descargado, comprime el archivo `.pkg` haciendo clic derecho sobre él y seleccionando **Comprimir**, lo que generará un archivo `.zip`.

A continuación, inicia sesión en el [**panel de Applivery**](https://dashboard.applivery.io) y navega a la sección **Gestión de Apps**. Desde allí, sigue los pasos de nuestra documentación:

1.  [Crea tu primera app](https://docs.applivery.com/es/app-distribution/getting-started/create-first-app/).
    
2.  [Sube tu primera build](https://docs.applivery.com/es/app-distribution/getting-started/upload-first-build/).

**Configura la política de SentinelOne**

Ve a la sección **Gestión de Dispositivos** y ve a cualquiera de tus **Políticas** 1 o crea una nueva. En el menú lateral izquierdo, selecciona la sección **Apps** 2 y haz clic en el botón **\+ Añadir App** 3.

![add app](https://docs.applivery.com/int/_r2/media/09ac0a4e-3ad8-478f-9f15-3474973eec71/69d0a55b-d5ad-4e1d-b3a1-236d7f5ac46d.png)

En la vista modal, navega a la **pestaña Applivery**. Configura la plataforma como **macOS**, elige **Tu Workspace** como origen de la app y busca la app SentinelOne que creaste anteriormente. Para la selección de build, elige **Último** para asegurarte de que siempre se despliega la versión más reciente.

![sentinel one](https://docs.applivery.com/int/_r2/media/09ac0a4e-3ad8-478f-9f15-3474973eec71/6c91c80d-3764-4a89-9827-b2128f4f74a6.png)

Continúa al siguiente paso y selecciona tu **modo de instalación** preferido — **Instalación forzosa**, **Necesario para la instalación** o **Disponible** — según tu estrategia de despliegue.

En la sección **Configuración**, selecciona **Pre-install** y pega tu script de activación, asegurándote de reemplazar los valores de marcador de posición con el **token de la organización**.

![sentinel one pre install](https://docs.applivery.com/int/_r2/media/09ac0a4e-3ad8-478f-9f15-3474973eec71/e6d12abc-0691-496f-b452-69f1146c08c5.png)

```
#!/bin/bash

# Get the currently logged-in user (macOS)
currentUser=$(/bin/ls -l /dev/console | /usr/bin/awk '{ print $3 }')

# Ensure we have a valid username
if [ -z "$currentUser" ]; then
    echo "Error: Unable to determine the current user."
    exit 1
fi

# Define the registration token <<<<---- MODIFY BY YOUR ORGANIZATION'S TOKEN
token="TOKEN"

# Define the folder and file path
folderPath="/Users/$currentUser/Library/Application Support/auditApps"
filePath="$folderPath/com.sentinelone.registration-token"

# Ensure the auditApps folder exists and set proper permissions
if ! sudo mkdir -p "$folderPath"; then
    echo "Error: Failed to create directory $folderPath"
    exit 1
fi

if ! sudo chown "$currentUser" "$folderPath"; then
    echo "Error: Failed to change ownership of $folderPath"
    exit 1
fi

if ! sudo chmod 700 "$folderPath"; then
    echo "Error: Failed to set permissions on $folderPath"
    exit 1
fi

# Write the token to the file and set proper permissions
if ! echo "$token" | sudo tee "$filePath" > /dev/null; then
    echo "Error: Failed to write the token to $filePath"
    exit 1
fi

if ! sudo chown "$currentUser" "$filePath"; then
    echo "Error: Failed to change ownership of $filePath"
    exit 1
fi

if ! sudo chmod 600 "$filePath"; then
    echo "Error: Failed to set permissions on $filePath"
    exit 1
fi

# Open the token file with nano for manual editing as the regular user
if ! sudo -u "$currentUser" nano "$filePath"; then
    echo "Error: Failed to open $filePath in nano"
    exit 1
fi

# Check if sentinelctl exists before executing
if ! command -v /usr/local/bin/sentinelctl &> /dev/null; then
    echo "Error: sentinelctl command not found."
    exit 1
fi

# Register the token with SentinelOne
if ! sudo -u "$currentUser" /usr/local/bin/sentinelctl set registration-token -- "$token"; then
    echo "Error: Failed to register the token with SentinelOne."
    exit 1
fi

# Exit successfully
echo "Registration token successfully written and applied."
exit 0
```

**Política de acceso completo al disco**

Para garantizar el correcto funcionamiento de la app tras la instalación, debemos concederle permisos de **acceso completo al disco**. Dentro de la política, selecciona **\+ Añadir configuración** en el menú lateral izquierdo y elige **Control de políticas de preferencias de privacidad**.

![privacy preferences](https://docs.applivery.com/int/_r2/media/09ac0a4e-3ad8-478f-9f15-3474973eec71/2c1e22c7-09ff-4df0-9548-785445a57e6c.png)

A continuación, añadiremos varias entradas relacionadas con **System Policy All Files**. Para cada elemento añadido a esta configuración, establece el acceso como **Permitido**.

La primera configuración debe incluir los siguientes parámetros:

-   **Requisito de código**:
    

`anchor apple generic and identifier "com.sentinelone.sentineld" and (certificate leaf[field.1.2.840.113635.100.6.1.9] /* exists */ or certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = "4AYE5J54KN")`

-   **Identificador**: `com.sentinelone.sentineld`.
    
-   **Tipo de identificador**: Bundle ID.
    
-   **Código estático**: Desactivado.
    

Para la segunda configuración:

-   **Requisito de código**:
    

`anchor apple generic and identifier "com.sentinelone.sentineld-shell" and (certificate leaf[field.1.2.840.113635.100.6.1.9] /* exists */ or certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = "4AYE5J54KN")`

-   **Identificador**: `com.sentinelone.sentineld-helper`.
    
-   **Tipo de identificador**: Bundle ID.
    
-   **Código estático**: Desactivado.
    

Para la tercera configuración:

-   **Requisito de código**:
    

`anchor apple generic and identifier "com.sentinelone.sentineld-helper" and (certificate leaf[field.1.2.840.113635.100.6.1.9] /* exists / or certificate 1[field.1.2.840.113635.100.6.2.6] / exists / and certificate leaf[field.1.2.840.113635.100.6.1.13] / exists */ and certificate leaf[subject.OU] = "4AYE5J54KN")`

-   **Identificador**: `com.sentinelone.sentineld-shell`.
    
-   **Tipo de identificador**: Bundle ID.
    
-   **Código estático**: Desactivado.
    

Para la última configuración:

-   **Requisito de código**:
    

`anchor apple generic and identifier "com.sentinelone.sentinel-shell" and (certificate leaf[field.1.2.840.113635.100.6.1.9] /* exists */ or certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = "4AYE5J54KN")`

-   **Identificador**: `com.sentinelone.sentinel-shell`.
    
-   **Tipo de identificador**: Bundle ID.
    
-   **Código estático**: Desactivado.

**.mobileconfig personalizado de SentinelOne**

Para aplicar la configuración personalizada, navega a la política deseada y haz clic en **\+ Añadir configuración** en el menú del lado izquierdo. Luego, selecciona el botón **\+ Importar** y pega el contenido `.xml` proporcionado en el editor:

```xml
<?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>PayloadContent</key>
	<array>
		<dict>
			<key>NotificationSettings</key>
			<array>
				<dict>
					<key>BundleIdentifier</key>
					<string>com.sentinelone.SentinelAgent</string>
					<key>CriticalAlertEnabled</key>
					<true/>
				</dict>
			</array>
			<key>PayloadDescription</key>
			<string>Configures notifications settings for apps</string>
			<key>PayloadDisplayName</key>
			<string>Notifications</string>
			<key>PayloadIdentifier</key>
			<string>com.apple.notificationsettings.26E82306-CDA4-4AF0-9714-0B8363D2A26F</string>
			<key>PayloadType</key>
			<string>com.apple.notificationsettings</string>
			<key>PayloadUUID</key>
			<string>26E82306-CDA4-4AF0-9714-0B8363D2A26F</string>
			<key>PayloadVersion</key>
			<integer>1</integer>
		</dict>
		<dict>
			<key>PayloadDescription</key>
			<string>Configures Conference Room Display mode</string>
			<key>PayloadDisplayName</key>
			<string>Conference Room Display</string>
			<key>PayloadIdentifier</key>
			<string>com.apple.conferenceroomdisplay.B64EF9CA-0B32-43F9-82D7-5ABB51D1422B</string>
			<key>PayloadType</key>
			<string>com.apple.conferenceroomdisplay</string>
			<key>PayloadUUID</key>
			<string>B64EF9CA-0B32-43F9-82D7-5ABB51D1422B</string>
			<key>PayloadVersion</key>
			<integer>1</integer>
		</dict>
		<dict>
			<key>FilterBrowsers</key>
			<false/>
			<key>FilterSockets</key>
			<true/>
			<key>FilterType</key>
			<string>Plugin</string>
			<key>Organization</key>
			<string>Applivery Inc</string>
			<key>PayloadDescription</key>
			<string>Configures content filtering settings</string>
			<key>PayloadDisplayName</key>
			<string>SentinelOne</string>
			<key>PayloadIdentifier</key>
			<string>com.apple.webcontent-filter.B456B4A3-5794-4C8E-99FA-9148C6458AEE</string>
			<key>PayloadType</key>
			<string>com.apple.webcontent-filter</string>
			<key>PayloadUUID</key>
			<string>B456B4A3-5794-4C8E-99FA-9148C6458AEE</string>
			<key>PayloadVersion</key>
			<integer>1</integer>
			<key>PluginBundleID</key>
			<string>com.sentinelone.extensions-wrapper</string>
			<key>UserDefinedName</key>
			<string>SentinelOne</string>
		</dict>
	</array>
	<key>PayloadDisplayName</key>
	<string>SentinelOne Config</string>
	<key>PayloadIdentifier</key>
	<string>com.applivery.sentinelone</string>
	<key>PayloadOrganization</key>
	<string>Applivery</string>
	<key>PayloadRemovalDisallowed</key>
	<false/>
	<key>PayloadType</key>
	<string>Configuration</string>
	<key>PayloadUUID</key>
	<string>9B3EA38F-D1C7-4045-A745-AE3AA25ACCEE</string>
	<key>PayloadVersion</key>
	<integer>1</integer>
</dict>
</plist>
```

Una vez hecho, asegúrate de **Guardar cambios** para aplicar la configuración.
