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.
GuardDuty Testergebnisse in speziellen Konten
Verwenden Sie dieses Dokument, um ein Tester-Skript auszuführen, das GuardDuty Ergebnisse anhand von Testressourcen generiert, die in Ihrem bereitgestellt werden AWS-Konto. Sie können diese Schritte ausführen, wenn Sie mehr über bestimmte GuardDuty Ergebnisarten und darüber erfahren möchten, wie die Ergebnisdetails für die tatsächlichen Ressourcen in Ihrem Konto aussehen. Diese Erfahrung unterscheidet sich von der GenerierungBeispielergebnisse. Weitere Informationen zu den Erfahrungen beim Testen von GuardDuty Ergebnissen finden Sie unterÜberlegungen.
Inhalt
Überlegungen
Bevor Sie fortfahren, sollten Sie die folgenden Überlegungen berücksichtigen:
-
GuardDuty empfiehlt, den Tester an einem speziellen Ort außerhalb der AWS-Konto Produktionsumgebung einzusetzen. Dieser Ansatz stellt sicher, dass Sie die vom Tester generierten GuardDuty Ergebnisse korrekt identifizieren können. Darüber hinaus stellt der GuardDuty Tester eine Vielzahl von Ressourcen bereit, für die möglicherweise IAM Berechtigungen erforderlich sind, die über die Berechtigungen anderer Konten hinausgehen. Durch die Verwendung eines dedizierten Kontos wird sichergestellt, dass der Umfang der Berechtigungen ordnungsgemäß und mit einer klaren Kontogrenze festgelegt werden kann.
-
Das Tester-Skript generiert über 100 GuardDuty Ergebnisse mit unterschiedlichen AWS Ressourcenkombinationen. Derzeit beinhaltet dies nicht alle. GuardDuty Typen finden Eine Liste der Suchtypen, die Sie mit diesem Tester-Skript generieren können, finden Sie unter. GuardDuty Ergebnisse, die das Tester-Skript generieren kann
-
Damit der GuardDuty Tester erwartungsgemäß funktioniert, GuardDuty muss er in dem Konto aktiviert sein, in dem die Tester-Ressourcen bereitgestellt werden. Abhängig von den Tests, die ausgeführt werden, bewertet der Tester, ob die entsprechenden GuardDuty Schutzpläne aktiviert sind oder nicht. Für jeden Schutzplan, der nicht aktiviert ist, bittet GuardDuty er um Erlaubnis, die erforderlichen Schutzpläne so lange zu aktivieren, GuardDuty bis die Tests durchgeführt werden können, die zu Ergebnissen führen. GuardDuty Wird den Schutzplan später deaktivieren, sobald die Tests abgeschlossen sind.
- GuardDuty Zum ersten Mal aktivieren
-
Wenn GuardDuty es in Ihrem speziellen Konto zum ersten Mal in einer bestimmten Region aktiviert wird, wird Ihr Konto automatisch für eine kostenlose 30-Tage-Testversion registriert.
GuardDuty bietet optionale Schutzpläne. Zum Zeitpunkt der Aktivierung GuardDuty werden auch bestimmte Schutzpläne aktiviert und sind in der kostenlosen GuardDuty 30-Tage-Testversion enthalten. Weitere Informationen finden Sie unter Verwenden Sie die kostenlose GuardDuty 30-Tage-Testversion.
- GuardDuty ist in Ihrem Konto bereits aktiviert, bevor Sie das Tester-Skript ausführen
-
Wenn GuardDuty es bereits aktiviert ist, überprüft das Tester-Skript anhand der Parameter den Konfigurationsstatus bestimmter Schutzpläne und anderer Einstellungen auf Kontoebene, die zur Generierung der Ergebnisse erforderlich sind.
Durch die Ausführung dieses Testerskripts können bestimmte Schutzpläne in Ihrem speziellen Konto in einer Region zum ersten Mal aktiviert werden. Dadurch wird die kostenlose 30-Tage-Testversion für diesen Schutzplan gestartet. Informationen zur kostenlosen Testversion der einzelnen Schutzpläne finden Sie unterVerwenden Sie die kostenlose GuardDuty 30-Tage-Testversion.
GuardDuty Ergebnisse, die das Tester-Skript generieren kann
Derzeit generiert das Tester-Skript die folgenden Findetypen, die sich auf AmazonEC2, AmazonEKS, Amazon S3 und EKS Audit-Logs beziehen: IAM
Schritt 1 — Voraussetzungen
Um Ihre Testumgebung vorzubereiten, benötigen Sie die folgenden Elemente:
-
Git — Installieren Sie das Git-Befehlszeilentool basierend auf dem von Ihnen verwendeten Betriebssystem. Dies ist erforderlich, um das
amazon-guardduty-tester
Repositoryzu klonen. -
AWS Command Line Interface— Ein Open-Source-Tool, mit dem Sie mithilfe AWS-Services von Befehlen in Ihrer Befehlszeilen-Shell interagieren können. Weitere Informationen finden Sie unter Erste Schritte mit AWS CLI im AWS Command Line Interface Benutzerhandbuch.
-
AWS Systems Manager— Um Session Manager-Sitzungen mit Ihren verwalteten Knoten zu initiieren, müssen AWS CLI Sie das Session Manager-Plug-In auf Ihrem lokalen Computer installieren. Weitere Informationen finden Sie unter Installieren des Session Manager-Plug-ins für AWS CLI im AWS Systems Manager Benutzerhandbuch.
-
Node Package Manager (NPM) — InstallierenNPM, um alle Abhängigkeiten zu installieren.
-
Docker — Sie müssen Docker installiert haben. Installationsanweisungen finden Sie auf der Docker-Website
. Um zu überprüfen, ob Docker installiert wurde, führen Sie den folgenden Befehl aus und vergewissern Sie sich, dass eine Ausgabe vorliegt, die der folgenden Ausgabe ähnelt:
$ docker --version Docker version 19.03.1
-
Abonnieren Sie das Kali Linux-Image
im. AWS Marketplace
Schritt 2 — Ressourcen bereitstellen AWS
Dieser Abschnitt enthält eine Liste der wichtigsten Konzepte und der Schritte zur Bereitstellung bestimmter AWS Ressourcen in Ihrem speziellen Konto.
Konzepte
Die folgende Liste enthält wichtige Konzepte zu den Befehlen, mit denen Sie die Ressourcen bereitstellen können:
-
AWS Cloud Development Kit (AWS CDK)— CDK ist ein Open-Source-Framework für die Softwareentwicklung, mit dem Cloud-Infrastruktur im Code definiert und bereitgestellt werden kann. AWS CloudFormation CDKunterstützt eine Reihe von Programmiersprachen, um wiederverwendbare Cloud-Komponenten, sogenannte Konstrukte, zu definieren. Sie können diese zu Stacks und Apps zusammenstellen. Anschließend können Sie Ihre CDK Anwendungen bereitstellen, AWS CloudFormation um Ihre Ressourcen bereitzustellen oder zu aktualisieren. Weitere Informationen finden Sie unter Was ist der AWS CDK? im AWS Cloud Development Kit (AWS CDK) Entwicklerhandbuch.
-
Bootstrapping — Dies ist der Prozess, bei dem Ihre AWS Umgebung für die Verwendung mit vorbereitet wird. AWS CDK Bevor Sie einen CDK Stack in einer AWS Umgebung bereitstellen, muss die Umgebung zunächst gebootet werden. Dieser Prozess der Bereitstellung bestimmter AWS Ressourcen in Ihrer Umgebung, die von verwendet werden, AWS CDK ist Teil der Schritte, die Sie im nächsten Abschnitt ausführen werden -. Schritte zum Bereitstellen von Ressourcen AWS
Weitere Informationen zur Funktionsweise von Bootstrapping finden Sie unter Bootstrapping im Entwicklerhandbuch.AWS Cloud Development Kit (AWS CDK)
Schritte zum Bereitstellen von Ressourcen AWS
Führen Sie die folgenden Schritte aus, um mit der Bereitstellung der Ressourcen zu beginnen:
-
Richten Sie Ihr AWS CLI Standardkonto und Ihre Region ein, sofern die Regionsvariablen für das Konto nicht manuell in der
bin/cdk-gd-tester.ts
Datei festgelegt wurden. Weitere Informationen finden Sie im AWS Cloud Development Kit (AWS CDK) Entwicklerhandbuch unter Umgebungen. -
Führen Sie die folgenden Befehle aus, um die Ressourcen bereitzustellen:
git clone https://github.com/awslabs/amazon-guardduty-tester && cd amazon-guardduty-tester npm install cdk bootstrap cdk deploy
Der letzte Befehl (
cdk deploy
) erstellt in Ihrem Namen einen AWS CloudFormation Stack. Der Name dieses Stacks ist GuardDutyTesterStack.GuardDuty Erstellt im Rahmen dieses Skripts neue Ressourcen, um GuardDuty Ergebnisse in Ihrem Konto zu generieren. Außerdem wird den EC2 Amazon-Instances das folgende Tag-Schlüssel:Wert-Paar hinzugefügt:
CreatedBy
:GuardDuty Test Script
Zu den EC2 Amazon-Instances gehören auch die EC2 Instances, die EKS Knoten und ECS Cluster hosten.
Instance-Typen
GuardDuty erstellt
t3.micro
für alle Ressourcen mit Ausnahme der EKS Amazon-Knotengruppe. Da mindestens 2 Kerne EKS erforderlich sind, hat der EKS Knoten dent3.medium
Instance-Typ. Weitere Informationen zu Instance-Typen finden Sie unter Verfügbare Größen im Amazon EC2 Instances Types Guide.
Schritt 3 — Tester-Skripte ausführen
Dies ist ein zweistufiger Prozess, bei dem Sie zuerst eine Sitzung mit dem Testtreiber starten und dann Skripts ausführen müssen, um GuardDuty Ergebnisse mit bestimmten Ressourcenkombinationen zu generieren.
-
Nachdem Ihre Ressourcen bereitgestellt wurden, speichern Sie den Regionalcode in einer Variablen in Ihrer aktuellen Terminalsitzung. Verwenden Sie den folgenden Befehl und ersetzen Sie
us-east-1
mit dem Regionalcode, in dem Sie die Ressourcen bereitgestellt haben:$ REGION=
us-east-1
-
Das Tester-Skript ist nur über AWS Systems Manager (SSM) verfügbar. Um eine interaktive Shell auf der Tester-Host-Instanz zu starten, fragen Sie den Host ab InstanceId.
-
Verwenden Sie den folgenden Befehl, um Ihre Sitzung für das Tester-Skript zu beginnen:
aws ssm start-session --region $REGION --document-name AWS-StartInteractiveCommand --parameters command="cd /home/ssm-user/py_tester && bash -l" --target $(aws ec2 describe-instances --region $REGION --filters "Name=tag:Name,Values=Driver-GuardDutyTester" --query "Reservations[].Instances[?State.Name=='running'].InstanceId" --output text)
Das Tester-Skript ist ein Python-basiertes Programm, das dynamisch ein Bash-Skript erstellt, um Ergebnisse auf der Grundlage Ihrer Eingabe zu generieren. Sie haben die Flexibilität, Ergebnisse auf der Grundlage eines oder mehrerer AWS Ressourcentypen, GuardDuty Schutzpläne, Bedrohungszwecke (Taktiken) oder zu generieren. Grundlegende Datenquellen GuardDuty Ergebnisse, die das Tester-Skript generieren kann
Verwenden Sie die folgenden Befehlsbeispiele als Referenz und führen Sie einen oder mehrere Befehle aus, um Ergebnisse zu generieren, die Sie untersuchen möchten:
python3 guardduty_tester.py python3 guardduty_tester.py --
all
python3 guardduty_tester.py --s3
python3 guardduty_tester.py --tacticsdiscovery
python3 guardduty_tester.py --ec2
--eks
--tacticsbackdoor
policy
execution
python3 guardduty_tester.py --eks
--runtime
only python3 guardduty_tester.py --ec2
--runtime
only --tacticsimpact
python3 guardduty_tester.py --log-sourcedns
vpc-flowlogs
python3 guardduty_tester.py --finding 'CryptoCurrency:EC2/BitcoinTool.B!DNS
'
Weitere Informationen zu gültigen Parametern erhalten Sie, wenn Sie den folgenden Hilfebefehl ausführen:
python3 guardduty_tester.py --help
Wählen Sie eine bevorzugte Methode, um die generierten Ergebnisse in Ihrem Konto anzuzeigen.
Schritt 4 — Testressourcen AWS bereinigen
Die Einstellungen auf Kontoebene und andere Aktualisierungen des Konfigurationsstatus, die während der Schritt 3 — Tester-Skripte ausführen Rückkehr zum ursprünglichen Zustand vorgenommen wurden, wenn das Tester-Skript abgeschlossen ist.
Nachdem Sie das Tester-Skript ausgeführt haben, können Sie wählen, ob Sie die AWS Testressourcen bereinigen möchten. Sie können dafür eine der folgenden Methoden verwenden:
-
Führen Sie den folgenden Befehl aus:
cdk destroy
-
Löschen Sie den AWS CloudFormation Stapel mit dem Namen GuardDutyTesterStack. Informationen zu den einzelnen Schritten finden Sie unter Löschen eines Stacks auf der AWS CloudFormation Konsole.
Behebung häufig auftretender Probleme
GuardDuty hat häufig auftretende Probleme identifiziert und empfiehlt Schritte zur Problembehebung:
-
Cloud assembly schema version mismatch
— Aktualisieren Sie AWS CDK CLI auf eine Version, die mit der erforderlichen Cloud-Assembly-Version kompatibel ist, oder auf die neueste verfügbare Version. Weitere Informationen finden Sie unter AWS CDK CLIKompatibilität. -
Docker permission denied
— Fügen Sie den Benutzer des dedizierten Kontos zu den Docker-Benutzern hinzu, damit das dedizierte Konto die Befehle ausführen kann. Weitere Informationen zu den einzelnen Schritten finden Sie unter Docker-Zugriff verweigert. -
Your requested instance type is not supported in your requested Availability Zone
— Einige Availability Zones unterstützen bestimmte Instanztypen nicht. Gehen Sie wie folgt vor, um herauszufinden, welche Availability Zones Ihren bevorzugten Instance-Typ unterstützen, und versuchen Sie erneut, AWS Ressourcen bereitzustellen:-
Wählen Sie eine bevorzugte Methode, um zu ermitteln, welche Availability Zones Ihren Instance-Typ unterstützen:
-
Versuchen Sie erneut, die AWS Ressourcen bereitzustellen, und geben Sie eine Availability Zone an, die Ihren bevorzugten Instance-Typ unterstützt.
Um erneut zu versuchen, Ressourcen bereitzustellen AWS
-
Richten Sie die Standardregion in der
bin/cdk-gd-tester.ts
Datei ein. -
Um die Availability Zone anzugeben, öffnen Sie die
amazon-guardduty-tester/lib/common/network/vpc.ts
Datei. -
Ersetzen Sie diese Datei durch die Stelle
maxAzs: 2,
,availabilityZones: ['
an der Sie die Availability Zones für Ihren Instance-Typ angeben müssen.us-east-1a
', 'us-east-1c
'], -
Fahren Sie mit den verbleibenden Schritten unter fortSchritte zum Bereitstellen von Ressourcen AWS.
-
-