I contenuti di conformità personalizzati consentono di definire i propri standard di sicurezza, per completare la libreria dei benchmark di sicurezza e i controlli integrati in SaltStack SecOps Compliance.

I contenuti personalizzati sono utili per migliorare i criteri di SaltStack SecOps Compliance e adattarli ai requisiti interni.

SaltStack SecOps Compliance include un SDK (Software Development Kit) dei contenuti personalizzati che è possibile utilizzare per creare, testare e generare contenuti di sicurezza personalizzati. È possibile importare i contenuti di sicurezza personalizzati da utilizzare con la libreria di sicurezza integrata di SaltStack SecOps Compliance per la valutazione e la correzione. La possibilità di importare contenuti personalizzati permette anche di controllare la versione dei contenuti utilizzando il sistema di controllo delle versioni preferito, ad esempio Git.

Per utilizzare i controlli personalizzati, è innanzitutto necessario inizializzare l'SDK dei contenuti personalizzati di SaltStack SecOps Compliance. L'SDK include file di esempio che è possibile modificare per creare controlli personalizzati, nonché benchmark. L'SDK include anche un ambiente di test basato su Docker in cui è possibile testare i nuovi contenuti.

Una volta creati e testati i contenuti personalizzati, è possibile creare un file di contenuti e importarlo in SaltStack SecOps Compliance per iniziare la valutazione e la correzione. I controlli personalizzati includono un'icona dell'utente custom-checks-user-icon , a differenza dei controlli di SaltStack che hanno l'icona built-in-checks-shield-icon . SaltStack SecOps Compliance monitora le dipendenze tra i criteri e i contenuti personalizzati e fornisce un elenco delle dipendenze che potrebbero interrompersi se si eliminano i contenuti.

Prerequisiti

Procedura

  1. Dalla riga di comando, passare alla directory contenente il file ed eseguire il comando:
    Sistema operativo Comando
    Mac OS o Linux ./secops_sdk init
    Windows secops_sdk.exe init
    Non viene visualizzato alcun output (comportamento previsto). La directory contiene le cartelle e i file seguenti:
    • benchmarks: contiene i file di metadati (.meta) dei benchmark personalizzati
    • salt/locke/custom: contiene i file di stato (.sls) e i file di metadati (.meta) dei controlli personalizzati
    • sample_tests: contiene i file di esempio per il test tramite Docker
    • README.md: fornisce informazioni più dettagliate sull'SDK
  2. (Facoltativo) Eseguire il commit delle modifiche in un repository controllato della versione.
  3. Per creare controlli personalizzati, nell'SDK dei contenuti personalizzati passare a salt/locke/custom. Per creare benchmark personalizzati, andare al passaggio 8.
    Nota: Tutti i controlli personalizzati devono essere configurati in un file di stato (.sls) e nel file di metadati (.meta) corrispondente.
  4. Creare una copia per un file di stato di esempio (.sls) e il file di metadati corrispondente (.meta), quindi rinominare entrambi utilizzando il nome personalizzato desiderato. Salvare entrambi i file in una sottodirectory qualsiasi di salt/locke/custom.
    Entrambi i file devono trovarsi nella stessa directory e iniziare con lo stesso nome, ad esempio: my_first_check.meta e my_first_check.sls.
  5. Modificare i contenuti del file di metadati per personalizzare il controllo in base alle proprie esigenze.
    Nota: Verificare che i file di metadati contengano riferimenti a benchmark diversi. Quando si creano contenuti personalizzati, assicurarsi di includere tutti i benchmark associati nel file di metadati di controllo.
  6. Modificare i contenuti del file di stato.
  7. Assicurarsi che entrambi i file siano salvati nella stessa directory.
  8. Per creare benchmark personalizzati, nell'SDK dei contenuti personalizzati passare alla directory benchmarks. Questa directory contiene un file di metadati (.meta) del benchmark di esempio.
  9. Creare una copia di Sample_benchmark.meta e rinominarla con il nome personalizzato desiderato.
  10. Modificare i contenuti del file di metadati per personalizzare il benchmark in base alle esigenze.

risultati

Vengono creati i benchmark e i controlli personalizzati. Se necessario, è possibile eliminare un benchmark o un controllo personalizzato passando a SecOps > Controlli o SecOps > Benchmark, facendo clic sull'icona del menu accanto ai contenuti personalizzati e quindi facendo clic su Elimina.

Operazioni successive

Dopo aver creato i contenuti personalizzati, è possibile testarli aprendo la riga di comando, passando alla directory sample_tests dell'SDK dei contenuti personalizzati ed eseguendo i comandi seguenti:

Comando Risultato
1. ./build.sh Crea un'immagine Docker di CentOS7 con Salt per il test.
2. ./up.sh Avvia il contenitore di test
3. ./test.sh salt-call --local state.apply locke.custom.mounts.my_first_check test=True Esegue test campione sui controlli creati nella directory salt/locke/custom. È possibile avviare i controlli personalizzati come si farebbe con i normali stati di Salt. Per ulteriori informazioni sugli stati di Salt, vedere Come si utilizzano gli stati di Salt.
4. ./down.sh Una volta completato il test, eseguire questo comando per arrestare il contenitore di test.

Dopo aver testato i contenuti personalizzati, è possibile creare la libreria dei contenuti personalizzati.