Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Analyses de conformité dans AWS OpsWorks for Chef Automate
Important
AWS OpsWorks for Chef Automate a atteint sa fin de vie le 5 mai 2024 et a été désactivé pour les nouveaux clients et les clients existants. Nous recommandons aux clients existants de migrer vers Chef SaaS ou vers une solution alternative. Si vous avez des questions, vous pouvez contacter l' AWS Support équipe sur AWS Re:Post
Les analyses de conformité vous permettent de suivre la conformité des nœuds gérés de votre infrastructure en fonction de stratégies prédéfinies, également appelées règles. Grâce aux vues de conformité, vous pouvez auditer régulièrement vos applications pour repérer des vulnérabilités et des configurations non conformes. Chef propose plus de 100 profils de conformité prédéfinis (c'est-à-dire des ensembles de règles qui s'appliquent à des configurations de nœud spécifiques) que vous pouvez utiliser dans vos analyses de conformité. Vous pouvez également utiliser le InSpec langage Chef
Si votre serveur n'exécute pas encore Chef Automate 2.0, vous pouvez configurer Chef Compliance
Note
La version minimale prise en charge du logiciel d'agent client Chef Infra (chef-client
) sur les nœuds associés à un AWS OpsWorks for Chef Automate serveur est de 13. x. Nous vous recommandons d'utiliser la chef-client
version stable la plus récente, ou au moins 14.10.9.
Rubriques
Conformité dans Chef Automate 2.0
Si votre AWS OpsWorks for Chef Automate serveur exécute Chef Automate 2.0, configurez Chef Compliance en utilisant les procédures décrites dans cette section.
Exécution de tâches d'analyse de conformité avec Chef Automate 2.0
Chef Automate 2.0 inclut la fonctionnalité InSpec d'analyse de conformité de Chef qui nécessitait auparavant une configuration manuelle et une configuration de livre de recettes. Vous pouvez exécuter des tâches de numérisation sur un AWS OpsWorks for Chef Automate serveur qui exécute Chef Automate 2.0. Les tâches peuvent être exécutées immédiatement (une fois), planifiées à une date ultérieure ou planifiées pour s'exécuter à intervalles définis, par exemple quotidiennement ou toutes les deux heures. Les résultats d'une tâche d'analyse sont envoyés dans un rapport de conformité. Vous pouvez afficher les résultats de l'analyse de conformité et effectuer des actions en conséquence dans le tableau de bord Chef Automate. Pour ouvrir l'onglet Compliance (Conformité) et afficher les rapports, sous l'onglet Scan Jobs (Tâches d'analyse) du tableau de bord Chef Automate, choisissez Report (Rapport) à droite de la ligne d'un nœud géré.
Pour exécuter des tâches d'analyse sur des nœuds gérés, vous devez disposer des éléments suivants.
-
Au moins un profil de conformité installé dans votre espace de noms.
-
Au moins un nœud cible, soit ajouté manuellement, soit une instance EC2 ajoutée automatiquement.
Dans AWS OpsWorks for Chef Automate, les tâches de numérisation sont prises en charge sur les cibles suivantes.
-
Nœuds ajoutés manuellement
-
Instances
aws-ec2
-
Régions AWS
Pour obtenir des instructions détaillées sur l'exécution des tâches d'analyse, consultez Tâches d'analyse Chef Automate
(Facultatif, Chef Automate 2.0) Configuration de la conformité avec le livre de recettes Audit
Vous pouvez configurer la conformité sur n'importe quel AWS OpsWorks for Chef Automate serveur. Après avoir lancé un serveur AWS OpsWorks for Chef Automate
, vous pouvez installer les profils à partir du tableau de bord Chef Automate ou ajouter les profils souhaités aux attributs du livre de recettes Audit dans le fichier de stratégie Policyfile.rb
. Un fichier Policyfile.rb
prérempli est inclus dans le kit de démarrage.
Après avoir modifié le fichier Policyfile.rb
avec les profils à utiliser comme attributs du livre de recettes Audit, exécutez les commandes chef push
pour charger le livre de recettes AuditPolicyfile.rb
sur votre serveur Chef Automate. L'installation du livre de recettes Audit permet également d'installer la gemme de Chef InSpec
Les instructions de cette section vous montrent comment implémenter le livre de recettes opsworks-audit
. Le livre de recettes Audit télécharge les profils spécifiés depuis le serveur Chef Automate, évalue les nœuds par rapport au profil de base DevSec SSH et rapporte le résultat des analyses de conformité à chaque exécution. chef-client
Pour installer les profils de conformité
-
Si vous ne l'avez pas déjà fait, connectez-vous au tableau de bord web Chef Automate. Utilisez les informations d'identification que vous avez reçues lorsque vous avez téléchargé le Starter Kit lors de la création de votre serveur AWS OpsWorks for Chef Automate .
-
Dans le tableau de bord Chef Automate, choisissez l'onglet Asset Store (Magasin de ressources).
-
Choisissez l'onglet Available (Disponibles) pour afficher les profils prédéfinis.
-
Parcourez la liste des profils. Choisissez un profil correspondant au système d'exploitation et à la configuration d'au moins un de vos nœuds gérés. Pour afficher des détails sur le profil, dont une description des violations ciblées et le code des règles sous-jacentes, choisissez > à droite de l'entrée du profil. Vous pouvez choisir plusieurs profils. Si vous configurez l'exemple dans le kit de démarrage, choisissez DevSec SSH Baseline.
-
Pour installer les profils sélectionnés sur votre serveur Chef Automate, choisissez Get (Obtenir).
-
Une fois que vous avez installé les profils, ils s'affichent dans l'onglet Profiles (Profils) du tableau de bord Chef Automate.
Pour installer des livres de recettes avec Policyfile.rb
-
Affichez le fichier
Policyfile.rb
de votre Starter Kit pour voir que les attributs du livre de recettes Audit spécifient le profilssh-baseline
dans['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" } ]
-
Téléchargez et installez les livres de recettes définis dans
Policyfile.rb
.chef install
Tous les livres de recettes sont versionnés dans le fichier
metadata.rb
du livre de recettes. Chaque fois que vous modifiez un livre de recettes, vous devez modifier la version du livre de recettes se trouvant dans son fichiermetadata.rb
. -
Transférez la stratégie
opsworks-demo
, définie dansPolicyfile.rb
, à votre serveur.chef push opsworks-demo
-
Vérifiez l'installation de votre stratégie. Exécutez la commande suivante.
chef show-policy
Les résultats doivent ressembler à ce qui suit :
opsworks-demo-webserver ======================= * opsworks-demo: ec0fe46314
-
Ajoutez des nœuds à votre serveur pour les gérer, si vous ne l'avez pas déjà fait. Pour connecter votre premier nœud au AWS OpsWorks for Chef Automate serveur, utilisez le
userdata.sh
script inclus dans ce kit de démarrage. Il utilise l' AWS OpsWorksAssociateNode
API pour connecter un nœud à votre serveur.Vous pouvez automatiser l'association des nœuds en suivant les étapes décrites dans Ajouter des nœuds automatiquement AWS OpsWorks for Chef Automate ou ajouter des nœuds l'un après l'autre en suivant les étapes indiquées dans Ajouter des nœuds individuellement.
-
Une fois que vous avez mis à jour la liste d'exécution de vos nœuds, l'agent
chef-client
exécute les recettes spécifiées lors de son exécution suivante. Par défaut, cela se produit toutes les 1 800 secondes (30 minutes). Après l'exécution, vous pouvez afficher les résultats de conformité et effectuer des actions en conséquence à partir de l'onglet Compliance (Conformité) du tableau de bord Chef Automate.
Exécution d'une analyse de conformité
Vous devriez voir les résultats de l'analyse de conformité dans le tableau de bord Chef Automate peu après la première exécution de l'agent, qui se produit une fois que vous avez configuré les listes d'exécution des nœuds.
Dans le tableau de bord Chef Automate, choisissez l'onglet Compliance (Conformité). Dans le panneau de navigation de gauche, choisissez Reporting (Génération de rapports). Choisissez l'onglet Profiles (Profils), sélectionnez Scan Results (Résultats de l'analyse), puis choisissez un nœud présentant des échecs d'analyse pour en savoir plus sur les règles ayant entraîné l'échec du nœud.
Généralement, les résultats d'analyse ne sont pas conformes, car les nouveaux nœuds ne satisfont pas encore à toutes les règles du profil de base DevSec SSH. Le DevSec Hardening Framework
(Facultatif) Résolution des résultats non conformes
Le kit de démarrage comprend un livre de recettes open source que vous pouvez exécuter pour corriger les résultats non conformes résultant d'exécutions effectuées avec le profil de base DevSec SSH. ssh-hardening
Note
Le ssh-hardening
livre de recettes apporte des modifications à vos nœuds pour les mettre en conformité avec les règles de base DevSec SSH. Avant d'exécuter ce livre de recettes sur un nœud de production, consultez les détails du profil de base DevSec SSH dans la console Chef Automate pour comprendre les violations des règles ciblées par le livre de recettes. Consultez les informations sur le livre de recettes open source ssh-hardening
Pour exécuter le livre de recettes ssh-hardening
-
Dans un éditeur de texte, ajoutez le livre de recettes
ssh-hardening
à la liste d'exécution dePolicyfile.rb
. La liste d'exécution dePolicyfile.rb
doit correspondre à ce qui suit.run_list 'chef-client', 'opsworks-webserver', 'audit', 'ssh-hardening'
-
Mettez à jour le fichier
Policyfile.rb
et transmettez-le à votre serveur AWS OpsWorks for Chef Automate .chef update Policyfile.rb chef push opsworks-demo
-
Les nœuds qui sont associés à la stratégie
opsworks-demo
mettent automatiquement à jour la liste d'exécution et appliquent le livre de recettesssh-hardening
lors de l'exécution suivante dechef-client
.Étant donné que vous utilisez le livre de recettes
chef-client
, votre nœud effectue des vérifications à intervalles réguliers (par défaut, toutes les 30 minutes). Lors du prochain enregistrement, lessh-hardening
livre de recettes s'exécute et contribue à améliorer la sécurité des nœuds afin de respecter les règles du profil DevSec SSH Baseline. -
Une fois l'exécution initiale du livre de recettes
ssh-hardening
terminée, attendez 30 minutes afin qu'une analyse de conformité s'exécute à nouveau. Affichez les résultats dans le tableau de bord Chef Automate. Les résultats non conformes survenus lors de l'exécution initiale de l'analyse DevSec SSH Baseline doivent être résolus.
Conformité dans Chef Automate 1.x
Si votre AWS OpsWorks for Chef Automate serveur exécute Chef Automate 1. x, configurez Chef Compliance en utilisant les procédures décrites dans cette section.
(Facultatif, Chef Automate 1.x) Configuration de Chef Compliance
Vous pouvez configurer Chef Compliance sur n'importe quel AWS OpsWorks for Chef Automate serveur. Après avoir lancé un serveur AWS OpsWorks for Chef Automate
, choisissez les profils que vous souhaitez exécuter parmi ceux du tableau de bord Chef Automate. Après avoir installé les profils, exécutez les commandes berks
pour charger le livre de recettes Audit
Le kit de AWS OpsWorks for Chef Automate démarrage comprend un livre de recettes emballé qui télécharge et installe la version du livre de recettes Chef's Audit qui vous convient. opsworks-audit
Le opsworks-audit
livre de recettes demande également à l'chef-client
agent d'évaluer les nœuds par rapport au profil de base DevSec SSH que vous installez à partir de la console de conformité de Chef plus loin dans cette rubrique. Vous pouvez configurer la conformité en utilisant le livre de recettes de votre choix. Les instructions de cette section vous montrent comment implémenter le livre de recettes opsworks-audit
.
Pour installer les profils de conformité
-
Si vous ne l'avez pas déjà fait, connectez-vous au tableau de bord web Chef Automate. Utilisez les informations d'identification que vous avez reçues lorsque vous avez téléchargé le kit de démarrage lors de la création de votre AWS OpsWorks for Chef Automate serveur.
-
Dans le tableau de bord Chef Automate, choisissez l'onglet Compliance (Conformité).
-
Dans la barre de navigation de gauche, choisissez Profile Store (Stockage de profils), puis ouvrez l'onglet Disponible pour afficher les profils prédéfinis disponibles.
-
Parcourez la liste des profils. Choisissez un profil correspondant au système d'exploitation et à la configuration d'au moins un de vos nœuds gérés. Pour afficher des détails sur le profil, dont une description des violations ciblées et le code des règles sous-jacentes, choisissez > à droite de l'entrée du profil. Vous pouvez choisir plusieurs profils.
-
Pour installer les profils sélectionnés sur votre serveur Chef Automate, choisissez Get (Obtenir).
-
Lorsque le téléchargement est terminé, passez à la procédure suivante.
Pour installer et configurer le livre de recettes opsworks-audit
-
Cette étape est facultative, mais elle permet de gagner du temps à l'étape 6, lorsque vous ajoutez des recettes aux listes d'exécution des nœuds. Modifiez le fichier
roles/opsworks-example-role.rb
qui est inclus dans le kit de démarrage que vous avez téléchargé lors de la création de votre serveur AWS OpsWorks for Chef Automate . Ajoutez les lignes suivantes. La dernière ligne est mise en commentaire, car l'ajout du livre de recettesssh-hardening
et des recettes correspondantes pour résoudre les nœuds non conformes après l'exécution de votre analyse de conformité est facultatif.run_list( "recipe[chef-client]", "recipe[apache2]", "recipe[opsworks-audit]" # "recipe[ssh-hardening]" )
-
Utilisez un éditeur de texte pour spécifier les livres de recettes souhaités dans votre Berksfile. Un exemple de fichier Berksfile est fourni dans le kit de démarrage. Dans cet exemple, nous installons le livre de recettes du client Chef Infra (
chef-client
), ainsi que les livres de recettesapache2
etopsworks-audit
. Votre fichier Berksfile doit ressembler à ce qui suit.source 'https://supermarket.chef.io cookbook 'chef-client' cookbook 'apache2', '~> 5.0.1' cookbook 'opsworks-audit', path: 'cookbooks/opsworks-audit', '~> 1.0.0'
Tous les livres de recettes sont versionnés dans le fichier
metadata.rb
du livre de recettes. Chaque fois que vous modifiez un livre de recettes, vous devez modifier la version du livre de recettes se trouvant dans son fichiermetadata.rb
. -
Exécutez la commande suivante pour télécharger et installer les livres de recettes dans le dossier
cookbooks
sur votre ordinateur local ou votre ordinateur de travail.berks vendor cookbooks
-
Exécutez la commande suivante pour télécharger les livres de recettes fournis sur votre serveur AWS OpsWorks for Chef Automate .
knife upload .
-
Exécutez la commande suivante pour vérifier l'installation du livre de recettes
opsworks-audit
en affichant la liste des livres de recettes actuellement disponibles sur le serveur.knife cookbook list
-
Ajoutez des nœuds à votre serveur pour les gérer, si vous ne l'avez pas déjà fait. Vous pouvez automatiser l'association des nœuds en suivant les étapes décrites dans Ajouter des nœuds automatiquement AWS OpsWorks for Chef Automate ou ajouter des nœuds l'un après l'autre en suivant les étapes indiquées dans Ajouter des nœuds individuellement. Modifiez la liste d'exécution de vos nœuds afin d'ajouter le rôle que vous avez spécifié à l'étape 1,
opsworks-example-role
. Dans cet exemple, nous modifions l'attributRUN_LIST
dans le scriptuserdata
que vous utilisez pour automatiser l'association des nœuds.RUN_LIST="role[opsworks-example-role]"
Si vous avez ignoré l'étape 1 et que vous n'avez pas configuré le rôle, ajoutez les noms des recettes individuelles à la liste d'exécution. Enregistrez vos modifications et suivez les étapes ci-dessous Étape 3 : Création d'instances en utilisant un script d'association sans surveillance pour appliquer votre script de données utilisateur aux instances Amazon EC2.
RUN_LIST="recipe[chef-client],recipe[apache2],recipe[opworks-audit]"
-
Une fois que vous avez mis à jour la liste d'exécution de vos nœuds, l'agent
chef-client
exécute les recettes spécifiées lors de son exécution suivante. Par défaut, cela se produit toutes les 1 800 secondes (30 minutes). Après l'exécution, vos résultats de conformité sont visibles dans le tableau de bord Chef Automate.
Exécution d'une analyse de conformité
Vous devriez voir les résultats de l'analyse de conformité dans le tableau de bord Chef Automate peu de temps après la première exécution du programme fantôme de l'agent, qui se produit une fois que vous avez configuré les listes d'exécution des nœuds.
Dans le tableau de bord Chef Automate, choisissez l'onglet Compliance (Conformité). Dans le panneau de navigation de gauche, choisissez Reporting (Génération de rapports). Choisissez l'onglet Profiles (Profils), sélectionnez Scan Results (Résultats de l'analyse), puis choisissez un nœud présentant des échecs d'analyse pour en savoir plus sur les règles ayant entraîné l'échec du nœud.
Généralement, les résultats d'analyse ne sont pas conformes, car les nouveaux nœuds ne satisfont pas encore à toutes les règles du profil de base DevSec SSH. Le DevSec Hardening Framework
(Facultatif) Résolution des résultats non conformes
Le kit de démarrage comprend un livre de recettes open source que vous pouvez exécuter pour corriger les résultats non conformes résultant d'exécutions effectuées avec le profil de base DevSec SSH. ssh-hardening
Note
Le ssh-hardening
livre de recettes apporte des modifications à vos nœuds pour les mettre en conformité avec les règles de base DevSec SSH. Avant d'exécuter ce livre de recettes sur un nœud de production, consultez les détails du profil de base DevSec SSH dans la console Chef Automate pour comprendre les violations des règles ciblées par le livre de recettes. Consultez les informations sur le livre de recettes open source ssh-hardening
Pour exécuter le livre de recettes ssh-hardening
-
Dans un éditeur de texte, ajoutez le
ssh-hardening
livre de recettes à votre fichier Berksfile. Votre fichier Berksfile doit ressembler à ce qui suit.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'
-
Exécutez les commandes suivantes pour télécharger le livre de recettes
ssh-hardening
dans votre dossier de livres de recettes local, puis chargez-le sur votre serveur AWS OpsWorks for Chef Automate .berks vendor cookbooks knife upload .
-
Ajoutez la recette
ssh-hardening
à votre liste d'exécution de nœuds comme décrit dans les étapes 1 et 6 de Pour installer et configurer le livre de recettes opsworks-audit.Si vous mettez à jour le fichier
opsworks-example-role.rb
, chargez vos modifications sur votre serveur en exécutant la commande suivante :knife upload .
Si vous mettez directement à jour la liste d'exécution, chargez vos modifications en exécutant la commande suivante. Le nom de nœud est généralement l'ID de l'instance.
knife node run_list add
<node name>
'recipe[ssh-hardening]' -
Étant donné que vous utilisez le livre de recettes
chef-client
, votre nœud effectue des vérifications à intervalles réguliers (par défaut, toutes les 30 minutes). Lors du prochain enregistrement, lessh-hardening
livre de recettes s'exécute et contribue à améliorer la sécurité des nœuds afin de respecter les règles du profil DevSec SSH Baseline. -
Une fois l'exécution initiale du livre de recettes
ssh-hardening
terminée, attendez 30 minutes afin qu'une analyse de conformité s'exécute à nouveau. Affichez les résultats dans le tableau de bord Chef Automate. Les résultats non conformes survenus lors de l'exécution initiale de l'analyse DevSec SSH Baseline doivent être résolus.
Mises à jour de la conformité
Sur un AWS OpsWorks for Chef Automate serveur, les fonctionnalités de conformité sont mises à jour automatiquement par la maintenance planifiée de votre système. Au fur et à mesure que des versions mises à jour de Chef Automate, Chef Infra Server et Chef InSpec seront disponibles pour votre AWS OpsWorks for Chef Automate serveur, vous devrez peut-être vérifier et mettre à jour les versions prises en charge du livre de recettes Audit et de la InSpec gem Chef qui s'exécutent sur votre serveur. Les profils que vous avez déjà installés sur votre AWS OpsWorks for Chef Automate serveur ne sont pas mis à jour dans le cadre de la maintenance.
Profils de conformité personnalisés et de la communauté
Actuellement, Chef comprend plus de 100 profils d'analyse de conformité. Vous pouvez ajouter des profils personnalisés et créés par la communauté à cette liste, puis télécharger et exécuter des analyses de conformité en fonction de ces profils, comme vous le feriez pour les profils déjà inclus. Des profils de conformité créés par la communauté sont disponibles à partir du site web Chef Supermarket