vRealize Automation SaltStack SecOps est un module complémentaire pour SaltStack Config qui fournit deux bibliothèques de sécurité. Les deux bibliothèques de contenu sont régulièrement actualisées en fonction de l'évolution des normes de sécurité. Vous pouvez configurer le contenu à télécharger (ou ingérer) automatiquement en cas d'évolution des normes de sécurité, ce qui est recommandé pour la plupart des systèmes standard.

Les types de contenu suivants sont fournis dans le cadre de SaltStack SecOps :

  • Conformité : détection et correction de conformité automatisées pour votre infrastructure. La bibliothèque de contenu de conformité se compose du contenu de sécurité et de conformité de meilleure pratique du secteur, tel que CIS.
  • Vulnérabilité : gère les vulnérabilités sur tous les systèmes de votre environnement. Sa bibliothèque de contenu inclut des avis basés sur les dernières entrées CVE (Common Vulnerabilities and Exposures).

La bibliothèque offre également la possibilité de télécharger du contenu manuellement ou d'accéder au contenu à partir du nœud RaaS via un proxy HTTP(s). L'ingestion manuelle est utile pour les systèmes isolés, alors que le téléchargement via proxy est utile pour éviter de télécharger du contenu directement depuis Internet. Le téléchargement via proxy offre également plus de contrôle et de visibilité sur ce qui est téléchargé et où s'effectue le téléchargement.

Avant de commencer

La configuration de SaltStack SecOps est une étape de post-installation d'une série de plusieurs étapes à suivre dans un ordre spécifique. Tout d'abord, effectuez l'un des scénarios d'installation, puis lisez les pages de post-installation suivantes :

Installer les bibliothèques Python 3 rpm

SaltStack SecOps utilise les bibliothèques Python 3 rpm pour comparer de manière fiable les versions de modules. Ces programmes ont besoin de la précision accrue fournie par ces bibliothèques pour déterminer la conformité des versions ou évaluer les vulnérabilités.

Actuellement, les minions utilisant RedHat ou CentOS 7 peuvent avoir besoin des bibliothèques Python 3 rpm pour exécuter des évaluations précises de conformité ou de vulnérabilité. Si vous prévoyez d'évaluer des minions qui utilisent ces versions de RedHat ou CentOS, vous devez installer manuellement la bibliothèque Python 3 rpm sur ces machines.

Note :

D'autres solutions sont disponibles. Si vous avez besoin d'une autre solution, contactez le support.

Pour installer la bibliothèque Python 3 rpm sur le master Salt exécutant le plug-in master :

  1. Installez le référentiel EPEL à l'aide de la commande suivante :
    yum install -y epel-release
  2. Installez la bibliothèque Python 3 rpm :
    yum install -y python3-rpm

Ingestion automatique de contenu pour les systèmes standard

Pour les systèmes RaaS isolés, le contenu est téléchargé et ingéré régulièrement en fonction des paramètres du fichier de configuration. Par défaut, l'ingestion automatique de contenu est déjà configurée dans SaltStack Config et aucune autre action n'est requise.

Si vous avez installé SaltStack Config manuellement, suivez ces étapes pour configurer l'ingestion automatique de contenu SaltStack SecOps :

  1. Ajoutez les informations suivantes au fichier de configuration du service RaaS /etc/raas/raas dans la section sec, en l'adaptant selon les besoins :
    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. Enregistrez le fichier.
  3. Redémarrez le service RaaS :
    systemctl restart raas

    Après le redémarrage du service, le téléchargement du contenu de SaltStack SecOps commence. L'opération peut prendre jusqu'à cinq minutes, selon votre connexion Internet.

Ingestion d'un contenu via un proxy http(s)

Pour l'ingestion via un proxy, vous devez créer un remplacement au service RaaS et ajouter de nouvelles variables d'environnement pour httpproxy et httpsproxy.

Pour configurer le nœud RaaS afin qu'il utilise le proxy https :

  1. Terminez les étapes précédentes pour activer l'ingestion automatique.
  2. Sur le master, dans la ligne de commande, modifiez le service RaaS :
    systemctl edit raas
  3. Ajoutez les lignes suivantes au fichier généré.
    [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 votre proxy nécessite une authentification par mot de passe, vous devrez peut-être le définir dans le cadre des variables d'environnement de proxy. Par exemple :
    Environment="HTTP_PROXY=http://USER:PASSWORD@<hostname>:234"
  5. Si votre proxy utilise une autorité de certification interne, vous devrez peut-être également définir la variable d'environnement REQUESTS_CA_BUNDLE pour vous assurer que le proxy peut l'utiliser. Par exemple :
    Environment="REQUESTS_CA_BUNDLE=/etc/pki/tls/certs/ca-bundle.crt"
  6. Redémarrez le service RaaS :
    systemctl restart raas

Après le redémarrage du service, le téléchargement du contenu commence. Cela peut prendre jusqu'à 20 minutes.

Ingestion manuelle de contenu pour SaltStack SecOps Compliance

Si votre environnement est isolé, ce qui signifie qu'il ne peut pas se connecter à un site externe pour télécharger des mises à jour, vous devez mettre à jour manuellement le contenu SaltStack SecOps Compliance en téléchargeant le tarball à partir de Customer Connect et en le transférant vers le nœud RaaS.

En outre, si votre système est isolé, modifiez le paramètre de configuration de téléchargement dans le fichier de configuration de la récupération RaaS sur False :

sec:
  download_enabled: False

Le fichier de configuration de la récupération RaaS se trouve dans /etc/raas/raas. Vous devrez peut-être également redémarrer le service RaaS après avoir appliqué ces paramètres de configuration :

systemctl restart raas

Pour ingérer manuellement le tarball SaltStack SecOps Compliance :

  1. Téléchargez le contenu SaltStack SecOps Compliance.
  2. Connectez-vous à un nœud RaaS.
  3. Copiez le tarball de contenu de conformité sur le nœud RaaS dans le dossier tmp.

    Ce contenu peut être livré par e-mail ou par tout autre moyen.

  4. Assurez-vous que les autorisations de locke.tar.gz.e sont définies sur raas:raas.
  5. Ingérez le contenu du tarball.
    su - raas -c "raas ingest /path/to/locke.tar.gz.e"

    Cela renvoie :

    Extracting: /tmp/locke.tar.gz -> /tmp/extracted-1551290468.5497127
    
    Cleaning up: /tmp/extracted-1551290468.5497127
    
    Results:
    
    {'errors': [], 'success': True}

Ingestion manuelle de contenu pour SaltStack SecOps Vulnerability

Si votre environnement est isolé, ce qui signifie qu'il ne peut pas se connecter à un site externe pour télécharger des mises à jour, vous devez mettre à jour manuellement le contenu SaltStack SecOps Vulnerability en téléchargeant le tarball à partir de Customer Connect et en le transférant vers le nœud RaaS.

En outre, si votre système est isolé, modifiez le paramètre de configuration de téléchargement dans le fichier de configuration de la récupération RaaS sur False :

sec:
  download_enabled: False

Le fichier de configuration de la récupération RaaS se trouve dans /etc/raas/raas. Vous devrez peut-être également redémarrer le service RaaS après avoir appliqué ces paramètres de configuration :

systemctl restart raas

Pour ingérer manuellement le tarball SaltStack SecOps Vulnerability :

  1. Téléchargez le contenu SaltStack SecOps Vulnerability.
  2. Connectez-vous à un nœud RaaS.
  3. Copiez le tarball de contenu de vulnérabilité sur le nœud RaaS dans le dossier tmp.

    Ce contenu peut être livré par e-mail ou par tout autre moyen.

  4. Assurez-vous que les autorisations de locke.tar.gz.e sont définies sur raas:raas.
  5. Ingérez le contenu tarball, en remplaçant le nom du tarball dans cette commande par le nom de fichier exact du tarball :
    su - raas -c "raas vman_ingest /tmp/vman_date_example123.tar.gz.e"

    Cela renvoie :

    '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}

Dépannage de l'ingestion manuelle

Si vous essayez d'exécuter les commandes d'ingestion manuelle pour un contenu SaltStack SecOps Compliance ou SaltStack SecOps Vulnerability, un message d'erreur semblable au message suivant peut s'afficher :

/home/centos/locke_date_example123.tar.gz.e not found or not readable

Ce message d'erreur s'affiche parfois si vous ne placez pas le tarball dans le dossier tmp. Placer le tarball dans le dossier tmp résout le problème.

Configurer l'intégration Splunk

SaltStack Config intègre la bibliothèque de vulnérabilités à Splunk pour vous aider à optimiser et à sécuriser votre infrastructure numérique à l'aide du module complémentaire SaltStack Config pour Splunk Enterprise. Le module complémentaire est disponible sur Splunkbase et nécessite SaltStack Config version 6.3 ou version ultérieure.

Le module complémentaire SaltStack Config dans Splunk tire parti d'un point de terminaison de mesures compatibles Prometheus qui signale plus de 25 mesures SaltStack Config uniques. Ces mesures fournissent un aperçu de la santé de votre infrastructure. L'accès à ces données dans Splunk est utile pour surveiller les pannes, identifier une activité anormale, etc. Il vous permet également d'effectuer des actions automatisées en fonction d'un événement Splunk spécifique à l'aide de SaltStack Config.

Pour obtenir des instructions sur l'installation et la configuration du module complémentaire, consultez l'intégralité de la documentation du module complémentaire dans la base de connaissances VMware.

Pour plus d'informations sur le point de terminaison des mesures de SaltStack Config, consultez la documentation de SaltStack SecOps.

Options de configuration

Le tableau suivant décrit les options de configuration disponibles pour le contenu de conformité :

Option Description
stats_snapshot_interval Fréquence (en secondes) de collecte des statistiques de conformité SaltStack SecOps Compliance
compile_stats_interval Fréquence (en secondes) de compilation des statistiques de conformité SaltStack SecOps Compliance
username Nom d'utilisateur à utiliser lors de la connexion à SaltStack Config pour télécharger le contenu SaltStack SecOps Compliance le plus récent (par défaut : secops)
content_url URL utilisée pour télécharger du contenu SaltStack SecOps Compliance
ingest_override Lors de l'ingestion d'un nouveau contenu, remplacez les évaluations et les vérifications existantes (par défaut : True)
locke_dir Chemin d'accès où l'ingestion s'attend à trouver du nouveau contenu (par défaut : locke). Si vous utilisez un chemin relatif (sans / de début), il est relatif au répertoire /var/lib/raas/cache du cache du service RaaS
post_ingest_cleanup Supprimez le contenu développé du système de fichiers après ingestion (par défaut : True)
download_enabled Autorisation éventuelle des téléchargements de contenu SaltStack SecOps Compliance (par défaut : True). Définissez cette action sur False pour les systèmes isolés.
download_frequency Fréquence (en secondes) à laquelle le service RaaS tente de télécharger du contenu SaltStack SecOps Compliance (par défaut : 86400 pour 24 heures)
ingest_on_boot Le service RaaS doit-il tenter de télécharger du contenu SaltStack SecOps Compliance au démarrage ? (par défaut : True)
content_lock_timeout Durée en secondes des téléchargements de contenu (par défaut : 60)
content_lock_block_timeout Durée en secondes du blocage de contenu avant l'échec (par défaut : 120)

Le tableau suivant décrit les options de configuration disponibles pour le contenu de vulnérabilité :

Option Description
vman_dir Emplacement dans lequel le contenu SaltStack SecOps Vulnerability est développé avant l'ingestion. Si le chemin d'accès est relatif (sans / au début), il est relatif au répertoire du cache du service RaaS /var/lib/raas/cache
download_enabled Si la valeur est True, le téléchargement de contenu SaltStack SecOps Vulnerability est activé. Définir sur False pour les systèmes isolés
download_frequency Fréquence en secondes des téléchargements et de l'ingestion automatisés de contenu SaltStack SecOps Vulnerability
username Nom d'utilisateur utilisé pour se connecter à enterprise.saltstack.com pour obtenir du contenu
content_url URL depuis laquelle le contenu SaltStack SecOps Vulnerability sera téléchargé
ingest_on_boot Si la valeur est True, le contenu SaltStack SecOps Vulnerability sera téléchargé et ingéré peu après le démarrage du service RaaS (par défaut : True)
compile_stats_interval Fréquence (en secondes) de compilation des statistiques de conformité SaltStack SecOps Vulnerability
stats_snapshot_interval Fréquence (en secondes) de collecte des statistiques de conformité SaltStack SecOps Vulnerability
old_policy_file_lifespan Durée de vie (en jours) des anciens fichiers de stratégie qui resteront dans le système de fichiers RaaS
delete_old_policy_files_interval Fréquence (en secondes) de suppression des anciens fichiers de stratégie de SaltStack SecOps Vulnerability du système de fichiers RaaS
tenable_asset_import_enabled Si la valeur est True, les minions dans SaltStack Config sont envoyés à Tenable.io pour des ressources correspondantes (par défaut : True)
tenable_asset_import_grains

Liste des minions à envoyer à Tenable.io, si l'importation de ressources utilisables est activée.

SaltStack SecOps Vulnerability ne prend en charge que fqdn, ipv4, ipv6 et hostname prêts à l'emploi, mais vous pouvez envoyer d'autres informations en définissant des éléments personnalisés. Pour en savoir plus sur les grains, notamment sur l'écriture de grains personnalisés, consultez la documentation de Salt : grains.

Si vos données ne contiennent qu'un sous-ensemble de clés dans vos données de grain, seules celles du sous-ensemble seront synchronisées.

fqdn et ipv4 seront envoyés même si vous ne les répertoriez pas ici.

Pour plus d'informations, consultez la documentation Ressources d'importation utilisables.

FAQ

  • Q : à quelle fréquence le nouveau contenu de SaltStack SecOps est-il publié ?
    • R : la fréquence de publication actuelle est d'environ une fois par trimestre. Toutefois, le contenu pourrait être publié plus fréquemment dans le futur.
  • Puis-je accéder au nouveau contenu plus tôt si j'utilise l'ingestion automatique de contenu au lieu de l'ingestion manuelle ?
    • R : le contenu disponible reste le même, que l'ingestion soit manuelle ou automatique.

      Cependant, si vous utilisez l'ingestion manuelle, vous devez planifier la vérification des mises à jour du contenu de sécurité et développer un processus pour ingérer manuellement le contenu mis à jour lorsqu'il est disponible.

Étape suivante

Après la configuration de SaltStack SecOps, des étapes de post-installation supplémentaires peuvent être nécessaires. Consultez la liste des étapes de post-installation pour vous assurer que vous avez effectué toutes les étapes nécessaires.