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.
EC2 Instanzstapel | Log4j-Informationen sammeln
Generiert einen Bericht, in dem Log4j2-Vorkommen auf den angegebenen Instances identifiziert werden. EC2 Dabei handelt es sich um einen Bericht nach bestem Wissen und Gewissen, und einige Vorkommnisse werden im Bericht möglicherweise nicht entdeckt.
Vollständige Klassifizierung: Verwaltung | Erweiterte Stack-Komponenten | EC2 Instance-Stack | Log4j-Informationen sammeln
Typdetails ändern
Typ-ID ändern |
ct-19f40lfm5umy8 |
Aktuelle Version |
2.0 |
Erwartete Ausführungsdauer |
360 Minuten |
AWS-Zulassung |
Erforderlich |
Zustimmung durch den Kunden |
Nicht erforderlich |
Ausführungsmodus |
Automatisiert |
Zusätzliche Informationen
Andere aktualisieren Andere CTs
Im Folgenden wird dieser Änderungstyp in der AMS-Konsole dargestellt.
So funktioniert es:
Navigieren Sie zur Seite RFC erstellen: Klicken Sie im linken Navigationsbereich der AMS-Konsole, um die RFCs Listenseite RFCszu öffnen, und klicken Sie dann auf RFC erstellen.
Wählen Sie in der Standardansicht „Änderungstypen durchsuchen“ einen beliebten Änderungstyp (CT) oder wählen Sie in der Ansicht „Nach Kategorie auswählen“ einen CT aus.
Nach Änderungstyp suchen: Sie können im Bereich Schnellerstellung auf ein beliebtes CT klicken, um sofort die Seite RFC ausführen zu öffnen. Beachten Sie, dass Sie mit Quick Create keine ältere CT-Version auswählen können.
Verwenden Sie zum Sortieren CTs den Bereich Alle Änderungstypen in der Karten - oder Tabellenansicht. Wählen Sie in einer der Ansichten einen CT aus und klicken Sie dann auf RFC erstellen, um die Seite RFC ausführen zu öffnen. Falls zutreffend, wird neben der Schaltfläche „RFC erstellen“ die Option Mit älterer Version erstellen angezeigt.
Nach Kategorie auswählen: Wählen Sie eine Kategorie, eine Unterkategorie, einen Artikel und einen Vorgang aus. Daraufhin wird das Feld mit den CT-Details geöffnet. Dort können Sie gegebenenfalls die Option „Mit älterer Version erstellen“ auswählen. Klicken Sie auf RFC erstellen, um die Seite RFC ausführen zu öffnen.
Öffnen Sie auf der Seite RFC ausführen den Bereich CT-Name, um das Feld mit den CT-Details zu sehen. Ein Betreff ist erforderlich (dieser wird für Sie ausgefüllt, wenn Sie Ihr CT in der Ansicht „Änderungstypen durchsuchen“ auswählen). Öffnen Sie den Bereich Zusätzliche Konfiguration, um Informationen zum RFC hinzuzufügen.
Verwenden Sie im Bereich Ausführungskonfiguration die verfügbaren Dropdownlisten oder geben Sie Werte für die erforderlichen Parameter ein. Um optionale Ausführungsparameter zu konfigurieren, öffnen Sie den Bereich Zusätzliche Konfiguration.
Wenn Sie fertig sind, klicken Sie auf Ausführen. Wenn keine Fehler vorliegen, wird die Seite mit dem RFC erfolgreich erstellt mit den übermittelten RFC-Details und der ersten Run-Ausgabe angezeigt.
Öffnen Sie den Bereich Run-Parameter, um die von Ihnen eingereichten Konfigurationen zu sehen. Aktualisieren Sie die Seite, um den RFC-Ausführungsstatus zu aktualisieren. Brechen Sie optional den RFC ab oder erstellen Sie eine Kopie davon mit den Optionen oben auf der Seite.
So funktioniert es:
Verwenden Sie entweder Inline Create (Sie geben einen
create-rfcBefehl mit allen RFC- und Ausführungsparametern aus) oder Template Create (Sie erstellen zwei JSON-Dateien, eine für die RFC-Parameter und eine für die Ausführungsparameter) und geben Sie dencreate-rfcBefehl mit den beiden Dateien als Eingabe aus. Beide Methoden werden hier beschrieben.Reichen Sie den
aws amscm submit-rfc --rfc-idBefehl RFC: mit der zurückgegebenen RFC-ID ein.IDÜberwachen Sie den RFC: -Befehl.
aws amscm get-rfc --rfc-idID
Verwenden Sie diesen Befehl, um die Version des Änderungstyps zu überprüfen:
aws amscm list-change-type-version-summaries --filter Attribute=ChangeTypeId,Value=CT_ID
Anmerkung
Sie können alle CreateRfc Parameter mit jedem RFC verwenden, unabhängig davon, ob sie Teil des Schemas für den Änderungstyp sind oder nicht. Um beispielsweise Benachrichtigungen zu erhalten, wenn sich der RFC-Status ändert, fügen Sie diese Zeile dem RFC-Parameter-Teil der Anfrage hinzu (nicht den Ausführungsparametern). --notification "{\"Email\": {\"EmailRecipients\" : [\"email@example.com\"]}}" Eine Liste aller CreateRfc Parameter finden Sie in der AMS Change Management API-Referenz.
INLINE-ERSTELLUNG:
Geben Sie den Befehl create RFC mit den direkt angegebenen Ausführungsparametern aus (vermeiden Sie Anführungszeichen, wenn Sie die Ausführungsparameter inline angeben), und senden Sie dann die zurückgegebene RFC-ID. Sie können den Inhalt beispielsweise durch etwas Ähnliches ersetzen:
Version 2.0:
Alle Instanzen scannen:
aws amscm create-rfc --change-type-id "ct-19f40lfm5umy8" --change-type-version "2.0" --title "Log4j Investigation" --execution-parameters "{\"DocumentName\":\"AWSManagedServices-GatherLog4jInformation\",\"Region\":\"us-east-1\",\"Parameters\":{\"S3Bucket\":[\"s3://BUCKET_NAME\"]},\"TargetParameterName\": \"InstanceId\",\"Targets\": [{\"Key\": \"AWS::EC2::Instance\",\"Values\": [\"*\"]}],\"MaxConcurrency\": \"10\",\"MaxErrors\": \"100%\"}"
Eine Liste von Instanzen scannen:
aws amscm create-rfc --change-type-id "ct-19f40lfm5umy8" --change-type-version "2.0" --title "Log4j Investigation" --execution-parameters "{\"DocumentName\":\"AWSManagedServices-GatherLog4jInformation\",\"Region\":\"us-east-1\",\"Parameters\":{\"S3Bucket\":[\"s3://BUCKET_NAME\"]},\"TargetParameterName\": \"InstanceId\",\"Targets\": [{\"Key\": \"ParameterValues\",\"Values\": [\"INSTANCE_ID_1\",\"INSTANCE_ID_2\",\"INSTANCE_ID_3\",\"INSTANCE_ID_4\",\"INSTANCE_ID_5\"]}],\"MaxConcurrency\": \"10\",\"MaxErrors\": \"100%\"}"
VORLAGE ERSTELLEN:
Gibt die Ausführungsparameter für diesen Änderungstyp in eine JSON-Datei aus. In diesem Beispiel wird sie GatherLog 4 jInfoParams .json genannt:
aws amscm get-change-type-version --change-type-id "ct-19f40lfm5umy8" --query "ChangeTypeVersion.ExecutionInputSchema" --output text > GatherLog4jInfoParams.jsonÄndern und speichern Sie die GatherLog jInfoParams 4-Datei, wobei Sie nur die Parameter beibehalten, die Sie ändern möchten. Sie können den Inhalt beispielsweise durch etwas Ähnliches ersetzen:
Version 2.0:
Alle Instanzen scannen:
{ "DocumentName": "AWSManagedServices-GatherLog4jInformation", "Region": "us-east-1", "Parameters": { "S3Bucket": [ "s3://BUCKET_NAME" ] }, "TargetParameterName": "InstanceId", "Targets": [ { "Key": "AWS::EC2::Instance", "Values": [ "*" ] } ], "MaxConcurrency": "10", "MaxErrors": "100%" }Eine Liste von Instanzen scannen:
{ "DocumentName": "AWSManagedServices-GatherLog4jInformation", "Region": "us-east-1", "Parameters": { "S3Bucket": [ "s3://" ] }, "TargetParameterName": "InstanceId", "Targets": [ { "Key": "BUCKET_NAMEParameterValues", "Values": [ "INSTANCE_ID_1", "INSTANCE_ID_2", "INSTANCE_ID_3", "INSTANCE_ID_4", "INSTANCE_ID_5" ] } ], "MaxConcurrency": "10", "MaxErrors": "100%" }Geben Sie die RFC-Vorlage in eine Datei in Ihrem aktuellen Ordner aus. In diesem Beispiel wird sie GatherLog 4 jInfoRfc .json genannt:
aws amscm create-rfc --generate-cli-skeleton > GatherLog4jInfoRfc.jsonÄndern und speichern Sie die Datei GatherLog jInfoRfc 4.json. Sie können den Inhalt beispielsweise durch etwas Ähnliches ersetzen:
{ "ChangeTypeVersion": "2.0", "ChangeTypeId": "ct-19f40lfm5umy8", "Title": "Log4j Investigation" }Erstellen Sie den RFC und geben Sie dabei die GatherLog jInfoRfc 4-Datei und die GatherLog jInfoParams 4-Datei an:
aws amscm create-rfc --cli-input-json file://GatherLog4jInfoRfc.json --execution-parameters file://GatherLog4jInfoParams.json
Dieser Änderungstyp durchsucht die angegebene EC2 Instanz nach Paketen, die eine betroffene Version der Apache Log4j-Java-Klasse enthalten. Diese Funktion erstellt einen Best-Effort-Bericht. Einige Vorkommnisse können unentdeckt bleiben oder falsch identifiziert werden.
AWS CloudShell ist eine browserbasierte Shell, die es einfach macht, Ihre AWS-Ressourcen sicher zu verwalten, zu erkunden und mit ihnen zu interagieren. AWS CloudShell wird bei der Anmeldung mit Ihren Konsolenanmeldedaten vorab authentifiziert. Gängige Entwicklungs- und Betriebstools sind vorinstalliert, sodass keine lokale Installation oder Konfiguration erforderlich ist. Mit AWS CloudShell können Sie schnell Skripts mit der AWS-Befehlszeilenschnittstelle (AWS CLI) ausführen, APIs mithilfe von AWS mit dem AWS-Service experimentieren oder eine Reihe anderer Tools verwenden SDKs, um produktiv zu sein. Sie können AWS ohne zusätzliche Kosten CloudShell direkt von Ihrem Browser aus verwenden.
Anmerkung
Sie können die CloudShell AWS-Konsole von jeder anderen oder der nächstgelegenen AWS-Region aus verwenden, in der sie verfügbar ist, um die Aggregation durchzuführen. Um beispielsweise die Aggregation von Daten durchzuführen, die in der Region Virginia gespeichert sind, öffnen Sie CloudShell in der AWS-Konsole eine AWS-Region in der AWS-Konsole „US East (Virginia) us-east-1" und folgen Sie den nachfolgenden Anweisungen.
Die Berichtsdaten enthalten Informationen zu Java-Archiven (JAR-Dateien), die sich in der angegebenen Umgebung befinden und die anfällige Klasse enthalten. JndiLookup AMS empfiehlt, die betroffenen Bibliotheken auf die neueste verfügbare Version zu aktualisieren, die direkt von Apache unter Download Apache Log4j
Um alle generierten CSV-Dateien zu aggregieren und einen einzigen Bericht mit AWS zu erstellen CloudShell:
Öffnen Sie auf einer beliebigen Seite oder AWS-Region in der AWS-Managementkonsole AWS, CloudShell um das als Nächstes gezeigte Skript auszuführen. Stellen Sie sicher, dass Sie mit der AWSManaged ServicesReadOnlyRole Rolle bei der AWS-Managementkonsole angemeldet sind.
# Specify the S3 bucket and AWS region that contains the individual CSV files: BUCKET_NAME="YOUR BUCKET HERE" BUCKET_REGION="THE BUCKET REGION HERE" # Aggregate the CSV files: mkdir -p log4j-report aws s3 cp s3://$BUCKET_NAME/ams/log4j-scan/ ./log4j-report --recursive --include "*.csv" echo "aws_account_id,region,scan_time,instance_id,scan_type,location" > log4j-report/report.csv for i in `find log4j-report -type f \( -iname "*.csv" ! -iname "report.csv" \)`; do awk 'FNR > 1' $i >> log4j-report/report.csv; done # Upload the report to the same S3 bucket: file_name="report_$(date -d "today" +"%Y%m%d%H%M").csv" aws s3 cp log4j-report/report.csv s3://$BUCKET_NAME/ams/log4j-reports/$file_name # Open the following URL and select \"Download\" to download the report: echo "Report uploaded to: https://s3.console.aws.amazon.com/s3/object/$BUCKET_NAME?region=$BUCKET_REGION&prefix=ams/log4j-reports/$file_name"Das Skript gibt die S3-URL aus, von der der Bericht heruntergeladen werden soll.
Kopieren und öffnen Sie die URL und wählen Sie dann Herunterladen
Landing Zone für ein einzelnes Konto: Den Bericht verwenden
Wenn Sie in einer landing zone für ein einzelnes Konto arbeiten, ist der CloudShell AWS-Service nicht verfügbar. Sie können jedoch weiterhin die AWS-CLI nutzen, um die erforderlichen Schritte durchzuführen. Folgen Sie dieser Dokumentation: Wie gewähre ich meinen Active Directory-Benutzern Zugriff auf die API oder die AWS-CLI mit AD FS?Customer_ReadOnly_Role. Führen Sie dann das Skript in Schritt 1 aus, um den erforderlichen CSV-Bericht zu generieren.
Wie liest man den Bericht
Der Bericht enthält die folgenden Spalten:
scan_time: Der Zeitpunkt, zu dem der Instanzscan durchgeführt wurde
instance_id: Die Instanz-ID EC2
scan_type: Der Typ des Scans, der durchgeführt wurde. Wenn sich der Scan beispielsweise in den Speicherinformationen befindet, lautet der Scantyp MEMORY. Wenn das Dateisystem überprüft wurde, lautet der Scantyp FILESYSTEM
location: Der Pfad zum Spiel
Eingabeparameter für die Ausführung
Ausführliche Informationen zu den Eingabeparametern der Ausführung finden Sie unterSchema für den Änderungstyp ct-19f40lfm5umy8.
Beispiel: Erforderliche Parameter
Example not available.
Beispiel: Alle Parameter
{ "DocumentName": "AWSManagedServices-GatherLog4jInformation", "Region": "us-east-1", "Parameters": { "S3Bucket": [ "s3://test" ] }, "TargetParameterName": "InstanceId", "Targets": [ { "Key": "ParameterValues", "Values": [ "i-1234567890abcdef0", "i-1234567890abcdef1", "i-1234567890abcdef2", "i-1234567890abcdef3", "i-1234567890abcdef4" ] } ], "MaxConcurrency": "10", "MaxErrors": "100%" }