Recomendaciones de seguridad de Jamf Pro

Este artículo explica los ajustes de seguridad recomendados para los servidores de Jamf Pro alojados en Jamf Cloud o localmente. Debes asegurarte de que el servidor de Jamf Pro y toda la tecnología auxiliar (incluidos el SO del servidor, Java, Apache Tomcat y MySQL) son conformes con tus propios estándares internos de seguridad. Este artículo proporciona algunas recomendaciones básicas sobre cómo asegurarse de que el servidor de Jamf Pro y la infraestructura subyacente están actualizados y protegidos.

Ajustes del servidor Jamf Pro

Para asegurarte de que el servidor es lo más seguro posible, puedes activar los siguientes ajustes de seguridad en Jamf Pro:
  • Configura la política de contraseñas para las cuentas de usuario de Jamf ProSi quieres más información, consulta la sección «Configuración de la política de contraseñas» de la página Cuentas y grupos de usuarios de Jamf Pro en la Guía del administrador de Jamf Pro.
  • Activa los privilegios obligatorios mínimosActiva los privilegios mínimos requeridos por tu organización para todas las cuentas y grupos de usuarios. Si quieres más información, consulta la sección «Creación de una cuenta de usuario de Jamf Pro» de la página Cuentas y grupos de usuarios de Jamf Pro en la Guía del administrador de Jamf Pro.
  • Configura los ajustes de gestión de cambios para registrar cambiosRegistra los cambios en Jamf Pro configurando los ajustes de gestión de cambios (activado automáticamente para las instancias de Jamf Cloud). Si quieres más información, consulta la sección «Consulta de registros de gestión de cambios en Jamf Pro» de la página Gestión de cambios en la Guía del administrador de Jamf Pro.
  • Programa la limpieza de registros a intervalos adecuadosSi quieres más información, consulta la sección «Programación de la limpieza de registros» de la página Limpieza de registros en la Guía del administrador de Jamf Pro.
  • Activa la autenticación con certificado y configura la comprobación de certificados SSLAsegúrate de que el servidor de Jamf Pro tiene un certificado de servidor web válido antes de activar esta opción. Si quieres más información, consulta la página Ajustes de Seguridad de la Guía del administrador de Jamf Pro y el artículo Safely Configuring SSL Certificate Verification (Configuración segura de la comprobación de certificados SSL).
  • Requiere la autenticación del usuario en Self ServicePuedes consultar más información en la página Ajustes de inicio de sesión de usuario para Jamf Self Service para macOS de la Guía del administrador de Jamf Pro.
  • Requiere que los usuarios se autentiquen al inscribirse mediante inscripción MDM automatizadaRequiere que los usuarios se autentiquen durante la configuración de su ordenador o dispositivo móvil al inscribirse mediante Inscripción de Dispositivos (antes DEP) de Apple usando una inscripción con PreStage en Jamf Pro. Puedes consultar más información en las páginas Inscripciones de ordenadores con PreStage e Inscripciones con PreStage de dispositivos móviles de la Guía del administrador de Jamf Pro.

Distribución de contenido

Puntos de distribución en la nube

Jamf Cloud Distribution Service (JCDS)
Si tu servidor de Jamf Pro se aloja en Jamf Cloud y tienes la opción basada en la suscripción, puedes usar Jamf Cloud Distribution Service (JDCS) como tu punto de distribución en la nube.
Amazon CloudFront
También puedes usar Amazon CloudFront para servir contenido con URL firmadas. Si quieres más información, consulta la siguiente documentación de Amazon: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-signed-urls.html
Akamai

El uso de Akamai con protección de autorización de token activada también constituye una opción segura de red de entrega de contenido. Si quieres más información sobre cómo usar la autorización de token en Akamai, consulta la siguiente documentación de Akamai: https://learn.akamai.com/en-us/webhelp/media-services-on-demand/stream-packaging-user-guide/GUID-4EB9C226-4B31-4BBD-B545-1CAB8917E3D1.html

Si quieres más información sobre cómo configurar, probar y replicar los puntos de distribución en la nube, consulta la página Punto de distribución en la nube de la Guía del administrador de Jamf Pro.

Puntos de distribución de recurso compartido

Si no puedes usar JCDS o has configurado tu propio punto de distribución de recurso compartido, el servidor de Jamf Pro te permite distribuir contenido a ordenadores y dispositivos gestionados. Ten en cuenta las siguientes recomendaciones para proteger la distribución de contenido:

Compartir archivos (accede a Ajustes > Infraestructura de servidor > Puntos de distribución de recurso compartido > selecciona un punto de distribución > pestaña Compartir archivos):

  • Estudia la posibilidad de usar un puerto no estándar para tu servidor. (Si quieres más información sobre los puertos estándar, consulta el artículo de Puertos de red usados por Jamf Pro.)

  • Crea cuentas de servicio diferentes para privilegios de lectura/escritura y de solo lectura

Descargas HTTP (accede a Ajustes > Infraestructura de servidor > Puntos de distribución de recurso compartido > selecciona un punto de distribución > pestaña HTTP/HTTPS):

  • Para activar HTTP, selecciona la casilla Usar descargas HTTP.

  • Para activar SSL (Secure Sockets Layer), selecciona la casilla Usar SSL.

  • Para requerir autenticación para descargar archivos, selecciona «Username and Password» (Nombre de usuario y contraseña) en el menú desplegable Tipo de autenticación.

Puedes consultar más información en la página Puntos de distribución de recurso compartido de la Guía del administrador de Jamf Pro.

Dispositivos gestionados

Ordenadores macOS
Se recomienda lo siguiente para proteger los ordenadores macOS:
  • Seleccionar la casilla Generar contraseña nueva aleatoriamente para reforzar la seguridad de la contraseña de la cuenta de gestión para una política de ordenadores y configurar la frecuencia de restablecimiento de contraseña para la política de contraseñas
  • Configurar la complejidad del código para las cuentas de usuarios locales implementando la carga útil Código en un perfil de configuración de ordenadores
  • Requerir la encriptación con FileVault 2 (puedes consultar más información en la página Configuraciones de encriptación de disco de la Guía del administrador de Jamf Pro.
  • Configurar el acceso condicional (puedes consultar más información en la página Integración con Microsoft Intune de la Guía del administrador de Jamf Pro.
Dispositivos iOS
Se recomienda lo siguiente para proteger los dispositivos iOS:
  • Configurar la complejidad del código para las cuentas de usuarios locales implementando la carga útil Código en un perfil de configuración de dispositivos móviles
  • Asegurarse de que la casilla Convertir en app gestionada si es posible está seleccionada al distribuir apps para proteger los datos
Políticas de parches e informes
Es importante mantener las apps actualizadas con los últimos parches de seguridad. Puedes consultar más información en las páginas Políticas de parches y Generación de informes de parches de la Guía del administrador de Jamf Pro.
Scripts
Los scripts personalizados o predefinidos son una forma habitual de ejecutar comandos para ordenadores, y se pueden ejecutar mediante una política. Evita fijar las credenciales de cuentas para administradores de servidores de Jamf Pro en scripts.

Ajustes específicos locales

SO de servidor

Puedes alojar Jamf Pro en cualquier servidor que cumpla los requisitos enumerados en la página Requisitos del sistema de Jamf Pro de las «Notas de publicación de Jamf Pro».

Nota:

Aunque puedes instalar Jamf Pro en cualquier servidor que cumpla los requisitos mínimos, los instaladores de Jamf Pro para Mac, Linux y Windows tienen requisitos adicionales. Si quieres más información, consulta la guía de instalación y configuración de Jamf Pro para tu plataforma.

Para proteger aún más el SO de tu servidor, te recomendamos los siguientes ajustes del sistema:
  • Desactivar el acceso de invitado
  • Desactivar el inicio de sesión automático
  • Eliminar las cuentas de servicio innecesarias
  • Eliminar o restablecer todas las contraseñas por omisión
  • Restringir los privilegios de las cuentas al mínimo requerido
  • Restringir los procesos al mínimo requerido
  • Controlar los puertos y los servicios de red disponibles

Java

El servidor de Jamf Pro y las tecnologías auxiliares (Apache Tomcat) utilizan Java Development Kit (JDK) con criptografía de fuerza ilimitada activada. Si quieres más información sobre cómo instalar Java, consulta el artículo Instalación de Java y MySQL para Jamf Pro 10.14.0 o posterior.

Apache Tomcat

Apache Tomcat es un servidor web de código abierto desarrollado y mantenido por la Apache Software Foundation, y se utiliza para ejecutar la app web Jamf Pro. Si quieres más información sobre la protección de Apache Tomcat, consulta el artículo de Open Web Application Security Project (OWASP): https://wiki.owasp.org/index.php/Securing_tomcat

Las siguientes recomendaciones te ayudarán a asegurarte de que Apache Tomcat está actualizado y protegido. Los instaladores de Jamf Pro implementan algunas de ellas por omisión:

Nota:

Se recomienda crear una copia de seguridad del archivo server.xml antes de realizar cambios.

(Jamf Pro 10.20.0 o posterior) Modifica el archivo server.xml.
Haz lo siguiente para modificar el archivo server.xml:
  • Usa HTTPS solo y desactiva HTTPModifica el archivo server.xml desactivando HTTP.
    <!--
    <Connector URIEncoding="UTF-8" executor="tomcatThreadPool" port="9006" protocol="HTTP/1.1"
    connectionTimeout="20000" maxPostSize="8388608" redirectPort="8443" />
    -->
  • Configura algoritmos criptográficos potentes y la encriptaciónSi quieres más información sobre qué algoritmos criptográficos reemplazar, consulta el artículo Configuring Supported Ciphers for Tomcat HTTPS Connections (Configuración de algoritmos criptográficos compatibles para conexiones HTTPS de Tomcat). Para configurar la encriptación, consulta las siguientes recomendaciones en el artículo de OWASP: https://wiki.owasp.org/index.php/Securing_tomcat#Encryption
  • Activa el registro de accesosPara usar la válvula de registro de accesos por omisión, descomenta o define Valve className como «org.apache.catalina.valves.AccessLogValve». Puedes usar los valores de registro por omisión o configurar los valores de atributo de patrón usando la siguiente documentación de Apache Tomcat: https://tomcat.apache.org/tomcat-8.5-doc/config/valve.html#Extended_Access_Log_Valve
(Jamf Pro 10.19.0 o anterior) Modifica el archivo server.xml.
Haz lo siguiente para modificar el archivo server.xml:
  • Modifica el Connector para impedir la revelación de la versión de Apache TomcatPara impedir que se comunique la versión de Apache Tomcat en el encabezado HTTP de respuesta, configura el atributo ErrorReportValve en el archivo CATALINA_BASE/conf/server.xml siguiendo la documentación de la versión de Apache Tomcat que estás usando:
  • Impide la comunicación por el puerto AJP por omisiónPara impedir que el puerto AJP por omisión (8009) sea accesible para redes no fiables, haz una de las siguientes acciones:
    • Aplica un comentario para excluir el conector AJP en el archivo server.xml y reinicia el servicio Tomcat de Jamf Pro.
    • Desactiva el puerto 8009 en tu firewall.
    • Actualiza a Jamf Pro 10.20.0 o posterior.
  • Modifica el archivo ServerInfo.properties para impedir la revelación de la versión del servidorPara impedir la revelación de la versión del servidor, modifica el archivo ServerInfo.properties usando las recomendaciones de la sección «Valves» (Válvulas) de la documentación de Apache Tomcat: https://tomcat.apache.org/tomcat-8.0-doc/security-howto.html#Valves
  • Reemplaza la página de error por omisión para impedir la revelación de la versión (web.xml)Para reemplazar la página de error por omisión, modifica el archivo web.xml usando las recomendaciones de la documentación de OWASP: https://wiki.owasp.org/index.php/Securing_tomcat
  • Activa la validación de certificados SSLUsa el emisor, el «Subject Alternative Name» (Nombre alternativo del sujeto) (SAN) y la fecha de caducidad para la validación. Si quieres más información sobre cómo configurar el ajuste «Comprobación de certificados SSL», consulta el artículo Configuración de la comprobación de certificados SSL.
  • (Opcional) Modifica el archivo web.xml para limitar servlets específicos de aplicaciones webModifica el archivo web.xml para limitar servlets específicos de aplicaciones web cambiando su comportamiento o eliminándolos del archivo.

MySQL

MySQL es un sistema de gestión de bases de datos relacionales desarrollado y mantenido por Oracle. El servidor de Jamf Pro usa MySQL como la base de datos de back-end para almacenar y mantener los datos del sistema. Aplica las siguientes recomendaciones para asegurarte de que MySQL está actualizado y protegido.
Ejecuta el script mysql_secure_installation por omisión
La instalación de MySQL incluye la utilidad de línea de comandos mysql_secure_installation, que automatiza las tareas para proteger tu instalación de MySQL. Ejecutar mysql_secure_installation te permite mejorar la seguridad de tu instalación de MySQL definiendo una contraseña para las cuentas root y eliminando ciertas cuentas, la base test y los privilegios de acceso.
Si quieres más información, consulta la siguiente documentación para tu versión de MySQL:
Si mysql_secure_installation no está disponible, haz lo siguiente:
  • Define una contraseña para las cuentas root
  • Elimina todos los privilegios para las cuentas de usuarios anónimos
  • Elimina la base de datos test y todos los privilegios asociados
Crea un nombre de base de datos único y un usuario de MySQL único con una contraseña segura
Si quieres más información sobre cómo cambiar el nombre de la base de datos y la contraseña de usuario de root MySQL, consulta el artículo https://docs.jamf.com/technical-articles/index.html?contextId=542.
Nota:

Para reforzar la seguridad, usa un nombre de base de datos único y una contraseña de usuario de root de MySQL que difieran de los ejemplos del artículo.

Limita los privilegios al mínimo requerido
Si quieres restringir aún más el acceso a MySQL, puedes crear cuentas de usuario diferentes con privilegios limitados. Puedes consultar más información relacionada en las siguientes páginas web:
A continuación se enumeran los privilegios de MySQL necesarios para los diferentes tipos de entorno:
  • Para una aplicación web independiente o el nodo primario en entornos con clustering:
    INSERT, SELECT, UPDATE, DELETE, CREATE, DROP, ALTER, INDEX, LOCK TABLES
  • Para un nodo secundario en entornos con clustering:
    INSERT, SELECT, UPDATE, DELETE, DROP, LOCK TABLES
  • Para ver conexiones de nodos de clustering con diferentes usuarios de MySQL:
    PROCESS
    Nota:

    El privilegio PROCESS requiere usar «*.*».

Por ejemplo, ejecutarías comandos usando la siguiente sintaxis general:
GRANT <privilegios> ON <base de datos> TO <usuario>;
Programa copias de seguridad de la base de datos
Si quieres más información, consulta el artículo Copia de seguridad de la base de datos usando las herramientas de servidor de Jamf Pro.
Elimina la clave <DataBasePassword> o define un valor en blanco
Si la contraseña de la base de datos se elimina del archivo de configuración, debe introducirse manualmente para la app web del servidor de Jamf Pro durante el inicio. En un entorno con clustering, la contraseña de la base de datos debe introducirse manualmente para cada nodo individual.
Nota:

Los valores por omisión se incluyen solo a modo de referencia. Usa valores únicos en entornos de producción.

<DataBase>
...
<DataBaseName>jamfsoftware</DataBaseName>
<DataBaseUser>jamfsoftware</DataBaseUser>
<DataBasePassword></DataBasePassword>
...
</DataBase>

Protección de Memcached

Hay varias formas de proteger Memcached, en función de tu entorno. Por ejemplo:
  • No configurar los servidores de Memcached de modo que sean accesibles externamente
  • Implementar reglas de firewall para limitar el tráfico entre servidores de Memcached y los nodos de Tomcat con clustering de Jamf Pro
  • Desactivar UDP en el archivo memcached.conf
  • Usar el parámetro -l para limitar el tráfico a una IP específica
El siguiente extracto de un archivo memcached.conf de ejemplo muestra cómo puedes desactivar UDP y limitar el tráfico a una IP específica:
PORT="11211"
USER="memcached"
# max connection 2048
MAXCONN="2048"
# set ram size to 2048 - 2GiB
CACHESIZE="4096"
# disable UDP and listen to loopback ip 127.0.0.1, for network connection use real ip e.g., 10.0.0.5
OPTIONS="-U 0 -l 127.0.0.1"

Si quieres más información sobre los puertos usados en un entorno típico de Jamf Pro, consulta el artículo Puertos de red usados por Jamf Pro.