Desplegar software de seguridad en una flota de dispositivos macOS puede ser lento y propenso a errores cuando se hace manualmente. Para abordar esto, hemos creado un script que automatiza la instalación y configuración inicial del cliente de Check Point Endpoint Security para macOS.
Este enfoque garantiza un despliegue más rápido y fiable mientras mantiene la consistencia en la configuración de cada dispositivo. Al integrar ajustes esenciales — como direcciones de servidor, certificados y configuraciones de política — el script permite que cada Mac se conecte de forma segura a tu infraestructura de gestión de Check Point inmediatamente después de la instalación.
Propósito
Este script está diseñado para agilizar el despliegue del cliente de Check Point Endpoint Security en dispositivos macOS automatizando tanto la instalación como la configuración inicial. Su objetivo es:
Automatizar el despliegue: Eliminar los pasos manuales automatizando la distribución e instalación del cliente de seguridad en múltiples Macs, reduciendo la probabilidad de errores del usuario y ahorrando valiosos recursos TI.
Habilitar la preconfiguración: Integrar todos los datos de configuración necesarios — incluyendo certificados, direcciones de servidor y ajustes de política — para que el cliente esté inmediatamente listo para conectarse a tu infraestructura de gestión de Check Point después de la instalación.
Garantizar la consistencia: Garantizar que cada endpoint recibe la misma configuración y políticas de seguridad, mejorando la uniformidad y el cumplimiento en toda la organización.
Flujo de trabajo general
El script sigue un flujo de trabajo estructurado para garantizar un despliegue fiable y consistente:
Las utilidades clave del sistema como base64, curl y unzip se definen y validan al inicio del script para garantizar la compatibilidad y evitar errores de ejecución.
El script contiene un gran bloque de información de configuración codificada en formato Base64, típicamente exportada desde el Portal de gestión de Check Point. Este bloque incluye elementos necesarios como certificados, URLs de servidor y ajustes de política.
La configuración codificada en Base64 se decodifica y guarda en una ubicación temporal o predefinida donde el cliente de Check Point espera encontrar sus archivos de configuración.
Usando curl o una utilidad similar, el script recupera el instalador de Check Point Endpoint Security — normalmente empaquetado como un archivo ZIP — desde un repositorio interno o externo de confianza.
El instalador descargado se extrae y la instalación se ejecuta usando herramientas nativas de macOS, como el comando de línea installer o lanzando el .app incluido. Puede requerirse privilegios de administrador.
Después de la instalación, el script elimina los archivos temporales y opcionalmente realiza un paso de validación, como comprobar la presencia de la aplicación instalada o verificar su estado operativo.
#!/bin/sh -x
set -e
BASE64=/usr/bin/base64
UNZIP=/usr/bin/unzip
CURL=/usr/bin/curl
INSTALLER=/usr/sbin/installer
ECHO=/bin/echo
RM=/bin/rm
PKGUTIL=/usr/sbin/pkgutil
CONFIG_DAT_B64=PERBX0NPTkZJRz48QUxMT1dfTk9OX1RSVVNURURfQ0E+MTwvQUxMT1dfTk9OX1RSVVNURURfQ0E+PEFMTE9XX0lOVkFMSURfQ0VSVF9EQVRFPjE8L0FMTE9XX0lOVkFMSURfQ0VSVF9EQVRFPjxBTExPV19JTlZBTElEX1NJVEVfTkFNRT4xPC9BTExPV19JTlZBTElEX1NJVEVfTkFNRT48Q0hFQ0tfRk9SX1JFVk9DQVRJT04+MDwvQ0hFQ0tfRk9SX1JFVk9DQVRJT04+PFZEU19MT0NBVElPTj48L1ZEU19MT0NBVElPTj48SEVBREVSP1gtQ1BFUFA6dllvaWdkR0Zubm9RYzc8L0hFQURFUj4...
MANIFEST_B64=PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4...
URL="https://ep-client-installers-prd-public.s3.amazonaws.com/eps-clients/mac/88.40.5927/EPS_E88.40_ONLY_DA.zip"
CURL_SWITCH=
CURL_SWITCH="$CURL_SWITCH --connect-timeout 10 -f"
# [... resto del script ...]
set +e
$PKGUTIL --pkg-info com.checkpoint.pkg.eps.core
if [ $? -eq 0 ]; then
echo "Endpoint Security for macOS already deployed (core receipt exists)"
exit 0
fi
set -e
EPS_ZIP=EPS_ONLY_DA.zip
TMP_DIR="$(mktemp -d /tmp/endpoint_security_installer.XXXXXX)"
cd $TMP_DIR
echo $CONFIG_DAT_B64 | $BASE64 --decode -o .config_dat
echo $MANIFEST_B64 | $BASE64 --decode -o .InstallationManifest.plist
$CURL $CURL_SWITCH $URL -o $EPS_ZIP >/dev/null 2>&1
$UNZIP $EPS_ZIP
PKG_DIR="$TMP_DIR/Endpoint Security Installer.app/Contents/Resources/Configurations"
cd "$PKG_DIR"
PKG_NAME="$(ls "$PKG_DIR" | grep *.pkg)"
PKG_PATH="$PKG_DIR/$PKG_NAME"
$INSTALLER -pkg "$PKG_PATH" -target /
exit 0