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 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.

Nota:

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:

  1. Instale el repositorio de EPEL mediante el siguiente comando:
    yum install -y epel-release
  2. 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:

  1. Agregue lo siguiente al archivo de configuración del servicio de RaaS /etc/raas/raas en la sección sec 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
  2. Guarde el archivo.
  3. 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:

  1. Complete los pasos anteriores para habilitar el consumo automático.
  2. En el nodo principal de la línea de comandos, edite el servicio de RaaS:
    systemctl edit raas
  3. 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"
  4. 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"
  5. 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"
  6. 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:

  1. Descargue el contenido de SaltStack SecOps Compliance.
  2. Inicie sesión en un nodo de RaaS.
  3. 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.

  4. Compruebe que los permisos de locke.tar.gz.e estén configurados en raas:raas.
  5. 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:

  1. Descargue el contenido de SaltStack SecOps Vulnerability.
  2. Inicie sesión en un nodo de RaaS.
  3. 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.

  4. Compruebe que los permisos de locke.tar.gz.e estén configurados en raas:raas.
  5. 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 fqdn, ipv4, ipv6 y hostname integrados, pero usted puede definir granos personalizados para enviar otra información. Para obtener más información sobre los granos, incluida la forma de escribir granos personalizados, consulte Salt: granos.

Si solo tiene una clave de subconjunto en sus datos de granos, solo se sincronizarán los del subconjunto.

fqdn y ipv4 se enviarán incluso si no los enumera aquí.

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 SecOps?
    • 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.

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.