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.
AWSSupport-ContainEC2Instance
Beschreibung
Das AWSSupport-ContainEC2Instance
Runbook bietet eine automatisierte Lösung für das Verfahren, das im Artikel Wie isoliere ich die EC2 Amazon-Instance, wenn ich mit einer potenziell kompromittierten oder verdächtigen Instanz konfrontiert
Wie funktioniert sie?
Dieses Automation-Runbook AWSSupport-ContainEC2Instance
führt die Netzwerkeindämmung einer EC2 Amazon-Instance durch eine Reihe koordinierter Schritte durch. Wenn es im Contain
Modus ausgeführt wird, validiert es zunächst die Eingabeparameter und prüft, ob die Instance nicht beendet wurde. Anschließend wird die aktuelle Sicherheitsgruppenkonfiguration zur späteren Wiederherstellung in einem Amazon S3 S3-Bucket gesichert. Das Runbook erstellt zwei Sicherheitsgruppen: eine temporäre „All-Access-Sicherheitsgruppe“ und eine abschließende Sicherheitsgruppe „Containment“. Dabei werden die Netzwerkschnittstellen der Instance schrittweise von ihren ursprünglichen Sicherheitsgruppen in die All-Access-Sicherheitsgruppe und schließlich in die Containment-Sicherheitsgruppe umgewandelt. Falls angegeben, erstellt sie sowohl unverschlüsselte als auch verschlüsselte AMI Backups der Instanz. Für Instances in einer Auto Scaling Scaling-Gruppe werden die erforderlichen Änderungen an der Auto Scaling Scaling-Gruppe vorgenommen und die Instance in den Standby-Status versetzt. Wenn es im Release
Modus ausgeführt wird, stellt es die ursprüngliche Netzwerkkonfiguration der Instance mithilfe der gesicherten Einstellungen von Amazon S3 wieder her. Das Runbook unterstützt einen DryRun
Parameter, mit dem eine Vorschau von Aktionen angezeigt werden kann, ohne dass Änderungen vorgenommen werden müssen, und umfasst umfassende Mechanismen zur Fehlerbehandlung und Berichterstattung in den gesamten Containment- und Release-Workflows.
Wichtig
-
Dieses Runbook führt verschiedene Operationen aus, für die erhöhte Rechte erforderlich sind, z. B. das Ändern von Sicherheitsgruppen und das Erstellen AMIs und Interaktion mit Auto Scaling Scaling-Gruppen. Diese Aktionen können möglicherweise zu einer Eskalation von Rechten führen oder sich auf andere Workloads in Ihrem Konto auswirken. Sie sollten die Berechtigungen überprüfen, die der durch den
AutomationAssumeRole
Parameter angegebenen Rolle gewährt wurden, und sicherstellen, dass sie für den beabsichtigten Anwendungsfall geeignet sind. Weitere Informationen zu IAM-Berechtigungen finden Sie in der folgenden AWS Dokumentation:AWS Identity and Access Management (IAM) Permissions
AWS Systems Manager Automation Permissions
. -
Dieses Runbook führt mutative Aktionen durch, die möglicherweise zur Nichtverfügbarkeit oder Unterbrechung Ihrer Workloads führen können. Insbesondere werden die Sicherheitsgruppen geändert, die der EC2 Amazon-Zielinstanz zugeordnet sind, was sich auf die Netzwerkkonnektivität auswirken kann. Wenn die Instance Teil einer Auto Scaling Scaling-Gruppe ist, kann das Runbook außerdem die Konfiguration der Gruppe ändern, was sich möglicherweise auf ihr Skalierungsverhalten auswirkt.
-
Während des Containment-Prozesses erstellt dieses Runbook zusätzliche Ressourcen, wie Sicherheitsgruppen und AMI-Geräte. Diese Ressourcen sind zwar zur Identifizierung gekennzeichnet, Sie sollten sich jedoch ihrer Erstellung bewusst sein und sicherstellen, dass sie nach Abschluss des Containment-Prozesses ordnungsgemäß bereinigt oder verwaltet werden.
-
Wenn der
Action
Parameter auf gesetzt istRelease
, versucht dieses Runbook, die Konfiguration der EC2 Amazon-Instance in ihren ursprünglichen Zustand zurückzuversetzen. Es besteht jedoch das Risiko, dass der Wiederherstellungsprozess fehlschlägt und die Instance in einem inkonsistenten Zustand zurückbleibt. Das Runbook enthält Anweisungen für die manuelle Wiederherstellung im Falle solcher Fehler. Sie sollten jedoch darauf vorbereitet sein, mögliche Probleme während des Wiederherstellungsprozesses zu lösen.
Es wird empfohlen, das Runbook gründlich zu überprüfen, seine möglichen Auswirkungen zu verstehen und es in einer Nicht-Produktionsumgebung zu testen, bevor Sie es in Ihrer Produktionsumgebung ausführen.
Führen Sie diese Automatisierung aus (Konsole)
Art des Dokuments
Automatisierung
Eigentümer
Amazon
Plattformen
/
Erforderliche IAM-Berechtigungen
Der AutomationAssumeRole
Parameter erfordert die folgenden Aktionen, um das Runbook erfolgreich zu verwenden.
automatische Skalierung: CreateOrUpdateTags
automatische Skalierung: DeleteTags
automatische Skalierung: DescribeAutoScalingGroups
automatische Skalierung: DescribeAutoScalingInstances
automatische Skalierung: DescribeTags
automatische Skalierung: EnterStandby
automatische Skalierung: ExitStandby
automatische Skalierung: UpdateAutoScalingGroup
ec2: AuthorizeSecurityGroupEgress
ec2: AuthorizeSecurityGroupIngress
ec2: CopyImage
ec2: CreateImage
ec2: CreateSecurityGroup
ec2: CreateSnapshot
ec2: CreateTags
ec2: DeleteSecurityGroup
ec2: DeleteTags
ec2: DescribeImages
ec2: DescribeInstances
ec2: DescribeSecurityGroups
ec2: DescribeSnapshots
ec2: DescribeTags
ec2: ModifyNetworkInterfaceAttribute
ec2: RevokeSecurityGroupEgress
km: CreateGrant
km: DescribeKey
km: GenerateDataKeyWithoutPlaintext
km: ReEncryptFrom
km: ReEncryptTo
s3: CreateBucket
s3: DeleteObjectTagging
s3: GetAccountPublicAccessBlock
s3: GetBucketAcl
s3: GetBucketLocation
s3: GetBucketOwnershipControls
s3: GetBucketPolicy
s3: GetBucketPolicyStatus
s3: GetBucketPublicAccessBlock
s3: GetObject
s3: ListBucket
s3: PutAccountPublicAccessBlock
s3: PutBucketPolicy
s3: PutBucketVersioning
s3: PutObject
s3: PutObjectTagging
Beispiel für eine Richtlinie:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ReadOperations", "Effect": "Allow", "Action": [ "autoscaling:DescribeAutoScalingGroups", "autoscaling:DescribeAutoScalingInstances", "autoscaling:DescribeTags", "ec2:DescribeImages", "ec2:DescribeInstances", "ec2:DescribeSecurityGroups", "ec2:DescribeSnapshots", "ec2:DescribeTags", "kms:DescribeKey", "s3:GetAccountPublicAccessBlock", "s3:GetBucketAcl", "s3:GetBucketLocation", "s3:GetBucketOwnershipControls", "s3:GetBucketPolicy", "s3:GetBucketPolicyStatus", "s3:GetBucketPublicAccessBlock", "s3:GetObject", "s3:ListBucket" ], "Resource": "*" }, { "Sid": "WriteOperations", "Effect": "Allow", "Action": [ "autoscaling:CreateOrUpdateTags", "autoscaling:DeleteTags", "autoscaling:EnterStandby", "autoscaling:ExitStandby", "autoscaling:UpdateAutoScalingGroup", "ec2:AuthorizeSecurityGroupEgress", "ec2:AuthorizeSecurityGroupIngress", "ec2:CopyImage", "ec2:CreateImage", "ec2:CreateSecurityGroup", "ec2:CreateSnapshot", "ec2:CreateTags", "ec2:DeleteSecurityGroup", "ec2:DeleteTags", "ec2:ModifyNetworkInterfaceAttribute", "ec2:RevokeSecurityGroupEgress", "kms:CreateGrant", "kms:GenerateDataKeyWithoutPlaintext", "kms:ReEncryptFrom", "kms:ReEncryptTo", "s3:CreateBucket", "s3:DeleteObjectTagging", "s3:PutAccountPublicAccessBlock", "s3:PutBucketPolicy", "s3:PutBucketVersioning", "s3:PutObject", "s3:PutObjectTagging" ], "Resource": "*" } ] }
Anweisungen
Gehen Sie wie folgt vor, um die Automatisierung zu konfigurieren:
-
Navigieren Sie
AWSSupport-ContainEC2Instance
im Systems Manager unter Dokumente zu. -
Wählen Sie Execute automation (Automatisierung ausführen).
-
Geben Sie für die Eingabeparameter Folgendes ein:
-
AutomationAssumeRole (Fakultativ):
Beschreibung: (Optional) Der Amazon-Ressourcenname (ARN) der AWS AWS Identity and Access Management (IAM) -Rolle, mit der Systems Manager Automation die Aktionen in Ihrem Namen ausführen kann. Wenn keine Rolle angegeben ist, verwendet Systems Manager Automation die Berechtigungen des Benutzers, der dieses Runbook startet.
Typ:
AWS::IAM::Role::Arn
-
Aktion (erforderlich):
Beschreibung: (Erforderlich) Wählen Sie
Contain
diese Option, um die EC2 Amazon-InstanceRestore
zu isolieren oder zu versuchen, die ursprüngliche Konfiguration der EC2 Amazon-Instance-Konfiguration aus einem früheren Backup wiederherzustellen.Typ: Zeichenfolge
Zulässiges Muster:
Contain|Restore
-
DryRun (Fakultativ):
Beschreibung: (Optional) Wenn diese Option auf gesetzt ist
true
, führt die Automatisierung keinen der Befehle aus, sondern berichtet stattdessen, was sie versucht hätte, und beschreibt jeden Schritt detailliert. Standardwert:true
.Typ: Boolesch
Zulässige Werte:
true|false
-
Erstellen AMIBackup (optional):
Beschreibung: (Optional) Wenn auf eingestellt
true
, ein AMI der EC2 Amazon-Instance wird erstellt, bevor die Eindämmungsmaßnahmen durchgeführt werden.Typ: Boolesch
Zulässige Werte:
true|false
-
KmsKey (Fakultativ):
Beschreibung: (Optional) Die ID des AWS KMS Schlüssels, der zur Erstellung eines verschlüsselten Schlüssels verwendet wird AMI der EC2 Amazon-Zielinstanz. Die Standardeinstellung ist auf eingestellt
alias/aws/ebs
.Typ: Zeichenfolge
Zulässiges Muster:
^(((arn:(aws|aws-cn|aws-us-gov):kms:([a-z]{2}|[a-z]{2}-gov)-[a-z]+-[0-9]{1}:[0-9]{12}:key/)?([a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}|mrk-[a-f0-9]{32}))|(arn:(aws|aws-cn|aws-us-gov):kms:([a-z]{2}|[a-z]{2}-gov)-[a-z]+-[0-9]{1}:[0-9]{12}:)?alias/.{1,})$
-
Backups 3 BucketName (bedingt):
Beschreibung: (Bedingt) Amazon Amazon S3 S3-Bucket, um die Konfiguration hochzuladen, wenn sie
Action
ist,Contain
oder um die Konfiguration wiederherzustellen, wenn sieAction
istRelease
. Hinweis: Wenn der angegebene Bucket nicht im Konto vorhanden ist, erstellt die Automatisierung in Ihrem Namen einen Amazon S3 S3-Bucket.Typ:
AWS::S3::Bucket::Name
-
TagIdentifier (Optional):
Beschreibung: (Optional) Ein Tag in dem Format
Key=BatchId,Value=78925
, das den AWS Ressourcen hinzugefügt wird, die von diesem Runbook während des Containment-Workflows erstellt oder geändert wurden. Dieses Tag kann verwendet werden, um Ressourcen zu identifizieren und zu verwalten, die während des Containment-Prozesses verknüpft wurden. Während des Wiederherstellungs-Workflows wird das durch diesen Parameter angegebene Tag aus den Ressourcen entfernt. Hinweis: Bei Tag-Schlüsseln und -Werten wird zwischen Groß- und Kleinschreibung unterschieden.Typ: Zeichenfolge
Zulässiges Muster:
^$|^[Kk][Ee][Yy]=[\\+\\-\\=\\.\\_\\:\\/@a-zA-Z0-9]{1,128},[Vv][Aa][Ll][Uu][Ee]=[\\+\\-\\=\\.\\_\\:\\/@a-zA-Z0-9]{0,128}$
-
Backups 3 BucketAccess (bedingt):
Beschreibung: (Bedingt) Der ARN der IAM-Benutzer oder -Rollen, denen nach der Ausführung der Containment-Aktionen Zugriff auf den Amazon S3 S3-Backup-Backup gewährt wird. Dieser Parameter ist erforderlich, wenn er
Action
ist.Contain
Der oder in dessen Abwesenheit der BenutzerAutomationAssumeRole
, in dessen Kontext die Automatisierung ausgeführt wird, wird automatisch zur Liste hinzugefügt.Typ: Zeichenfolge
Zulässiges Muster:
^$|^arn:(aws|aws-cn|aws-us-gov|aws-iso(-[a-z])?):iam::[0-9]{12}:(role|user)\\/[\\w+\\/=,.@-]+$
-
IngressTrafficRules (Fakultativ):
Beschreibung: (Optional) Eine durch Kommas getrennte Zuordnung von Sicherheitsgruppeneingangsregeln mit Cidr,, FromPort und ToPort in dem Format IpProtocol, das auf die Amazon-Instance angewendet werden
[{"Cidr": "1.2.3.4/32", "IpProtocol": "tcp", "FromPort":"22", "ToPort":"22"}]
soll. EC2 Wenn keine Regeln angegeben werden, wird eine Sicherheitsgruppe ohne Eingangsregeln an die EC2 Amazon-Instance angehängt, wodurch sie effektiv von eingehendem Datenverkehr isoliert wird.Typ: MapList
Zulässiges Muster:
^\\{\\}$|^\\{\"Cidr\":\"[\\x00-\\x7F+]{1,128}\",\"IpProtocol\":\"[\\x00-\\x7F+]{1,128}\",\"FromPort\":\"[\\x00-\\x7F+]{1,128}\",\"ToPort\":\"[\\x00-\\x7F+]{0,255}\"\\}
-
EgressTrafficRules (Fakultativ):
Beschreibung: (Optional) Eine durch Kommas getrennte Zuordnung der Ausgangsregeln für Sicherheitsgruppen mit Cidr,, FromPort und ToPort in dem Format IpProtocol, das auf die Amazon-Amazon-Instance angewendet werden
[{"Cidr": "1.2.3.4/32", "IpProtocol": "tcp", "FromPort":"22", "ToPort":"22"}]
soll. EC2 Wenn keine Regeln angegeben werden, wird eine Sicherheitsgruppe ohne Ausgangsregeln an die EC2 Amazon-Instance angehängt, wodurch der gesamte ausgehende Datenverkehr effektiv verhindert wird.Typ: MapList
Zulässiges Muster:
^\\{\\}$|^\\{\"Cidr\":\"[\\x00-\\x7F+]{1,128}\",\"IpProtocol\":\"[\\x00-\\x7F+]{1,128}\",\"FromPort\":\"[\\x00-\\x7F+]{1,128}\",\"ToPort\":\"[\\x00-\\x7F+]{0,255}\"\\}
-
Backups 3 KeyName (optional):
Beschreibung: (Optional) Wenn auf gesetzt
Action
istRestore
, gibt dies den Amazon S3 S3-Schlüssel an, mit dem die Automatisierung versucht, die EC2 Amazon-Instance-Zielkonfiguration wiederherzustellen. Der Amazon S3 S3-Schlüssel folgt normalerweise diesem Format:{year}/{month}/{day}/{hour}/{minute}/{automation_execution_id}.json
. Der Schlüssel kann aus der Ausgabe einer früheren Ausführung der Containment-Automatisierung abgerufen werden.Typ: Zeichenfolge
Zulässiges Muster:
^[a-zA-Z0-9\\.\\-_\\\\!*'()/]{0,1024}$
-
-
Wählen Sie Ausführen aus.
-
Die Automatisierung wird initiiert.
-
Das Dokument führt die folgenden Schritte aus:
-
ValidateRequiredInputs
Überprüft, ob alle erforderlichen Eingaben bereitgestellt wurden.
-
AssertInstanceIsNotTerminated
Prüft, ob die EC2 Amazon-Zielinstanz nicht beendet (gelöscht) ist.
-
GetAutoScalingInstanceInfo
Ruft den EC2 Amazon-Instance-Lebenszyklus und den Gruppennamen ab, wenn die EC2 Amazon-Ziel-Instance Teil einer Auto Scaling Scaling-Gruppe ist.
-
CheckBackupS3BucketName
Prüft, ob der Amazon S3 S3-Ziel-Bucket möglicherweise
write
öffentlichen Zugriff auf seine Objekte gewährtread
. Ein neuer Amazon S3 S3-Bucket wird erstellt, falls derBackupS3BucketName
Bucket nicht existiert. -
BranchOnActionAndMode
Verzweigt die Automatisierung auf der Grundlage der Eingabeparameter
Action
undDryRun
. -
BranchOnAutoScalingGroupMembership
Verzweigt die Automatisierung auf der Grundlage, ob die EC2 Amazon-Zielinstanz Teil der Auto Scaling Scaling-Gruppe ist und welchen Lebenszyklusstatus sie hat.
-
DescribeAutoScalingGroups
Ruft die zugehörige Amazon EC2 Auto Scaling Scaling-Gruppenkonfiguration ab und speichert sie.
-
ModifyAutoScalingGroup
Ändert die zugehörige Amazon EC2 Auto Scaling Scaling-Gruppenkonfiguration für die Containment-Aktionen, setzt die EC2 Amazon-Instance auf den
Standby
Status und passt die Auto ScalingMinSize
Scaling-Gruppenkapazität an. -
BackupInstanceSecurityGroups
Ruft die Konfiguration der Amazon EC2 Instance-Zielsicherheitsgruppen ab und speichert sie.
-
CreateAllAccessSecurityGroup
Erstellt eine temporäre Sicherheitsgruppe, die den gesamten eingehenden Datenverkehr zulässt und die Sicherheitsgruppen der EC2 Amazon-Zielinstanz ersetzt.
-
CreateContainmentSecurityGroup
Erstellt eine restriktive Sicherheitsgruppe mit den angegebenen Eingangs- und Ausgangsregeln und ersetzt die temporäre All-Access-Gruppe durch diese.
-
BranchOnCreateAMIBackup
Verzweigt die Automatisierung auf der Grundlage des Eingabeparameters.
CreateAMIBackup
-
AssertSourceInstanceRootVolumeIsEbs
Prüft, ob das Ziel-Root-Volume der Amazon EC2 Instance Amazon EBS ist.
-
CreateImage
Erzeugt ein AMI der EC2 Amazon-Zielinstanz.
-
RestoreInstanceConfiguration
Stellt die EC2 Amazon-Instance-Zielkonfiguration aus dem Backup wieder her.
-
ReportContain
Gibt Testlaufdetails für die Eindämmungsmaßnahmen aus.
-
ReportRestore
Gibt Details zum Probelauf für die Wiederherstellungsmaßnahmen aus.
-
ReportRestoreFailure
Enthält Anweisungen zum Wiederherstellen der ursprünglichen Konfiguration der EC2 Amazon-Instance der Zielinstanz während eines Ausfallszenarios für den Wiederherstellungs-Workflow.
-
ReportContainmentFailure
Enthält Anweisungen zur Wiederherstellung der ursprünglichen Zielkonfiguration der EC2 Amazon-Instance während eines Ausfallszenarios für den Containment-Workflow.
-
FinalOutput
Gibt die Details der Eindämmungsmaßnahmen aus.
-
-
Nach Abschluss der Ausführung finden Sie im Abschnitt Ausgaben die detaillierten Ergebnisse der Ausführung:
-
FinalOutput. Ausgabe
Gibt die Details der von diesem Runbook ausgeführten Containment-Aktionen aus, wenn diese Option auf False gesetzt
DryRun
ist. -
RestoreInstanceConfiguration. Ausgabe
Gibt die von diesem Runbook ausgeführten Wiederherstellungsaktionen aus, wenn der Wert auf
DryRun
False gesetzt ist. -
ReportContain. Ausgabe
Gibt die Details der von diesem Runbook ausgeführten Containment-Aktionen aus, wenn diese Option auf True gesetzt
DryRun
ist. -
ReportRestore.Ausgabe
Gibt die Details der von diesem Runbook ausgeführten Wiederherstellungsaktionen aus, wenn der Wert auf
DryRun
True gesetzt ist. -
ReportContainmentFailure.Ausgabe
Enthält Anweisungen zur Wiederherstellung der ursprünglichen Zielkonfiguration der EC2 Amazon-Instance während eines Ausfallszenarios für den Containment-Workflow.
-
ReportRestoreFailure. Ausgabe
Enthält Anweisungen zum Wiederherstellen der ursprünglichen Konfiguration der EC2 Amazon-Instance der Zielinstanz während eines Ausfallszenarios für den Wiederherstellungs-Workflow.
-
Referenzen
Systems Manager Automation