Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Konformitätsscans in AWS OpsWorks for Chef Automate
Wichtig
AWS OpsWorks for Chef Automate hat am 5. Mai 2024 das Lebensende erreicht und wurde sowohl für Neu- als auch für Bestandskunden deaktiviert. Wir empfehlen bestehenden Kunden, zu Chef SaaS oder einer alternativen Lösung zu migrieren. Wenn du Fragen hast, kannst du dich auf AWS re:POST
Mit Compliance-Scans können Sie die Compliance verwalteter Knoten in Ihrer Infrastruktur basierend auf vordefinierten Richtlinien nachverfolgen, die auch als Regeln bezeichnet werden. Compliance-Ansichten ermöglichen Ihnen, Ihre Anwendungen regelmäßig auf Schwachstellen und nicht konforme Konfigurationen zu überprüfen. Chef bietet über 100 vordefinierter Compliance-Profile – Regelsammlungen, die für bestimmte Knotenkonfigurationen gelten –, die Sie für Ihre Compliance-Scans verwenden können. Sie können auch die InSpec Chef-Sprache
Wenn auf Ihrem Server noch nicht Chef Automate 2.0 ausgeführt wird, können SieChef-Compliance
Anmerkung
Die unterstützte Mindestversion der Chef Infra-Client-Agent-Software (chef-client
) auf Knoten, die einem AWS OpsWorks for Chef Automate Server zugeordnet sind, ist 13. x. Wir empfehlen, die aktuellste, stabilste chef-client
Version oder mindestens 14.10.9 zu verwenden.
Themen
Compliance in Chef Automate 2.0
Wenn auf Ihrem AWS OpsWorks for Chef Automate Server Chef Automate 2.0 ausgeführt wird, richten Sie Chef Compliance mithilfe der Verfahren in diesem Abschnitt ein.
Ausführen von Compliance Scan-Aufgaben mit Chef Automate 2.0
Chef Automate 2.0 beinhaltet die Funktion Chef InSpec Compliance-Scanning, für die früher eine manuelle Einrichtung und Kochbuchkonfiguration erforderlich war. Sie können Scanjobs auf einem AWS OpsWorks for Chef Automate Server ausführen, auf dem Chef Automate 2.0 ausgeführt wird. Aufgaben können (einmalig) sofort ausgeführt, für einen späteren Zeitpunkt geplant oder in regelmäßigen Abständen, beispielsweise täglich oder alle zwei Stunden, ausgeführt werden. Die Ergebnisse einer Scan-Aufgabe werden an die Compliance-Berichterstellung gesendet. Sie können die Ergebnisse des Compliance-Scans im Dashboard von Chef Automate anzeigen und Maßnahmen dazu ergreifen. Wenn Sie die Registerkarte Compliance öffnen und Berichte auf der Registerkarte Scan-Aufgaben im Chef Automate-Dashboard anzeigen möchten, wählen rechts neben derSpalte verwalteter Knoten die Option Bericht aus.
Für Scan-Aufgaben auf verwalteten Knoten ist Folgendes erforderlich:
-
Mindestens ein in Ihrem Namespace installiertes Compliance-Profil.
-
Mindestens einen manuell hinzugefügten Zielknoten oder eine EC2-Instance die automatisch hinzugefügt wurde.
AWS OpsWorks for Chef Automate In werden Scanjobs auf den folgenden Zielen unterstützt.
-
Manuell hinzugefügte Knoten
-
aws-ec2
-Instances -
AWS-Regionen
Detaillierte Anweisungen zum Ausführen von Scan-Aufgaben finden Sie unter Scan-Aufgaben in Chef Automate
(Optional, Chef Automate 2.0) Einrichten von Compliance mit dem Audit-Rezeptbuch
Sie können die Konformität auf jedem AWS OpsWorks for Chef Automate Server konfigurieren. Nachdem Sie einen AWS OpsWorks for Chef Automate
-Server gestartet haben, können Sie Profile aus dem Chef Automate-Dashboard installieren, oder die gewünschten Profile den Audit-Rezeptbuchattributen in der Policyfile.rb
-Richtliniendatei hinzufügen. Eine vorbelegte Policyfile.rb
-Datei ist im Starter Kit enthalten.
Nach dem Sie Policyfile.rb
mit Profilen als Attribute des Audit-Rezeptbuchs bearbeitet haben, führen Sie chef push
-Befehle zum Hochladen des Audit-RezeptbuchsPolicyfile.rb
angegebener Rezeptbücher auf Ihren Chef Automate-Server hoch. Durch die Installation des Audit-Kochbuchs wird auch das Gem für Chef
Die Anweisungen in diesem Abschnitt verdeutlichen, wie Sie das opsworks-audit
-Rezeptbuch implementieren. Das Audit-Kochbuch lädt bestimmte Profile vom Chef Automate-Server herunter, bewertet Knoten anhand des DevSec SSH-Baseline-Profils und meldet bei jedem Lauf das Ergebnis der Konformitätsscans. chef-client
So installieren Sie Compliance-Profile
-
Melden Sie sich beim web-basierten Dashboard von Chef Automate an, falls Sie dies noch nicht getan haben. Verwenden Sie die Anmeldeinformationen, die Sie beim Herunterladen des Starter Kits während der Erstellung Ihres AWS OpsWorks for Chef Automate -Servers erhalten haben.
-
Wählen Sie im Chef Automate-Dashboard die Registerkarte Asset Store (Objekt-Store) aus.
-
Wählen Sie die Registerkarte Available (Verfügbar) aus, um vordefinierte Profile anzuzeigen.
-
Durchsuchen Sie die Liste der Profile. Wählen Sie ein Profil, das mit dem Betriebssystem und der Konfiguration von mindestens einem Ihrer verwalteten Knoten übereinstimmt. Um Details über das Profil anzuzeigen, einschließlich einer Beschreibung der Verletzungen, auf die das Profil ausgelegt ist, und des zugrunde liegenden Regelcodes, wählen Sie > rechts neben dem Profileintrag. Sie können mehrere Profile auswählen. Wenn Sie das Beispiel im Starter Kit einrichten, wählen Sie DevSec SSH Baseline.
-
Um die ausgewählten Profile auf Ihrem Chef Automate-Server zu installieren, wählen Sie Get (Abrufen).
-
Nachdem Sie Profile installiert haben, werden sie in der Registerkarte Profiles (Profile) des Chef Automate-Dashboards angezeigt.
So installieren Sie Rezeptbücher mit Policyfile.rb
-
Zeigen Sie
Policyfile.rb
in Ihrem Starter Kit an, um zu sehen, dass die Attribute für das Audit-Rezeptbuch dasssh-baseline
-Profil in['profiles']
angeben.# 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" } ]
-
Laden Sie die in
Policyfile.rb
definierten Rezeptbücher herunter und installieren Sie sie.chef install
Alle Rezeptbücher sind in der
metadata.rb
-Datei des Rezeptbuchs versioniert. Immer wenn Sie ein Rezeptbuch ändern, müssen Sie die Version des Rezeptbuchs ändern, die sich in seinermetadata.rb
befindet. -
Leiten Sie die in
Policyfile.rb
definierteopsworks-demo
-Richtlinie an Ihren Server weiter.chef push opsworks-demo
-
Überprüfen Sie die Installation Ihrer Richtlinie. Führen Sie den folgenden Befehl aus.
chef show-policy
Die Ergebnisse sollten etwa wie folgt aussehen:
opsworks-demo-webserver ======================= * opsworks-demo: ec0fe46314
-
Fügen Sie Ihrem Server zu verwaltende Knoten hinzu, sofern Sie dies nicht bereits getan haben. Verwenden Sie das
userdata.sh
Skript, das in diesem Starterkit enthalten ist, um Ihren ersten Knoten mit dem AWS OpsWorks for Chef Automate Server zu verbinden. Es verwendet die AWS OpsWorksAssociateNode
API, um einen Knoten mit Ihrem Server zu verbinden.Sie können die Zuordnung von Knoten automatisieren, indem Sie die Schritte in Automatisches Hinzufügen von Knoten AWS OpsWorks for Chef Automate ausführen, oder Knoten einzeln hinzufügen, indem Sie die Schritte in Fügen Sie Knoten einzeln hinzu ausführen.
-
Nachdem Sie die Ausführungsliste für Ihre Knoten aktualisiert haben, führt der
chef-client
-Agent bei der nächsten Ausführung die von Ihnen spezifizierten Rezepte aus. Dies erfolgt standardmäßig alle 1800 Sekunden (30 Minuten). Nach der Ausführung können Sie Compliance-Ergebnisse in der Registerkarte Compliance auf dem Chef Automate-Dashboard anzeigen und entsprechende Maßnahmen ergreifen.
Ausführen eines Compliance-Scans
Sie sollten die Ergebnisse des Compliance-Scans kurz nach der ersten Ausführung des Agenten-Daemons nach der Konfiguration Knoten-Ausführungslisten im Dashboard von Chef Automate sehen.
Wählen Sie im Chef Automate-Dashboard die Registerkarte Compliance. Wählen Sie im linken Navigationsbereich die Option Reporting (Berichterstellung) aus. Wählen Sie auf die Registerkarte Profiles (Profile), dort Scan Results (Scan-Ergebnisse) und dann einen Knoten mit Scan-Fehlern aus, um mehr über die Regeln zu erfahren, gegen die ein Knoten verstoßen hat.
In der Regel werden fehlerhafte Scanergebnisse angezeigt, da neue Knoten noch nicht alle Regeln im DevSec SSH-Baseline-Profil erfüllen. Das DevSec Hardening Framework
(Optional) Auflösen nicht konformer Ergebnisse
Das Starterkit enthält ein Open-Source-Kochbuch, das Sie ausführen könnenssh-hardening
, um fehlerhafte Ergebnisse von Läufen gegen das SSH-Baseline-Profil zu korrigieren. DevSec
Anmerkung
Das ssh-hardening
Cookbook nimmt Änderungen an Ihren Knoten vor, um den SSH-Baseline-Regeln zu entsprechen. DevSec Bevor Sie dieses Kochbuch auf Produktionsknoten ausführen, überprüfen Sie die Details zum DevSec SSH-Baseline-Profil in der Chef Automate-Konsole, um zu verstehen, auf welche Regelverstöße das Cookbook abzielt. Sehen Sie sich die Informationen über das als Open-Source bereitgestellte ssh-hardening
So führen Sie das ssh-hardening
-Rezeptbuch aus
-
Wesen Sie in einem Texteditor das
ssh-hardening
-Rezeptbuch einerPolicyfile.rb
-Ausführungsliste zu. DiePolicyfile.rb
-Ausführungsliste sollte wie folgt aussehen.run_list 'chef-client', 'opsworks-webserver', 'audit', 'ssh-hardening'
-
Aktualisieren Sie
Policyfile.rb
und leiten Sie die Datei an Ihrem AWS OpsWorks for Chef Automate -Server weiter.chef update Policyfile.rb chef push opsworks-demo
-
Knoten, der die
opsworks-demo
-Richtlinien zugewiesen sind, aktualisieren die Ausführungsliste automatisch und wenden dasssh-hardening
-Rezeptbuch bei der nächsten Ausführung vonchef-client
an.Da Sie das
chef-client
-Rezeptbuch verwenden, meldet sich Ihr Knoten in regelmäßigen Zeitabständen an (standardmäßig alle 30 Minuten). Beim nächsten Check-in wird dasssh-hardening
Cookbook ausgeführt und trägt dazu bei, die Knotensicherheit zu verbessern, um die Regeln des DevSec SSH-Baseline-Profils zu erfüllen. -
Warten Sie nach der ersten Ausführung des
ssh-hardening
-Rezeptbuchs 30 Minuten, bevor Sie wieder einen Compliance-Scan ausführen. Sehen Sie sich die Ergebnisse im Chef Automate-Dashboard an. Die fehlerhaften Ergebnisse, die beim ersten Durchlauf des DevSec SSH-Baseline-Scans aufgetreten sind, sollten behoben werden.
Compliance in Chef Automate 1.x
Wenn auf Ihrem AWS OpsWorks for Chef Automate Server Chef Automate 1 ausgeführt wird. x, richten Sie Chef Compliance mithilfe der Verfahren in diesem Abschnitt ein.
(Optional, Chef Automate 1.x) Einrichten von Chef-Compliance
Sie können Chef Compliance auf jedem AWS OpsWorks for Chef Automate Server konfigurieren. Nachdem Sie einen AWS OpsWorks for Chef Automate
-Server gestartet haben, wählen Sie Profile aus, die Sie von den Profilen auf dem Chef Automate-Dashboard aus ausführen wollen. Nachdem Sie Profile installiert haben, führen Sie berks
-Befehle zum Hochladen des Audit-Rezeptbuchs
Das AWS OpsWorks for Chef Automate Starterkit enthält ein Wrapper-Kochbuchopsworks-audit
, das die richtige Version des Kochbuchs von Chef's Audit für Sie herunterlädt und installiert. Das opsworks-audit
Kochbuch weist den chef-client
Agenten außerdem an, Knoten anhand des DevSecSSH-Baseline-Profils zu bewerten, das Sie später in diesem Thema über die Compliance-Konsole von Chef installieren. Sie können Compliance unter Verwendung eines beliebigen Rezeptbuchs nach Ihren Anforderungen einrichten. Die Anweisungen in diesem Abschnitt verdeutlichen, wie Sie das opsworks-audit
-Rezeptbuch implementieren.
So installieren Sie Compliance-Profile
-
Melden Sie sich beim web-basierten Dashboard von Chef Automate an, falls Sie dies noch nicht getan haben. Verwenden Sie bei der Erstellung Ihres Servers die Anmeldeinformationen, die Sie beim Herunterladen des Starter Kits erhalten haben. AWS OpsWorks for Chef Automate
-
Wählen Sie im Chef Automate-Dashboard die Registerkarte Compliance.
-
Wählen Sie in der linken Navigationsleiste Profile Store (Profilspeicher) und gehen Sie auf die Registerkarte Available (Verfügbar), um vordefinierte Profile anzuzeigen.
-
Durchsuchen Sie die Liste der Profile. Wählen Sie ein Profil, das mit dem Betriebssystem und der Konfiguration von mindestens einem Ihrer verwalteten Knoten übereinstimmt. Um Details über das Profil anzuzeigen, einschließlich einer Beschreibung der Verletzungen, auf die das Profil ausgelegt ist, und des zugrunde liegenden Regelcodes, wählen Sie > rechts neben dem Profileintrag. Sie können mehrere Profile auswählen.
-
Um die ausgewählten Profile auf Ihrem Chef Automate-Server zu installieren, wählen Sie Get (Abrufen).
-
Wenn der Download abgeschlossen ist, gehen Sie zum nächsten Verfahren über.
So installieren Sie das opsworks-audit
-Rezeptbuch und richten es ein
-
Dieser Schritt ist optional, aber spart Zeit in Schritt 6, wenn Sie den Knotenausführungslisten Rezepte hinzufügen. Bearbeiten Sie die
roles/opsworks-example-role.rb
-Datei aus dem Starter Kit, das Sie bei der Erstellung Ihres AWS OpsWorks for Chef Automate -Servers heruntergeladen haben. Fügen Sie die folgende Zeilen hinzu. Die letzte Zeile ist auskommentiert, weil das Hinzufügen desssh-hardening
-Rezeptbuchs und des Rezepts für die Auflösung nichtkonformer Knoten nach der Ausführung Ihres Compliance-Scans optional ist.run_list( "recipe[chef-client]", "recipe[apache2]", "recipe[opsworks-audit]" # "recipe[ssh-hardening]" )
-
Verwenden Sie einen Texteditor, um die gewünschten Rezeptbücher in Ihrer Berksfile-Datei anzugeben. Ein Beispiel für eine Berksfile-Datei finden Sie im Starter Kit. In diesem Beispiel installieren wir das Chef Infra-Client(
chef-client
)-Rezeptbuch, dasapache2
-Rezeptbuch und dasopsworks-audit
-Rezeptbuch. Ihr Berksfile sollte etwa folgendermaßen aussehen.source 'https://supermarket.chef.io cookbook 'chef-client' cookbook 'apache2', '~> 5.0.1' cookbook 'opsworks-audit', path: 'cookbooks/opsworks-audit', '~> 1.0.0'
Alle Rezeptbücher sind in der
metadata.rb
-Datei des Rezeptbuchs versioniert. Immer wenn Sie ein Rezeptbuch ändern, müssen Sie die Version des Rezeptbuchs ändern, die sich in seinermetadata.rb
befindet. -
Führen Sie den folgenden Befehl aus, um die Rezeptbücher in den Ordner
cookbooks
auf Ihrem lokalen oder auf Ihrem Arbeitscomputer herunterzuladen und zu installieren.berks vendor cookbooks
-
Führen Sie den folgenden Befehl aus, um die von Anbietern bereitgestellten Rezeptbücher auf Ihren AWS OpsWorks for Chef Automate -Server hochzuladen.
knife upload .
-
Führen Sie den folgenden Befehl aus, um die Installation des
opsworks-audit
-Rezeptbuchs zu überprüfen, indem Sie eine Liste der Rezeptbücher anzeigen, die gegenwärtig auf dem Server verfügbar sind.knife cookbook list
-
Fügen Sie Ihrem Server zu verwaltende Knoten hinzu, sofern Sie dies nicht bereits getan haben. Sie können die Zuordnung von Knoten automatisieren, indem Sie die Schritte in Automatisches Hinzufügen von Knoten AWS OpsWorks for Chef Automate ausführen, oder Knoten einzeln hinzufügen, indem Sie die Schritte in Fügen Sie Knoten einzeln hinzu ausführen. Bearbeiten Sie die Liste Ihrer Knoten, um die in Schritt 1 spezifizierte Rolle hinzuzufügen,
opsworks-example-role
. In diesem Beispiel bearbeiten wir dasRUN_LIST
-Attribut imuserdata
-Skript, das Sie verwenden, um die Zuordnung von Knoten zu automatisieren.RUN_LIST="role[opsworks-example-role]"
Wenn Sie Schritt 1 übersprungen und die Rolle nicht eingerichtet haben, fügen Sie der Ausführungsliste die Namen der einzelnen Rezepte hinzu. Speichern Sie Ihre Änderungen und folgen Sie den Schritten unter, Schritt 3: Erstellen von Instances mit einem unbeaufsichtigten Skript für die Zuordnung um Ihr Benutzerdatenskript auf Amazon EC2 EC2-Instances anzuwenden.
RUN_LIST="recipe[chef-client],recipe[apache2],recipe[opworks-audit]"
-
Nachdem Sie die Ausführungsliste für Ihre Knoten aktualisiert haben, führt der
chef-client
-Agent bei der nächsten Ausführung die von Ihnen spezifizierten Rezepte aus. Dies erfolgt standardmäßig alle 1800 Sekunden (30 Minuten). Nach der Ausführung werden Ihre Compliance-Ergebnisse auf dem Chef Automate-Dashboard angezeigt.
Ausführen eines Compliance-Scans
Sie sollten die Ergebnisse des Compliance-Scans im Dashboard von Chef Automate kurz nach der ersten Ausführung des Agenten-Daemons sehen, der stattfindet, nachdem Sie Knoten-Ausführungslisten konfiguriert haben.
Wählen Sie im Chef Automate-Dashboard die Registerkarte Compliance. Wählen Sie im linken Navigationsbereich die Option Reporting (Berichterstellung) aus. Wählen Sie auf die Registerkarte Profiles (Profile), dort Scan Results (Scan-Ergebnisse) und dann einen Knoten mit Scan-Fehlern aus, um mehr über die Regeln zu erfahren, gegen die ein Knoten verstoßen hat.
In der Regel werden fehlerhafte Scanergebnisse angezeigt, da neue Knoten noch nicht alle Regeln im DevSec SSH-Baseline-Profil erfüllen. Das DevSec Hardening Framework
(Optional) Auflösen nicht konformer Ergebnisse
Das Starterkit enthält ein Open-Source-Kochbuch, das Sie ausführen könnenssh-hardening
, um fehlerhafte Ergebnisse von Läufen gegen das SSH-Baseline-Profil zu korrigieren. DevSec
Anmerkung
Das ssh-hardening
Cookbook nimmt Änderungen an Ihren Knoten vor, um den SSH-Baseline-Regeln zu entsprechen. DevSec Bevor Sie dieses Kochbuch auf Produktionsknoten ausführen, überprüfen Sie die Details zum DevSec SSH-Baseline-Profil in der Chef Automate-Konsole, um zu verstehen, auf welche Regelverstöße das Cookbook abzielt. Sehen Sie sich die Informationen über das als Open-Source bereitgestellte ssh-hardening
So führen Sie das ssh-hardening
-Rezeptbuch aus
-
Fügen Sie das
ssh-hardening
-Rezeptbuch in einem Texteditor Ihrer Berksfile-Datei hinzu. Ihr Berksfile sollte etwa folgendermaßen aussehen.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'
-
Führen Sie die folgenden Befehle zum Herunterladen des
ssh-hardening
-Rezeptbuchs in Ihren lokalen Rezeptbuchordner aus, und laden Sie es dann auf Ihren AWS OpsWorks for Chef Automate -Server hoch.berks vendor cookbooks knife upload .
-
Fügen Sie Ihrer Knotenausführungsliste das
ssh-hardening
-Rezept hinzu, wie in den Schritten 1 und 6 von So installieren Sie das opsworks-audit-Rezeptbuch und richten es ein beschrieben.Wenn Sie die
opsworks-example-role.rb
-Datei aktualisieren, laden Sie Ihre Änderungen auf Ihren Server hoch, indem Sie den folgenden Befehl ausführen.knife upload .
Wenn Sie die Ausführungsliste direkt aktualisieren, laden Sie Änderungen hoch, indem Sie den folgenden Befehl ausführen. Der Knotenname ist in der Regel die Instance-ID.
knife node run_list add
<node name>
'recipe[ssh-hardening]' -
Da Sie das
chef-client
-Rezeptbuch verwenden, meldet sich Ihr Knoten in regelmäßigen Zeitabständen an (standardmäßig alle 30 Minuten). Beim nächsten Check-in wird dasssh-hardening
Cookbook ausgeführt und trägt dazu bei, die Knotensicherheit zu verbessern, um die Regeln des DevSec SSH-Baseline-Profils zu erfüllen. -
Warten Sie nach der ersten Ausführung des
ssh-hardening
-Rezeptbuchs 30 Minuten, bevor Sie wieder einen Compliance-Scan ausführen. Sehen Sie sich die Ergebnisse im Chef Automate-Dashboard an. Die fehlerhaften Ergebnisse, die beim ersten Durchlauf des DevSec SSH-Baseline-Scans aufgetreten sind, sollten behoben werden.
Aktualisierungen der Compliance
Auf einem AWS OpsWorks for Chef Automate Server wird die Compliance-Funktionalität automatisch durch Ihre geplante Systemwartung aktualisiert. Sobald aktualisierte Versionen von Chef Automate, Chef Infra Server und Chef für Ihren AWS OpsWorks for Chef Automate Server verfügbar InSpec werden, müssen Sie möglicherweise die unterstützten Versionen des Audit-Kochbuchs und des InSpec Chef-Gems, die auf Ihrem Server laufen, überprüfen und aktualisieren. Profile, die Sie bereits auf Ihrem AWS OpsWorks for Chef Automate Server installiert haben, werden im Rahmen der Wartung nicht aktualisiert.
Community- und benutzerdefiniertes Compliance-Profile
Chef umfasst derzeit fast über 100 Compliance-Scan-Profile. Sie können der Liste Community- und benutzerdefinierten Profile hinzufügen und dann basierend auf diesen Profilen Compliance-Scans ausführen, genau wie für eingebundene Profile. Community-basierte Compliance-Profile stehen über den Chef Supermarket