GuardDuty Testergebnisse in speziellen Konten - Amazon GuardDuty

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.

Ü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-testerRepository zu 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:

  1. 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.

  2. 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 den t3.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.

  1. 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
  2. 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.

  3. 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 --tactics discovery python3 guardduty_tester.py --ec2 --eks --tactics backdoor policy execution python3 guardduty_tester.py --eks --runtime only python3 guardduty_tester.py --ec2 --runtime only --tactics impact python3 guardduty_tester.py --log-source dns 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.

GuardDuty console
  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die GuardDuty Konsole unter https://console.aws.amazon.com/guardduty/.

  2. Wählen Sie im Navigationsbereich Findings aus.

  3. Wählen Sie in der Tabelle mit den Ergebnissen ein Ergebnis aus, für das Sie die Details anzeigen möchten. Dadurch wird der Bereich mit den Ergebnisdetails geöffnet. Weitere Informationen finden Sie unter GuardDuty Amazon-Ergebnisse verstehen und generieren.

  4. Wenn Sie diese Ergebnisse filtern möchten, verwenden Sie den Ressourcen-Tag key and value. Um beispielsweise die für die EC2 Amazon-Instances generierten Ergebnisse zu filtern, verwenden SieCreatedBy: GuardDuty Test Script tag key:value pair für Instance-Tag-Schlüssel und Instance-Tag-Schlüssel.

API
AWS CLI
  • Führen Sie den folgenden AWS CLI Befehl aus, um die generierten Ergebnisse anzuzeigen und zu ersetzen us-east-1 and 12abc34d567e8fa901bc2d34EXAMPLE mit geeigneten Werten:

    aws guardduty list-findings --region us-east-1 --detector-id 12abc34d567e8fa901bc2d34EXAMPLE

    Um das detectorId für Ihr Konto und Ihre aktuelle Region zu finden, gehen Sie in der https://console.aws.amazon.com/guardduty/Konsole auf die Seite Einstellungen oder führen Sie den ListDetectors API.

    Weitere Informationen zu den Parametern, mit denen Sie Ergebnisse filtern können, finden Sie in der AWS CLI Befehlsreferenz unter list-findings.

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:

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:

    1. Wählen Sie eine bevorzugte Methode, um zu ermitteln, welche Availability Zones Ihren Instance-Typ unterstützen:

      Console
      Um Availability Zones zu identifizieren, die den bevorzugten Instance-Typ unterstützen
      1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die EC2 Amazon-Konsole unter https://console.aws.amazon.com/ec2/.

      2. Wählen Sie mithilfe der AWS Regionsauswahl in der oberen rechten Ecke der Seite die Region aus, in der Sie die Instance starten möchten.

      3. Wählen Sie im Navigationsbereich unter Instances die Option Instance-Typen aus.

      4. Wählen Sie aus der Tabelle mit den Instanztypen einen bevorzugten Instance-Typ aus.

      5. Sehen Sie sich unter Netzwerk die Regionen an, die unter Availability Zones aufgeführt sind.

        Auf der Grundlage dieser Informationen müssen Sie möglicherweise eine neue Region auswählen, in der Sie die Ressourcen bereitstellen können.

      AWS CLI

      Führen Sie den folgenden Befehl aus, um eine Liste der Availability Zones anzuzeigen. Stellen Sie sicher, dass Sie Ihren bevorzugten Instance-Typ und die Region angeben (us-east-1).

      aws ec2 describe-instance-type-offerings --location-type availability-zone --filters Name=instance-type,Values=Preferred instance type --region us-east-1 --output table

      Weitere Informationen zu diesem Befehl finden Sie describe-instance-type-offeringsin der AWS CLI Befehlsreferenz.

      Wenn Sie bei der Ausführung dieses Befehls eine Fehlermeldung erhalten, stellen Sie sicher, dass Sie die neueste Version von verwenden AWS CLI. Weitere Informationen finden Sie unter Fehlerbehebung im AWS Command Line Interface -Benutzerhandbuch.

    2. 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
      1. Richten Sie die Standardregion in der bin/cdk-gd-tester.ts Datei ein.

      2. Um die Availability Zone anzugeben, öffnen Sie die amazon-guardduty-tester/lib/common/network/vpc.ts Datei.

      3. Ersetzen Sie diese Datei durch die StellemaxAzs: 2,, availabilityZones: ['us-east-1a', 'us-east-1c'], an der Sie die Availability Zones für Ihren Instance-Typ angeben müssen.

      4. Fahren Sie mit den verbleibenden Schritten unter fortSchritte zum Bereitstellen von Ressourcen AWS.