vRealize Automation SaltStack SecOps es un complemento para SaltStack Config que proporciona dos bibliotecas de seguridad. Ambas bibliotecas de contenido se actualizan regularmente a medida que cambian los criterios de seguridad. Puede configurar el contenido para descargar (o ingerir) automáticamente a medida que cambian los estándares de seguridad, lo que se recomienda para la mayoría de los sistemas estándar.
Los siguientes tipos de contenido se proporcionan como parte de SaltStack SecOps:
- Conformidad: detección y corrección automatizadas de la conformidad para su infraestructura. La biblioteca de contenido de conformidad consta de contenido de prácticas recomendadas del sector sobre conformidad y seguridad, como CIS.
- Vulnerabilidad: administra las vulnerabilidades en todos los sistemas del entorno. Su biblioteca de contenido incluye avisos basados en las últimas entradas de Vulnerabilidades y exposiciones comunes (Common Vulnerabilities and Exposures, CVE).
Como alternativa, la biblioteca incluye la opción de descargar contenido manualmente o de acceder al contenido desde el nodo de RaaS a través de un proxy HTTP(s). La ingesta manual es útil para los sistemas aislados, mientras que la descarga a través del proxy resulta útil para evitar descargar contenido directamente desde Internet. La descarga a través del proxy también proporciona mayor control y visibilidad de lo que se descarga y dónde.
Antes de comenzar
La configuración de SaltStack SecOps es un paso posterior a la instalación en una serie de varios pasos que deben seguirse en un orden específico. En primer lugar, complete uno de los escenarios de instalación y, a continuación, lea las siguientes páginas posteriores a la instalación:
- Instalar la clave de licencia
- Instalar y configurar el complemento principal
- Comprobar el archivo de configuración de RaaS
- Iniciar sesión por primera vez y cambiar las credenciales predeterminadas
- Aceptar la clave principal de Salt y hacer una copia de seguridad de los datos
- Configurar certificados SSL
Instalar bibliotecas de RPM de Python 3
SaltStack SecOps utiliza las bibliotecas de RPM de Python 3 para comparar de forma confiable las versiones de los paquetes. Estos programas necesitan la mayor precisión que proporcionan estas bibliotecas para determinar la conformidad con la versión o evaluar las vulnerabilidades.
Actualmente, todos los minions que utilizan RedHat o CentOS 7 podrían necesitar las bibliotecas de RPM de Python 3 para ejecutar evaluaciones precisas de conformidad o vulnerabilidad. Si desea ejecutar evaluaciones en minions que utilizan estas versiones de RedHat o CentOS, debe instalar manualmente la biblioteca de RPM de Python 3 en estas máquinas.
Hay otras soluciones alternativas disponibles. Si necesita una solución alternativa, consulte Contactar soporte técnico.
Para instalar la biblioteca de RPM de Python 3 en el maestro de Salt que ejecuta el complemento principal:
- Instale el repositorio de EPEL mediante el siguiente comando:
yum install -y epel-release
- Instale la biblioteca de RPM de Python 3:
yum install -y python3-rpm
Ingesta automática de contenido para sistemas estándar
En los sistemas RaaS que no son aislados, el contenido se descarga e ingiere periódicamente según lo determinen los ajustes del archivo de configuración. De forma predeterminada, la ingesta automática de contenido ya está configurada en SaltStack Config y no se requieren más acciones.
Si instaló SaltStack Config de forma manual, siga estos pasos para configurar la ingesta automática de contenido de SaltStack SecOps:
- Agregue lo siguiente al archivo de configuración del servicio de RaaS
/etc/raas/raas
en la secciónsec
correspondiente, y adáptelo según sea necesario:sec: stats_snapshot_interval: 3600 username: secops content_url: https://enterprise.saltstack.com/secops_downloads ingest_saltstack_override: true ingest_custom_override: true locke_dir: locke post_ingest_cleanup: true download_enabled: true download_frequency: 86400 compile_stats_interval: 10 archive_interval: 300 old_policy_file_lifespan: 2 delete_old_policy_files_interval: 86400 ingest_on_boot: true content_lock_timeout: 60 content_lock_block_timeout: 120
- Guarde el archivo.
- Reinicie el servicio de RaaS:
systemctl restart raas
Una vez que se reinicia el servicio, el contenido de SaltStack SecOps comienza a descargarse. Esto puede tardar hasta cinco minutos, según su conexión a Internet.
Ingerir contenido a través de un proxy http(s)
Para la ingesta a través de un proxy, deberá crear una anulación en el servicio de RaaS y agregar nuevas variables de entorno para httpproxy
y httpsproxy
.
Para configurar el nodo de RaaS para que use el proxy https:
- Complete los pasos anteriores para habilitar el consumo automático.
- En el nodo principal de la línea de comandos, edite el servicio de RaaS:
systemctl edit raas
- Agregue las siguientes líneas al archivo generado.
[Service] Environment="http_proxy=http://<hostname>:234" Environment="https_proxy=https://<hostname>:234" Environment="HTTP_PROXY=http://<hostname>:234" Environment="HTTPS_PROXY=http://<hostname>:234"
- Si el proxy requiere autenticación con contraseña, es posible que deba configurarlo como parte de las variables del entorno del proxy. Por ejemplo:
Environment="HTTP_PROXY=http://USER:PASSWORD@<hostname>:234"
- Si el proxy utiliza una entidad de certificación interna, es posible que también deba establecer la variable de entorno
REQUESTS_CA_BUNDLE
para asegurarse de que el proxy pueda utilizarla. Por ejemplo:Environment="REQUESTS_CA_BUNDLE=/etc/pki/tls/certs/ca-bundle.crt"
- Reinicie el servicio de RaaS:
systemctl restart raas
Una vez que se reinicia el servicio, el contenido comienza a descargarse. Esto puede tardar hasta 20 minutos.
Ingesta manual de contenido de SaltStack SecOps Compliance
Si el entorno está aislado, lo que significa que no se puede conectar a un sitio externo para descargar actualizaciones, debe actualizar manualmente el contenido de SaltStack SecOps Compliance, para lo cual debe descargar el archivo tarball desde Customer Connect y transferirlo al nodo de RaaS.
Además, si el sistema está aislado, cambie la configuración de descarga del archivo de configuración de RaaS a False:
sec: download_enabled: False
El archivo de configuración de RaaS se encuentra en /etc/raas/raas
. Es posible que también deba reiniciar el servicio de RaaS después de aplicar estos ajustes de configuración:
systemctl restart raas
Para ingestar manualmente el archivo tarball de SaltStack SecOps Compliance:
- Descargue el contenido de SaltStack SecOps Compliance.
- Inicie sesión en un nodo de RaaS.
- Copie el archivo tarball de contenido de conformidad en el nodo de RaaS de la carpeta
tmp
.Este contenido se puede enviar por correo electrónico o por cualquier otro medio.
- Compruebe que los permisos de locke.tar.gz.e estén configurados en
raas:raas
. - Ingiera el contenido del archivo tar.
su - raas -c "raas ingest /path/to/locke.tar.gz.e"
Esto devuelve:
Extracting: /tmp/locke.tar.gz -> /tmp/extracted-1551290468.5497127 Cleaning up: /tmp/extracted-1551290468.5497127 Results: {'errors': [], 'success': True}
Ingesta manual de contenido de SaltStack SecOps Vulnerability
Si el entorno está aislado, lo que significa que no se puede conectar a un sitio externo para descargar actualizaciones, debe actualizar manualmente el contenido de SaltStack SecOps Vulnerability, para lo cual debe descargar el archivo tarball desde Customer Connect y transferirlo al nodo de RaaS.
Además, si el sistema está aislado, cambie la configuración de descarga del archivo de configuración de RaaS a False:
sec: download_enabled: False
El archivo de configuración de RaaS se encuentra en /etc/raas/raas
. Es posible que también deba reiniciar el servicio de RaaS después de aplicar estos ajustes de configuración:
systemctl restart raas
Para ingestar manualmente el archivo tarball de SaltStack SecOps Vulnerability:
- Descargue el contenido de SaltStack SecOps Vulnerability.
- Inicie sesión en un nodo de RaaS.
- Copie el archivo tarball de contenido de vulnerabilidad en el nodo de RaaS de la carpeta
tmp
.Este contenido se puede enviar por correo electrónico o por cualquier otro medio.
- Compruebe que los permisos de locke.tar.gz.e estén configurados en
raas:raas
. - Ingeste el contenido del archivo tarball, y reemplace el nombre del archivo tarball en este comando por el nombre de archivo exacto del archivo tarball:
su - raas -c "raas vman_ingest /tmp/vman_date_example123.tar.gz.e"
Esto devuelve:
'adv': {'error': 0, 'success': 60334}, 'adv_cve_xref': {'error': 0, 'success': 243781}, 'cve': {'error': 0, 'success': 162251}, 'pkgfile': {'error': 0, 'success': 42}, 'py': {'error': 0, 'success': 7}, 'sls': {'error': 0, 'success': 3}
Solución de problemas de ingesta manual
Si intenta ejecutar los comandos de ingesta manual para contenido de SaltStack SecOps Compliance o SaltStack SecOps Vulnerability, es posible que aparezca un mensaje de error similar a este mensaje:
/home/centos/locke_date_example123.tar.gz.e not found or not readable
Este mensaje de error a veces aparece si no coloca el archivo tarball en la carpeta tmp
. Al colocar el archivo tarball en la carpeta tmp
, se resuelve el problema.
Configurar la integración de Splunk
SaltStack Config integra la biblioteca de vulnerabilidad con Splunk para ayudarlo a optimizar y proteger la infraestructura digital mediante el complemento de SaltStack Config para Splunk Enterprise. El complemento está disponible en Splunkbase y requiere la versión 6.3 o superior de SaltStack Config.
El complemento de SaltStack Config en Splunk aprovecha un endpoint de métricas compatible con Prometheus que informa sobre 25 métricas únicas de SaltStack Config. Estas métricas proporcionan información sobre el estado de su infraestructura. El acceso a ellos en Splunk resulta útil para supervisar interrupciones, identificar actividad anómala y mucho más. También le ofrece la capacidad de realizar acciones automatizadas basadas en un evento de Splunk específico mediante SaltStack Config.
Para obtener instrucciones sobre cómo instalar y configurar el complemento, consulte la documentación del complemento completa en la base de conocimientos de VMware.
Para obtener más información sobre el endpoint de métricas de SaltStack Config, consulte la documentación del producto de SaltStack SecOps.
Opciones de configuración
En la siguiente tabla se describen las opciones de configuración disponibles para el contenido de conformidad:
Opción | Descripción |
---|---|
stats_snapshot_interval |
Con qué frecuencia (en segundos) se recopilarán estadísticas de SaltStack SecOps Compliance. |
compile_stats_interval |
Con qué frecuencia (en segundos) se compilarán estadísticas de SaltStack SecOps Compliance. |
username |
Nombre de usuario que se utilizará al conectarse a SaltStack Config para descargar el contenido de SaltStack SecOps Compliance más reciente (valor predeterminado: secops ). |
content_url |
URL utilizada para descargar contenido de SaltStack SecOps Compliance. |
ingest_override |
Al ingerir contenido nuevo, sobrescribe los valores de referencia y las comprobaciones existentes (valor predeterminado: True ). |
locke_dir |
Ruta en que la ingesta espera encontrar contenido nuevo (valor predeterminado: locke ). Si utiliza una ruta de acceso relativa (no comienza con / ), será relativa al directorio de memoria caché del servicio de RaaS /var/lib/raas/cache . |
post_ingest_cleanup |
Elimine el contenido expandido del sistema de archivos después de la ingesta (valor predeterminado: True ). |
download_enabled |
Si se permite la descarga de contenido de SaltStack SecOps Compliance (valor predeterminado: True ). Establezca esta opción en False para sistemas aislados. |
download_frequency |
Frecuencia en segundos con la que el servicio de RaaS intenta descargar contenido de SaltStack SecOps Compliance (valor predeterminado: 86400 por 24 horas). |
ingest_on_boot |
Si el servicio de RaaS debe intentar descargar contenido de SaltStack SecOps Compliance en el arranque (valor predeterminado: True ). |
content_lock_timeout |
Tiempo en segundos durante el que se bloqueará la descarga de contenido (valor predeterminado: 60 ). |
content_lock_block_timeout |
Tiempo en segundos durante el que se bloqueará la descarga de contenido antes de que falle (valor predeterminado: 120 ) |
En la siguiente tabla se describen las opciones de configuración disponibles para el contenido de vulnerabilidad:
Opción | Descripción |
---|---|
vman_dir |
Ubicación en la que el contenido de SaltStack SecOps Vulnerability se expande antes de la ingesta. Si la ruta de acceso es relativa (no comienza con / ), será relativa al directorio de memoria caché del servicio de RaaS /var/lib/raas/cache . |
download_enabled |
Si es True , la descarga de contenido de SaltStack SecOps Vulnerability está habilitada. Se establece en False para sistemas aislados. |
download_frequency |
La frecuencia en segundos de la ingesta y las descargas automatizadas de contenido de SaltStack SecOps Vulnerability. |
username |
Nombre de usuario utilizado para iniciar sesión en enterprise.saltstack.com a fin de obtener contenido. |
content_url |
URL desde la que se descargará el contenido de SaltStack SecOps Vulnerability. |
ingest_on_boot |
Si es True , el contenido de SaltStack SecOps Vulnerability se descargará e ingerirá poco después de que arranque el servicio de RaaS (valor predeterminado: True ). |
compile_stats_interval |
Con qué frecuencia (en segundos) se compilarán estadísticas de SaltStack SecOps Vulnerability. |
stats_snapshot_interval |
Con qué frecuencia (en segundos) se recopilarán estadísticas de SaltStack SecOps Vulnerability. |
old_policy_file_lifespan |
Duración (en días) de los archivos de directiva antiguos que permanecerán en el sistema de archivos RaaS. |
delete_old_policy_files_interval |
Frecuencia (en segundos) con la que se eliminarán los archivos de directiva de SaltStack SecOps Vulnerability antiguos del sistema de archivos RaaS. |
tenable_asset_import_enabled |
Si es True , los granos de minions de SaltStack Config se enviarán a Tenable.io para buscar activos que coincidan (valor predeterminado: True ). |
tenable_asset_import_grains |
Lista de granos de minions que se enviarán a Tenable.io, si la importación de activos de Tenable está habilitada. SaltStack SecOps Vulnerability solo admite Si solo tiene una clave de subconjunto en sus datos de granos, solo se sincronizarán los del subconjunto. Para obtener más información, consulte la documentación Activos de importación de Tenable. |
Preguntas frecuentes
- P: ¿Con qué frecuencia se publica nuevo contenido de SaltStack Vulnerability ?
- R: La frecuencia de publicación actual es aproximadamente una vez por trimestre. Sin embargo, podría publicarse contenido con más frecuencia en el futuro.
- ¿Puedo acceder más rápido al contenido nuevo si uso la ingesta automática de contenido en lugar de la ingesta manual?
- R: El mismo contenido está disponible, independientemente de si la ingesta es manual o automática.
Sin embargo, si utiliza la ingesta manual, debe planificar la comprobación de actualizaciones del contenido de seguridad y desarrollar un proceso para ingerir manualmente el contenido actualizado cuando esté disponible.
- R: El mismo contenido está disponible, independientemente de si la ingesta es manual o automática.
Qué hacer a continuación
Después de configurar SaltStack SecOps, es posible que haya pasos posteriores a la instalación adicionales. Compruebe la lista de pasos posteriores a la instalación para asegurarse de que ha completado todos los pasos necesarios.