vRealize Automation SaltStack SecOps è un componente aggiuntivo per SaltStack Config che fornisce due librerie di sicurezza. Entrambe le librerie dei contenuti vengono aggiornate regolarmente quando gli standard di sicurezza vengono modificati. È possibile configurare i contenuti in modo che vengano scaricati (o importati) automaticamente quando gli standard di sicurezza vengono modificati, operazione consigliata per la maggior parte dei sistemi standard.

I tipi di contenuto seguenti vengono forniti come parte di SaltStack SecOps:

  • Conformità: rilevamento e correzione automatizzati della conformità per l'infrastruttura. La libreria di contenuti di conformità è costituita dai contenuti di conformità e sicurezza delle procedure consigliate del settore, ad esempio CIS.
  • Vulnerabilità: gestisce le vulnerabilità in tutti i sistemi dell'ambiente. La sua libreria di contenuti include avvisi basati sulle voci CVE (Common Vulnerabilities and Exposures) più recenti.

In alternativa, la libreria include l'opzione per scaricare i contenuti manualmente o per accedere ai contenuti dal nodo RaaS tramite un proxy HTTP(S). L'inserimento manuale è utile per i sistemi air gap, mentre il download tramite proxy è utile per evitare di scaricare contenuti direttamente da Internet. Il download tramite proxy garantisce inoltre maggiore controllo e visibilità su ciò che viene scaricato e dove.

Prima di iniziare

La configurazione di SaltStack SecOps fa parte di una serie di passaggi post-installazione che devono essere eseguiti in un ordine specifico. Completare innanzitutto uno degli scenari di installazione e quindi leggere le seguenti pagine dopo l'installazione:

Installazione delle librerie rpm di Python 3

SaltStack SecOps utilizza le librerie rpm di Python 3 per confrontare in modo affidabile le versioni dei pacchetti. Questi programmi richiedono la maggiore precisione fornita da queste librerie per determinare la conformità delle versioni o valutare le vulnerabilità.

Attualmente, qualsiasi minion che utilizza Red Hat o CentOS 7 potrebbe aver bisogno delle librerie rpm di Python 3 per eseguire valutazioni di conformità o vulnerabilità precise. Se si intende eseguire valutazioni nei minion che utilizzano queste versioni di Red Hat o CentOS, è necessario installare manualmente la libreria rpm di Python 3 su queste macchine.

Nota:

Sono disponibili soluzioni alternative. Se è necessaria una soluzione alternativa, contattare il supporto.

Per installare la libreria rpm di Python 3 nel Salt Master che esegue il plug-in Master:

  1. Installare il repository EPEL utilizzando il comando seguente:
    yum install -y epel-release
  2. Installare la libreria rpm di Python 3:
    yum install -y python3-rpm

Inserimento automatico dei contenuti per i sistemi standard

Per i sistemi RaaS non air gap, i contenuti vengono scaricati e inseriti periodicamente in base alle impostazioni nel file di configurazione. Per impostazione predefinita, l'inserimento automatico dei contenuti è già configurato in SaltStack Config e non sono necessarie altre operazioni.

Se SaltStack Config è stato installato manualmente, eseguire i passaggi seguenti per configurare l'inserimento automatico dei contenuti di SaltStack SecOps:

  1. Aggiungere quanto segue al file di configurazione del servizio RaaS /etc/raas/raas nella sezione sec adattandolo alle necessità:
    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. Salvare il file.
  3. Riavviare il servizio RaaS:
    systemctl restart raas

    Dopo il riavvio del servizio, viene avviato il download dei contenuti di SaltStack SecOps. Questa operazione può richiedere fino a cinque minuti, in base alla connessione Internet.

Inserimento dei contenuti tramite il proxy http(s)

Per l'inserimento tramite proxy, è necessario creare una sostituzione per il servizio RaaS e aggiungere nuove variabili di ambiente per httpproxy e httpsproxy.

Per configurare il nodo RaaS in modo che utilizzi il proxy https:

  1. Completare i passaggi precedenti per abilitare l'inserimento automatico.
  2. Nel master nella riga di comando, modificare il servizio RaaS:
    systemctl edit raas
  3. Aggiungere le righe seguenti al file generato.
    [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. Se il proxy richiede l'autenticazione con password, potrebbe essere necessario impostarla come parte delle variabili di ambiente del proxy. Ad esempio:
    Environment="HTTP_PROXY=http://USER:PASSWORD@<hostname>:234"
  5. Se il proxy utilizza un'autorità di certificazione interna, potrebbe essere necessario impostare anche la variabile di ambiente REQUESTS_CA_BUNDLE per assicurarsi che il proxy sia in grado di utilizzarla. Ad esempio:
    Environment="REQUESTS_CA_BUNDLE=/etc/pki/tls/certs/ca-bundle.crt"
  6. Riavviare il servizio RaaS:
    systemctl restart raas

Dopo il riavvio del servizio, viene avviato il download dei contenuti. Questa fase può richiedere fino a 20 minuti.

Inserimento manuale dei contenuti per SaltStack SecOps Compliance

Se l'ambiente è air gap, ovvero non può connettersi a un sito esterno per scaricare gli aggiornamenti, è necessario aggiornare manualmente il contenuto di SaltStack SecOps Compliance scaricando il tarball da Customer Connect e trasferendolo al nodo RaaS.

Se il sistema è air gap, modificare inoltre l'impostazione di configurazione del download nel file di configurazione di RaaS impostandola su False:

sec:
  download_enabled: False

Il file di configurazione di RaaS si trova in /etc/raas/raas. Potrebbe inoltre essere necessario riavviare il servizio RaaS dopo aver applicato queste impostazioni di configurazione:

systemctl restart raas

Per inserire manualmente il tarball di SaltStack SecOps Compliance:

  1. Scaricare il contenuto di SaltStack SecOps Compliance.
  2. Accedere al nodo RaaS.
  3. Copiare il tarball del contenuto di conformità nel nodo RaaS nella cartella tmp.

    Questi contenuti possono essere distribuiti tramite email o in qualsiasi altro modo.

  4. Inserire i contenuti del tarball.
    su - raas -c "raas ingest /path/to/locke.tar.gz.e"

    Viene restituito quanto segue:

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

Inserimento manuale dei contenuti per SaltStack SecOps Vulnerability

Se l'ambiente è air gap, ovvero non può connettersi a un sito esterno per scaricare gli aggiornamenti, è necessario aggiornare manualmente il contenuto di SaltStack SecOps Vulnerability scaricando il tarball da Customer Connect e trasferendolo al nodo RaaS.

Se il sistema è air gap, modificare inoltre l'impostazione di configurazione del download nel file di configurazione di RaaS impostandola su False:

sec:
  download_enabled: False

Il file di configurazione di RaaS si trova in /etc/raas/raas. Potrebbe inoltre essere necessario riavviare il servizio RaaS dopo aver applicato queste impostazioni di configurazione:

systemctl restart raas

Per inserire manualmente il tarball di SaltStack SecOps Vulnerability:

  1. Scaricare il contenuto di SaltStack SecOps Vulnerability.
  2. Accedere al nodo RaaS.
  3. Copiare il tarball dei contenuti di vulnerabilità nel nodo RaaS nella cartella tmp.

    Questi contenuti possono essere distribuiti tramite email o in qualsiasi altro modo.

  4. Immettere i contenuti del tarball, sostituendo il nome del tarball in questo comando con il nome di file esatto del tarball:
    su - raas -c "raas vman_ingest /tmp/vman_date_example123.tar.gz.e"

    Viene restituito quanto segue:

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

Risoluzione dei problemi relativi all'inserimento manuale

Se si tenta di eseguire i comandi di inserimento manuale per il contenuto di SaltStack SecOps Compliance o SaltStack SecOps Vulnerability, è possibile che venga visualizzato un messaggio di errore simile al seguente:

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

Questo messaggio di errore viene a volte visualizzato se non si posiziona il tarball nella cartella tmp. Se si posiziona il tarball nella cartella tmp, il problema viene risolto.

Configurazione dell'integrazione di Splunk

SaltStack Config integra la libreria di vulnerabilità con Splunk per consentire di ottimizzare e proteggere l'infrastruttura digitale utilizzando il componente aggiuntivo SaltStack Config per Splunk Enterprise. Il componente aggiuntivo è disponibile su Splunkbase e richiede SaltStack Config versione 6.3 o successiva.

Il componente aggiuntivo SaltStack Config in Splunk sfrutta un endpoint delle metriche compatibile con Prometheus che segnala oltre 25 metriche di SaltStack Config univoche. Queste metriche forniscono informazioni dettagliate sullo stato dell'infrastruttura. L'accesso a queste metriche in Splunk è utile per monitorare le interruzioni, identificare attività anomale e molto altro. Offre inoltre la possibilità di eseguire azioni automatizzate in base a un evento specifico di Splunk utilizzando SaltStack Config.

Per istruzioni sull'installazione e la configurazione del componente aggiuntivo, vedere la documentazione completa del componente aggiuntivo nella Knowledge Base di VMware.

Per ulteriori informazioni sull'endpoint delle metriche di SaltStack Config, vedere la documentazione del prodotto per SaltStack SecOps.

Opzioni di configurazione

Nella seguente tabella vengono descritte le opzioni di configurazione disponibili per i contenuti di conformità:

Opzione Descrizione
stats_snapshot_interval Frequenza (in secondi) con cui verranno raccolte le statistiche di SaltStack SecOps Compliance
compile_stats_interval Frequenza (in secondi) con cui verranno compilate le statistiche di SaltStack SecOps Compliance
username Nome utente da utilizzare durante la connessione a SaltStack Config per scaricare i contenuti più recenti di SaltStack SecOps Compliance (impostazione predefinita: secops)
content_url URL utilizzato per scaricare i contenuti di SaltStack SecOps Compliance
ingest_override Quando si inseriscono nuovi contenuti, consente di sovrascrivere i benchmark e i controlli esistenti (impostazione predefinita: True)
locke_dir Percorso in cui l'inserimento prevede di trovare nuovi contenuti (impostazione predefinita: locke). Se si utilizza un percorso relativo (nessuna / iniziale), questa opzione indica la directory della cache /var/lib/raas/cache del servizio RaaS
post_ingest_cleanup Rimuove i contenuti espansi dal file system dopo l'inserimento (impostazione predefinita: True)
download_enabled Indica se sono consentiti i download dei contenuti di SaltStack SecOps Compliance (impostazione predefinita: True). Impostare questa opzione su False per i sistemi air gap.
download_frequency Frequenza in secondi con cui il servizio RaaS tenterà di scaricare i contenuti di SaltStack SecOps Compliance (impostazione predefinita: 86400, ovvero 24 ore)
ingest_on_boot Indica se il servizio RaaS deve tentare di scaricare i contenuti di SaltStack SecOps Compliance all'avvio (impostazione predefinita: True)
content_lock_timeout Durata in secondi dei blocchi del download dei contenuti (impostazione predefinita: 60)
content_lock_block_timeout Durata in secondi dell'interruzione dei blocchi del download dei contenuti prima che l'operazione abbia esito negativo (impostazione predefinita: 120)

Nella seguente tabella vengono descritte le opzioni di configurazione disponibili per i contenuti vulnerabilità:

Opzione Descrizione
vman_dir Posizione in cui i contenuti di SaltStack SecOps Vulnerability vengono espansi prima dell'inserimento. Se il percorso è relativo (nessuna / iniziale), questa opzione indica la directory della cache /var/lib/raas/cache del servizio RaaS
download_enabled Se è True, il download dei contenuti di SaltStack SecOps Vulnerability è attivato. Impostare su False per i sistemi air gap
download_frequency Frequenza in secondi dei download e dell'inserimento automatici dei contenuti di SaltStack SecOps Vulnerability
username Nome utente utilizzato per accedere a enterprise.saltstack.com per recuperare i contenuti
content_url URL da cui verranno scaricati i contenuti di SaltStack SecOps Vulnerability
ingest_on_boot Se è True, i contenuti di SaltStack SecOps Vulnerability verranno scaricati e inseriti subito dopo l'avvio del servizio RaaS (impostazione predefinita: True)
compile_stats_interval Frequenza (in secondi) con cui verranno compilate le statistiche di SaltStack SecOps Vulnerability
stats_snapshot_interval Frequenza (in secondi) con cui verranno raccolte le statistiche di SaltStack SecOps Vulnerability
old_policy_file_lifespan Durata (in giorni) dei vecchi file dei criteri che rimarranno nel file system di RaaS
delete_old_policy_files_interval Frequenza (in secondi) con cui i file obsoleti dei criteri di SaltStack SecOps Vulnerability verranno eliminati dal file system di RaaS
tenable_asset_import_enabled Se è True, i grani dei minion in SaltStack Config verranno inviati a Tenable.io per le risorse corrispondenti (impostazione predefinita: True)
tenable_asset_import_grains

Elenco dei grani dei minion da inviare a Tenable.io se l'importazione delle risorse tenable è abilitata.

Per impostazione predefinita, SaltStack SecOps Vulnerability supporta solo fqdn, ipv4, ipv6 e hostname. È tuttavia possibile inviare altre informazioni definendo grani personalizzati. Per ulteriori informazioni sui grani, incluse le modalità di scrittura dei grani personalizzati, vedere la sezione relativa ai grani della documentazione di Salt.

Se nei dati dei grani sono presenti solo le chiavi di un sottoinsieme, verranno sincronizzati solo i grani del sottoinsieme.

fqdn e ipv4 verranno inviati anche se non sono elencati qui.

Per ulteriori informazioni, vedere la documentazione sull'importazione delle risorse tenable.

Domande frequenti

  • D: con quale frequenza vengono rilasciati i nuovi contenuti di SaltStack Vulnerability?
    • R: la frequenza di rilascio corrente è di circa una volta a trimestre. Tuttavia, i contenuti potrebbero essere rilasciati più frequentemente in futuro.
  • È possibile accedere prima ai nuovi contenuti se si utilizza l'inserimento automatico dei contenuti anziché l'inserimento manuale?
    • R: sono disponibili gli stessi contenuti, sia tramite l'inserimento manuale sia tramite l'inserimento automatico.

      Tuttavia, se si utilizza l'inserimento manuale, è necessario pianificare la verifica della disponibilità di aggiornamenti dei contenuti di sicurezza e sviluppare un processo per l'inserimento manuale dei contenuti aggiornati quando sono disponibili.

Passaggi successivi

Dopo la configurazione di SaltStack SecOps, potrebbe essere necessario eseguire ulteriori passaggi successivi all'installazione. Controllare l'elenco dei passaggi successivi all'installazione per assicurarsi di aver completato tutti i passaggi necessari.