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
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
Se il server ancora non esegue Chef Automate 2.0, è possibile configurare Chef Compliance
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.
Argomenti
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
(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 AuditPolicyfile.rb
nel server Chef Automate. L'installazione del ricettario Audit installa anche il gem for Chef InSpec
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à
-
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 .
-
Nel pannello di controllo di Chef Automate, scegliere la scheda Asset Store (Store asset).
-
Scegliere la scheda Available (Disponibile) per vedere i profili predefiniti.
-
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
-
Per installare i profili selezionati nel server Chef Automate, scegliere Get (Ottieni).
-
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
-
Visualizzare
Policyfile.rb
nello starter kit per verificare che gli attributi per il libro di ricette Audit specifichino il profilossh-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" } ]
-
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 filemetadata.rb
. -
Eseguire il push della policy
opsworks-demo
, definita inPolicyfile.rb
, per il server.chef push opsworks-demo
-
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
-
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 OpsWorksAssociateNode
API 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.
-
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.
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.
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.
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
(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
Per eseguire il libro di ricette ssh-hardening
-
In un editor di testo, accodare il libro di ricette
ssh-hardening
all'elenco di esecuzioni diPolicyfile.rb
. L'elenco di esecuzioni diPolicyfile.rb
deve corrispondere a quanto riportato di seguito.run_list 'chef-client', 'opsworks-webserver', 'audit', 'ssh-hardening'
-
Aggiornare
Policyfile.rb
ed eseguirne il push al server AWS OpsWorks for Chef Automate .chef update Policyfile.rb chef push opsworks-demo
-
I nodi che sono associati alla policy
opsworks-demo
aggiornano automaticamente l'elenco di esecuzioni e applicano il libro di ricettessh-hardening
alla successiva esecuzione dichef-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, ilssh-hardening
ricettario viene eseguito e aiuta a migliorare la sicurezza dei nodi per soddisfare le regole del DevSec profilo SSH Baseline. -
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
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-client
agente 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
-
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
-
Nel pannello di controllo di Chef Automate scegliere la scheda Compliance.
-
Sulla barra di navigazione a sinistra scegliere Profile Store (Store profili)e quindi scegliere la scheda Available (Disponibili) per visualizzare i profili predefiniti.
-
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.
-
Per installare i profili selezionati nel server Chef Automate, scegliere Get (Ottieni).
-
Al termine del download, passare alla procedura seguente.
Per installare e configurare il libro di ricette opsworks-audit
-
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 ricettassh-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]" )
-
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
eopsworks-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 filemetadata.rb
. -
Eseguire il comando seguente per scaricare e installare il libro di ricette nella cartella
cookbooks
nel computer locale o in uso.berks vendor cookbooks
-
Eseguire il comando seguente per caricare i libri di ricette gestiti da un fornitore nel server AWS OpsWorks for Chef Automate .
knife upload .
-
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
-
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'attributoRUN_LIST
nello scriptuserdata
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]"
-
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.
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.
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
(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
Per eseguire il libro di ricette ssh-hardening
-
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'
-
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 .
-
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]' -
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, ilssh-hardening
ricettario viene eseguito e aiuta a migliorare la sicurezza dei nodi per soddisfare le regole del DevSec profilo SSH Baseline. -
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