Scansioni di conformità in AWS OpsWorks for Chef Automate - AWS OpsWorks

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Scansioni di conformità in AWS OpsWorks for Chef Automate

Importante

AWS OpsWorks for Chef Automate ha raggiunto la fine del ciclo di vita il 5 maggio 2024 ed è stato disabilitato sia per i clienti nuovi che per quelli esistenti. Consigliamo ai clienti esistenti di migrare a Chef SaaS o a una soluzione alternativa. Se hai domande, puoi contattare il AWS Support team su AWS re:POST o tramite Premium AWS Support.

Le scansioni di conformità ti permettono di monitorare la conformità dei nodi gestiti nell'infrastruttura in base a policy predefinite, chiamate anche regole. Le visualizzazioni Compliance ti permettono di controllare regolarmente le applicazioni per individuarne eventuali vulnerabilità e configurazioni non conformi. Chef offre oltre 100 profili di conformità predefiniti, ovvero raccolte di regole valide per configurazioni di nodi specifiche, che puoi usare nelle scansioni di conformità. Puoi anche usare il InSpec linguaggio Chef per creare i tuoi profili personalizzati.

Se il server ancora non esegue Chef Automate 2.0, è possibile configurare Chef Compliance manualmente, installando il libro di ricette Audit.

Nota

La versione minima supportata del software Chef Infra client agent (chef-client) sui nodi associati a un AWS OpsWorks for Chef Automate server è 13. x. Ti consigliamo di utilizzare la chef-client versione più recente e stabile o almeno la 14.10.9.

Conformità in Chef Automate 2.0

Se sul tuo AWS OpsWorks for Chef Automate server è in esecuzione Chef Automate 2.0, configura Chef Compliance utilizzando le procedure in questa sezione.

Esecuzione di processi di scansione di conformità con Chef Automate 2.0

Chef Automate 2.0 include la funzionalità di InSpec scansione della conformità di Chef che in precedenza richiedeva la configurazione manuale e la configurazione del libro di cucina. È possibile eseguire lavori di scansione su un server che esegue Chef Automate 2.0 AWS OpsWorks for Chef Automate . Le operazioni possono essere eseguite immediatamente (una volta), pianificate per un secondo momento o pianificate per essere eseguite a intervalli specificati, ad esempio ogni giorno o ogni due ore. I risultati di un processo di scansione vengono inviati al report di conformità. È possibile visualizzare e intraprendere azioni sui risultati della scansione di conformità nel pannello di controllo di Chef Automate. Per aprire la scheda Compliance (Conformità) e visualizzare i report, nella scheda Scan Jobs (Processi di scansione) nel pannello di controllo di Chef Automate, scegli Report a destra della riga di un nodo gestito.

Per eseguire i processi di scansione sui nodi gestiti, è necessario disporre di quanto segue.

  • Almeno un profilo di conformità installato nello spazio dei nomi.

  • Almeno un nodo di destinazione aggiunto manualmente o un'istanza EC2 aggiunta automaticamente.

In AWS OpsWorks for Chef Automate, i lavori di scansione sono supportati sulle seguenti destinazioni.

  • Nodi aggiunti manualmente

  • Istanze aws-ec2

  • Regioni AWS

Per istruzioni dettagliate su come eseguire i processi di scansione, consulta l'argomento relativo ai processi di scansione di Chef Automate nella documentazione.

(Opzionale, Chef Automate 2.0) Impostazione della conformità con il libro di ricette Audit

È possibile configurare la conformità su qualsiasi AWS OpsWorks for Chef Automate server. Dopo l'avvio di un server AWS OpsWorks for Chef Automate , puoi installare i profili dal pannello di controllo Chef Automate o aggiungere i profili desiderati agli attributi del libro di ricette Audit nel file di policy Policyfile.rb. Un file Policyfile.rb precompilato è incluso nello starter kit.

Dopo la modifica di Policyfile.rb con i profili come attributi del libro di ricette Audit, esegui i comandi chef push per caricare il libro di ricette Audit e altri libri di ricette specificati in Policyfile.rb nel server Chef Automate. L'installazione del ricettario Audit installa anche il gem for Chef InSpec, un framework di test e audit open source prodotto da Chef. Per Chef Automate 2.0, scegli la versione 7.1.0 o successiva del libro di ricette Audit. La InSpec gem deve essere la versione 2.2.102 o successiva.

Le istruzioni incluse in questa sezione mostrano come implementare il libro di ricette opsworks-audit. Il ricettario Audit scarica i profili specificati dal server Chef Automate, valuta i nodi rispetto al profilo DevSec SSH Baseline e riporta il risultato delle scansioni di conformità ad ogni esecuzione. chef-client

Per installare profili di conformità
  1. Se non è già stato fatto, accedere al pannello di controllo Web di Chef Automate. Utilizzare le credenziali ricevute al momento del download dello starter kit durante la creazione del server AWS OpsWorks for Chef Automate .

  2. Nel pannello di controllo di Chef Automate, scegliere la scheda Asset Store (Store asset).

    Profili di conformità
  3. Scegliere la scheda Available (Disponibile) per vedere i profili predefiniti.

  4. Esaminare l'elenco dei profili. Scegliere un profilo corrispondente al sistema operativo e alla configurazione di almeno uno dei nodi gestiti. Per visualizzare i dettagli sul profilo, inclusa una descrizione delle violazioni identificate e del codice delle regole sottostante del profilo, scegliere > a destra della voce del profilo. È possibile scegliere più profili. Se stai configurando l'esempio nello Starter Kit, scegli SSH Baseline. DevSec

    Visualizzazione dei dettagli del profilo di conformità Chef
  5. Per installare i profili selezionati nel server Chef Automate, scegliere Get (Ottieni).

  6. I profili una volta installati vengono visualizzati nella scheda Profiles (Profili) del pannello di controllo di Chef Automate.

Per installare i libri di ricette con Policyfile.rb
  1. Visualizzare Policyfile.rb nello starter kit per verificare che gli attributi per il libro di ricette Audit specifichino il profilo ssh-baseline in ['profiles'].

    # Define audit cookbook attributes default["opsworks-demo"]["audit"]["reporter"] = "chef-server-automate" default["opsworks-demo"]["audit"]["profiles"] = [ { "name": "DevSec SSH Baseline", "compliance": "admin/ssh-baseline" } ]
  2. Scaricare e installare i libri di ricette definiti in Policyfile.rb.

    chef install

    La versione di tutti i libri di ricette è indicata nel file metadata.rb del libro di ricette. A ogni modifica di un libro di ricette, è necessario aumentare la versione del libro di ricette all'interno del file metadata.rb.

  3. Eseguire il push della policy opsworks-demo, definita in Policyfile.rb, per il server.

    chef push opsworks-demo
  4. Verificare l'installazione della policy. Esegui il comando seguente.

    chef show-policy

    Il risultato deve essere simile al seguente:

    opsworks-demo-webserver ======================= * opsworks-demo: ec0fe46314
  5. Aggiungere i nodi al server da gestire, se non è già stato fatto. Per connettere il primo nodo al AWS OpsWorks for Chef Automate server, utilizzate lo userdata.sh script incluso in questo Starter Kit. Utilizza l' AWS OpsWorks AssociateNodeAPI per connettere un nodo al tuo server.

    È possibile automatizzare l'associazione di nodi completando la procedura in Aggiungi nodi automaticamente in AWS OpsWorks for Chef Automate o aggiungendo un nodo alla volta completando la procedura in Aggiungi nodi singolarmente.

  6. Dopo aver aggiornato l'elenco di esecuzione per i nodi, l'agente chef-client esegue le ricette specificate alla successiva esecuzione. Per impostazione predefinita, l'esecuzione avviene ogni 1800 secondi (30 minuti). Dopo l'esecuzione, è possibile visualizzare e intraprendere azioni sui risultati di conformità dalla scheda Compliance (Conformità) nel pannello di controllo di Chef Automate.

    Risultati della scansione di conformità di Chef

Esecuzione di una scansione di compliance

I risultati della scansione di compliance vengono in genere visualizzati nel pannello di controllo di Chef Automate subito dopo la prima esecuzione dell'agente, che avviene dopo la configurazione degli elenchi di esecuzione dei nodi.

Visualizzazione della pagina Reporting (Creazione di report) di Chef Compliance

Nel pannello di controllo di Chef Automate scegliere la scheda Compliance. Nel riquadro di navigazione a sinistra, scegliere Reporting (Creazione di report). Scegliere la scheda Profiles (Profili), scegliere Scan Results (Risultati scansione) e quindi scegliere un nodo con errori di scansione per ottenere altre informazioni sulle regole rispetto alle quali il nodo ha restituito un errore.

Elenco di conformità dei risultati con errori

In genere, vengono visualizzati risultati di scansione non conformi, poiché i nuovi nodi non soddisfano ancora tutte le regole del profilo DevSec SSH Baseline. L'DevSec Hardening Framework, un progetto basato sulla comunità, offre libri di cucina per risolvere problemi che violano le regole del profilo SSH Baseline. DevSec

(Facoltativo) Risoluzione dei risultati non conformi

Lo starter kit include un ricettario open source che puoi eseguire per correggere i risultati non conformi delle ssh-hardening esecuzioni con il profilo SSH Baseline. DevSec

Nota

Il ssh-hardening ricettario apporta modifiche ai nodi per conformarsi alle regole SSH Baseline. DevSec Prima di eseguire questo libro di cucina su qualsiasi nodo di produzione, consulta i dettagli sul profilo DevSec SSH Baseline nella console Chef Automate per comprendere le violazioni delle regole a cui il libro di cucina mira. Esamina le informazioni sul libro di ricette ssh-hardening open source prima di eseguirlo in qualsiasi nodo di produzione.

Per eseguire il libro di ricette ssh-hardening
  1. In un editor di testo, accodare il libro di ricette ssh-hardening all'elenco di esecuzioni di Policyfile.rb. L'elenco di esecuzioni di Policyfile.rb deve corrispondere a quanto riportato di seguito.

    run_list 'chef-client', 'opsworks-webserver', 'audit', 'ssh-hardening'
  2. Aggiornare Policyfile.rb ed eseguirne il push al server AWS OpsWorks for Chef Automate .

    chef update Policyfile.rb chef push opsworks-demo
  3. I nodi che sono associati alla policy opsworks-demo aggiornano automaticamente l'elenco di esecuzioni e applicano il libro di ricette ssh-hardening alla successiva esecuzione di chef-client.

    Poiché si utilizza il libro di ricette chef-client, il nodo esegue l'archiviazione a intervalli regolari (30 minuti per impostazione predefinita). Al check-in successivo, il ssh-hardening ricettario viene eseguito e aiuta a migliorare la sicurezza dei nodi per soddisfare le regole del DevSec profilo SSH Baseline.

  4. Dopo l'esecuzione iniziale del libro di ricette ssh-hardening, attendere 30 minuti per una nuova esecuzione di una scansione di conformità. Visualizzare i risultati nel pannello di controllo di Chef Automate. I risultati non conformi che si sono verificati nell'esecuzione iniziale della scansione DevSec SSH Baseline devono essere risolti.

Confomità in Chef Automate 1.x

Se sul tuo AWS OpsWorks for Chef Automate server è in esecuzione Chef Automate 1. x, configura Chef Compliance utilizzando le procedure in questa sezione.

(Opzionale, Chef Automatizzare 1.x) Impostazione di Chef Compliance

Puoi configurare Chef Compliance su qualsiasi AWS OpsWorks for Chef Automate server. Dopo aver avviato un server AWS OpsWorks for Chef Automate , scegli i profili che vuoi eseguire tra quelli inclusi nel pannello di controllo di Chef Automate. Dopo aver installato i profili, esegui i comandi berks per caricare il libro di ricette Audit nel server Chef Automate. L'installazione del ricettario Audit installa anche gem for InSpec, un framework di test open source prodotto da Chef che consente di integrare test automatizzati in qualsiasi fase della pipeline di distribuzione. Per Chef Automate 1.x, scegli la versione 5.0.1 o successiva del libro di ricette Audit. La InSpec gem deve essere la versione 1.24.0 o successiva.

Lo AWS OpsWorks for Chef Automate starter kit include un ricettario wrapperopsworks-audit, che scarica e installa la versione giusta del ricettario Chef's Audit per te. Il opsworks-audit ricettario indica inoltre all'chef-clientagente di valutare i nodi in base al profilo DevSecSSH Baseline che installerai dalla console di Compliance di Chef più avanti in questo argomento. Puoi configurare Compliance usando qualsiasi libro di ricette in base alle tue preferenze. Le istruzioni incluse in questa sezione mostrano come implementare il libro di ricette opsworks-audit.

Per installare profili Compliance
  1. Se non è già stato fatto, accedere al pannello di controllo Web di Chef Automate. Utilizza le credenziali che hai ricevuto quando hai scaricato lo Starter Kit durante la creazione del server. AWS OpsWorks for Chef Automate

  2. Nel pannello di controllo di Chef Automate scegliere la scheda Compliance.

    Profili Chef Compliance
  3. Sulla barra di navigazione a sinistra scegliere Profile Store (Store profili)e quindi scegliere la scheda Available (Disponibili) per visualizzare i profili predefiniti.

  4. Esaminare l'elenco dei profili. Scegliere un profilo corrispondente al sistema operativo e alla configurazione di almeno uno dei nodi gestiti. Per visualizzare i dettagli sul profilo, inclusa una descrizione delle violazioni identificate e del codice delle regole sottostante del profilo, scegliere > a destra della voce del profilo. È possibile scegliere più profili.

    Visualizzazione dei dettagli del profilo Chef Compliance
  5. Per installare i profili selezionati nel server Chef Automate, scegliere Get (Ottieni).

  6. Al termine del download, passare alla procedura seguente.

Per installare e configurare il libro di ricette opsworks-audit
  1. Questa fase è facoltativa, ma permette di risparmiare tempo nella fase 6, quando verranno aggiunte ricette a elenchi di esecuzione dei nodi. Modificare il file roles/opsworks-example-role.rb incluso nello starter kit scaricato al momento del download durante la creazione del server AWS OpsWorks for Chef Automate . Aggiungere le righe seguenti. L'ultima riga è impostata come commento, perché l'aggiunta del libro di ricette e della ricetta ssh-hardening per risolvere nodi non conformi dopo l'esecuzione delle scansioni Compliance è facoltativa.

    run_list( "recipe[chef-client]", "recipe[apache2]", "recipe[opsworks-audit]" # "recipe[ssh-hardening]" )
  2. Utilizzare un editor di testo per specificare i libri di ricette desiderati nel file Berksfile. Un file Berksfile di esempio è incluso nello starter kit. In questo esempio vengono installati i libri di ricette chef-client, apache2 e opsworks-audit del client Chef Infra. Il file Berksfile dovrebbe essere simile al seguente.

    source 'https://supermarket.chef.io cookbook 'chef-client' cookbook 'apache2', '~> 5.0.1' cookbook 'opsworks-audit', path: 'cookbooks/opsworks-audit', '~> 1.0.0'

    La versione di tutti i libri di ricette è indicata nel file metadata.rb del libro di ricette. A ogni modifica di un libro di ricette, è necessario aumentare la versione del libro di ricette all'interno del file metadata.rb.

  3. Eseguire il comando seguente per scaricare e installare il libro di ricette nella cartella cookbooks nel computer locale o in uso.

    berks vendor cookbooks
  4. Eseguire il comando seguente per caricare i libri di ricette gestiti da un fornitore nel server AWS OpsWorks for Chef Automate .

    knife upload .
  5. Eseguire il comando seguente per verificare l'installazione del libro di ricette opsworks-audit visualizzando un elenco di libri di ricette attualmente disponibili nel server.

    knife cookbook list
  6. Aggiungere i nodi al server da gestire, se non è già stato fatto. È possibile automatizzare l'associazione di nodi completando la procedura in Aggiungi nodi automaticamente in AWS OpsWorks for Chef Automate o aggiungendo un nodo alla volta completando la procedura in Aggiungi nodi singolarmente. Modificare l'elenco di esecuzione dei nodi in modo da aggiungere il ruolo specificato nella fase 1, ovvero opsworks-example-role. In questo esempio viene modificato l'attributo RUN_LIST nello script userdata usato per automatizzare l'associazione di nodi.

    RUN_LIST="role[opsworks-example-role]"

    Se la fase 1 non è stata eseguita e non è stato configurato il ruolo, aggiungere i nomi delle singole ricette all'elenco di esecuzione. Salva le modifiche e segui i passaggi Fase 3. Creare istanze tramite uno script di associazione automatica per applicare lo script userdata alle istanze Amazon EC2.

    RUN_LIST="recipe[chef-client],recipe[apache2],recipe[opworks-audit]"
  7. Dopo aver aggiornato l'elenco di esecuzione per i nodi, l'agente chef-client esegue le ricette specificate alla successiva esecuzione. Per impostazione predefinita, l'esecuzione avviene ogni 1800 secondi (30 minuti). Dopo l'esecuzione, i risultati di Compliance sono visibili nel pannello di controllo di Chef Automate.

Esecuzione di una scansione di compliance

I risultati della scansione di compliance vengono in genere visualizzati nel pannello di controllo di Chef Automate subito dopo la prima esecuzione del daemon dell'agente, che avviene dopo la configurazione degli elenchi di esecuzione dei nodi.

Visualizzazione della pagina Reporting (Creazione di report) di Chef Compliance

Nel pannello di controllo di Chef Automate scegliere la scheda Compliance. Nel riquadro di navigazione a sinistra, scegliere Reporting (Creazione di report). Scegliere la scheda Profiles (Profili), scegliere Scan Results (Risultati scansione) e quindi scegliere un nodo con errori di scansione per ottenere altre informazioni sulle regole rispetto alle quali il nodo ha restituito un errore.

Elenco di Chef Compliance dei risultati con errori

In genere, vengono visualizzati risultati di scansione non conformi, poiché i nuovi nodi non soddisfano ancora tutte le regole del profilo SSH Baseline. DevSec L'DevSec Hardening Framework, un progetto basato sulla comunità, offre libri di cucina per risolvere problemi che violano le regole del profilo SSH Baseline. DevSec

(Facoltativo) Risoluzione dei risultati non conformi

Lo starter kit include un ricettario open source che puoi eseguire per correggere i risultati non conformi delle ssh-hardening esecuzioni con il profilo SSH Baseline. DevSec

Nota

Il ssh-hardening ricettario apporta modifiche ai nodi per conformarsi alle regole SSH Baseline. DevSec Prima di eseguire questo libro di cucina su qualsiasi nodo di produzione, consulta i dettagli sul profilo DevSec SSH Baseline nella console Chef Automate per comprendere le violazioni delle regole a cui il libro di cucina mira. Esamina le informazioni sul libro di ricette ssh-hardening open source prima di eseguirlo in qualsiasi nodo di produzione.

Per eseguire il libro di ricette ssh-hardening
  1. In un editor di testo aggiungere il libro di ricette ssh-hardening al file Berksfile. Il file Berksfile dovrebbe essere simile al seguente.

    source 'https://supermarket.chef.io' cookbook 'chef-client' cookbook 'apache2', '~> 5.0.1' cookbook 'opsworks-audit', path: 'cookbooks/opsworks-audit', '~> 1.0.0' # optional cookbook 'ssh-hardening'
  2. Eseguire i comandi seguenti per scaricare il libro di ricette ssh-hardening nella cartella dei libri di ricette locale e quindi caricarlo nel server AWS OpsWorks for Chef Automate .

    berks vendor cookbooks knife upload .
  3. Aggiungere la ricetta ssh-hardening all'elenco di esecuzione dei nodi come descritto nelle fasi 1 e 6 di Per installare e configurare il libro di ricette opsworks-audit.

    Se il file opsworks-example-role.rb viene aggiornato, caricare le modifiche nel server eseguendo il comando seguente.

    knife upload .

    Se si aggiorna direttamente l'elenco di esecuzione, caricare le modifiche eseguendo il comando seguente. Il nome del nodo è in genere l'ID istanza.

    knife node run_list add <node name> 'recipe[ssh-hardening]'
  4. Poiché si utilizza il libro di ricette chef-client, il nodo esegue l'archiviazione a intervalli regolari (30 minuti per impostazione predefinita). Al check-in successivo, il ssh-hardening ricettario viene eseguito e aiuta a migliorare la sicurezza dei nodi per soddisfare le regole del DevSec profilo SSH Baseline.

  5. Dopo l'esecuzione iniziale del libro di ricette ssh-hardening, attendere 30 minuti per una nuova esecuzione di una scansione Compliance. Visualizzare i risultati nel pannello di controllo di Chef Automate. I risultati non conformi che si sono verificati nell'esecuzione iniziale della scansione DevSec SSH Baseline devono essere risolti.

Aggiornamenti di conformità

Su un AWS OpsWorks for Chef Automate server, la funzionalità di conformità viene aggiornata automaticamente mediante la manutenzione programmata del sistema. Man mano che le versioni aggiornate di Chef Automate, Chef Infra Server e Chef InSpec diventano disponibili per il tuo AWS OpsWorks for Chef Automate server, potresti dover controllare e aggiornare le versioni supportate di Audit cookbook e Chef InSpec gem in esecuzione sul tuo server. I profili che avete già installato sul vostro AWS OpsWorks for Chef Automate server non vengono aggiornati come parte della manutenzione.

Profili Compliance della community e personalizzati

Chef include attualmente oltre 100 profili di scansione di conformità. Puoi aggiungere profili personalizzati e della community all'elenco e quindi scaricare ed eseguire scansioni di conformità in base a tali profili, proprio come faresti per i profili inclusi. I profili di conformità basati sulla community sono disponibili in Chef Supermarket. I profili personalizzati sono programmi basati su Ruby che includono una cartella di controlli che specificano le regole di scansione.

Vedi anche