Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
AWSSupport-ContainEC2Instance
Description
Le AWSSupport-ContainEC2Instance runbook fournit une solution automatisée pour la procédure décrite dans l'article Comment isoler l'instance Amazon EC2 face à une instance potentiellement compromise
Fonctionnement
Ce manuel d'automatisation AWSSupport-ContainEC2Instance assure le confinement du réseau d'une instance Amazon EC2 par le biais d'une série d'étapes coordonnées. Lorsqu'il est exécuté en Contain mode, il valide d'abord les paramètres d'entrée et vérifie si l'instance n'est pas terminée. Il sauvegarde ensuite la configuration actuelle du groupe de sécurité dans un compartiment Amazon S3 pour une restauration ultérieure. Le runbook crée deux groupes de sécurité : un groupe de sécurité temporaire « tous accès » et un groupe de sécurité « de confinement » final. Il fait passer progressivement les interfaces réseau de l'instance de leurs groupes de sécurité d'origine au groupe de sécurité à accès complet, puis au groupe de sécurité de confinement. Si cela est spécifié, il crée des AMI sauvegardes chiffrées et non chiffrées de l'instance. Pour les instances d'un groupe Auto Scaling, il gère les modifications nécessaires au groupe Auto Scaling et met l'instance en état de veille. Lorsqu'il est exécuté en Release mode, il restaure la configuration réseau d'origine de l'instance à l'aide des paramètres sauvegardés d'Amazon S3. Le runbook prend en charge un DryRun paramètre permettant de prévisualiser les actions sans apporter de modifications réelles, et inclut des mécanismes complets de gestion des erreurs et de signalement tout au long des flux de travail de confinement et de publication.
Important
-
Ce runbook effectue diverses opérations qui nécessitent des privilèges élevés, telles que la modification de groupes de sécurité, la création de AMI s et l'interaction avec les groupes Auto Scaling. Ces actions peuvent potentiellement entraîner une augmentation des privilèges ou avoir un impact sur d'autres charges de travail de votre compte. Vous devez vérifier les autorisations accordées au rôle spécifié par le
AutomationAssumeRoleparamètre et vous assurer qu'elles sont adaptées au cas d'utilisation prévu. Vous pouvez consulter la AWS documentation suivante pour plus d'informations sur les autorisations IAM :Gestion des identités et des accès AWS (IAM) PermissionsAWS Systems Manager Automation Permissions. -
Ce runbook exécute des actions mutatives susceptibles d'entraîner une indisponibilité ou une interruption de vos charges de travail. Plus précisément, il modifie les groupes de sécurité associés à l'instance Amazon EC2 cible, ce qui peut avoir un impact sur la connectivité réseau. De plus, si l'instance fait partie d'un groupe Auto Scaling, le runbook peut modifier la configuration du groupe, ce qui peut affecter son comportement de dimensionnement.
-
Au cours du processus de confinement, ce runbook crée des ressources supplémentaires, telles que des groupes de sécurité et AMI des. Bien que ces ressources soient étiquetées à des fins d'identification, vous devez être conscient de leur création et veiller à ce qu'elles soient nettoyées ou gérées correctement une fois le processus de confinement terminé.
-
Si le
Actionparamètre est défini surRelease, ce runbook tente de restaurer la configuration d'origine de l'instance Amazon EC2. Cependant, le processus de restauration risque d'échouer et de laisser l'instance dans un état incohérent. Le manuel d'exécution fournit des instructions pour la restauration manuelle en cas de telles défaillances, mais vous devez être prêt à gérer les problèmes potentiels pendant le processus de restauration.
Il est recommandé de lire attentivement le runbook, de comprendre ses impacts potentiels et de le tester dans un environnement hors production avant de l'exécuter dans votre environnement de production.
Exécuter cette automatisation (console)
Type de document
Automatisation
Propriétaire
Amazon
Plateformes
/
Autorisations IAM requises
Le AutomationAssumeRole paramètre nécessite les actions suivantes pour utiliser correctement le runbook.
-
mise à l'échelle automatique : CreateOrUpdateTags
-
mise à l'échelle automatique : DeleteTags
-
mise à l'échelle automatique : DescribeAutoScalingGroups
-
mise à l'échelle automatique : DescribeAutoScalingInstances
-
mise à l'échelle automatique : DescribeTags
-
mise à l'échelle automatique : EnterStandby
-
mise à l'échelle automatique : ExitStandby
-
mise à l'échelle automatique : 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
Exemple de politique :
Instructions
Pour configurer l'automatisation, procédez comme suit :
-
Accédez
AWSSupport-ContainEC2Instanceà Systems Manager sous Documents. -
Sélectionnez Execute automation (Exécuter l'automatisation).
-
Pour les paramètres d'entrée, entrez ce qui suit :
-
AutomationAssumeRole (Facultatif) :
-
Description : (Facultatif) Le nom de ressource Amazon (ARN) du rôle AWS Gestion des identités et des accès AWS (IAM) qui permet à Systems Manager Automation d'effectuer les actions en votre nom. Si aucun rôle n'est spécifié, Systems Manager Automation utilise les autorisations de l'utilisateur qui lance ce runbook.
-
Type :
AWS::IAM::Role::Arn
-
-
Action (obligatoire) :
-
Description : (Obligatoire) Sélectionnez
Containcette option pour isoler l'instance Amazon EC2 ouRestorepour essayer de restaurer la configuration d'origine de l'instance Amazon EC2 à partir d'une sauvegarde précédente. -
Type : Chaîne
-
Modèle autorisé :
Contain|Restore
-
-
DryRun (Facultatif) :
-
Description : (Facultatif) Lorsqu'elle est définie sur
true, l'automatisation n'exécute aucune commande. Elle indique plutôt ce qu'elle aurait tenté de faire, en détaillant chaque étape. Valeur par défaut :true. -
Type : Boolean
-
Valeurs autorisées :
true|false
-
-
Créer AMIBackup (facultatif) :
-
Description : (Facultatif) Lorsque ce paramètre est défini sur
true, l'une AMI des instances Amazon EC2 sera créée avant d'effectuer les actions de confinement. -
Type : Boolean
-
Valeurs autorisées :
true|false
-
-
KmsKey (Facultatif) :
-
Description : (Facultatif) L'ID de la AWS KMS clé qui sera utilisée pour créer une instance Amazon EC2 cible chiffréeAMI. La valeur par défaut est définie sur
alias/aws/ebs. -
Type : Chaîne
-
Modèle autorisé :
^(((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,})$
-
-
BackupS3 BucketName (conditionnel) :
-
Description : compartiment Amazon Amazon S3 (conditionnel) pour télécharger la configuration quand elle
ActionestContainou pour restaurer la configuration quand elleActionestRelease. Remarque : si le compartiment fourni n'existe pas dans le compte, l'automatisation créera un compartiment Amazon S3 en votre nom. -
Type :
AWS::S3::Bucket::Name
-
-
TagIdentifier (Facultatif) :
-
Description : (Facultatif) Une balise au format
Key=BatchId,Value=78925qui sera ajoutée aux AWS ressources créées ou modifiées par ce runbook pendant le flux de travail de confinement. Cette balise peut être utilisée pour identifier et gérer les ressources associées au cours du processus de confinement. Au cours du processus de restauration, la balise spécifiée par ce paramètre sera supprimée des ressources. Remarque : les clés et les valeurs des balises distinguent les majuscules et minuscules. -
Type : Chaîne
-
Modèle autorisé :
^$|^[Kk][Ee][Yy]=[\\+\\-\\=\\.\\_\\:\\/@a-zA-Z0-9]{1,128},[Vv][Aa][Ll][Uu][Ee]=[\\+\\-\\=\\.\\_\\:\\/@a-zA-Z0-9]{0,128}$
-
-
BackupS3 BucketAccess (conditionnel) :
-
Description : (Conditionnel) L'ARN des utilisateurs ou des rôles IAM qui seront autorisés à accéder au compartiment Amazon S3 de sauvegarde après avoir exécuté les actions de confinement. Ce paramètre est obligatoire quand c'
Actionest le casContain. L'utilisateur ouAutomationAssumeRole, en son absence, l'utilisateur dans le contexte duquel l'automatisation est exécutée est automatiquement ajouté à la liste. -
Type : Chaîne
-
Modèle autorisé :
^$|^arn:(aws|aws-cn|aws-us-gov|aws-iso(-[a-z])?):iam::[0-9]{12}:(role|user)\\/[\\w+\\/=,.@-]+$
-
-
IngressTrafficRules (Facultatif) :
-
Description : (Facultatif) Carte séparée par des virgules des règles d'entrée des groupes de sécurité avec CIDR FromPort et ToPort au format
[{"Cidr": "1.2.3.4/32", "IpProtocol": "tcp", "FromPort":"22", "ToPort":"22"}]à appliquer à l'instance Amazon EC2. IpProtocol Si aucune règle n'est fournie, un groupe de sécurité sans règles d'entrée sera attaché à l'instance Amazon EC2, l'isolant ainsi de tout trafic entrant. -
Type : MapList
-
Modèle autorisé :
^\\{\\}$|^\\{\"Cidr\":\"[\\x00-\\x7F+]{1,128}\",\"IpProtocol\":\"[\\x00-\\x7F+]{1,128}\",\"FromPort\":\"[\\x00-\\x7F+]{1,128}\",\"ToPort\":\"[\\x00-\\x7F+]{0,255}\"\\}
-
-
EgressTrafficRules (Facultatif) :
-
Description : (Facultatif) Carte séparée par des virgules des règles de sortie des groupes de sécurité avec CIDR FromPort et ToPort au format
[{"Cidr": "1.2.3.4/32", "IpProtocol": "tcp", "FromPort":"22", "ToPort":"22"}]à appliquer à l'instance Amazon EC2. IpProtocol Si aucune règle n'est fournie, un groupe de sécurité sans règles de sortie sera attaché à l'instance Amazon EC2, empêchant ainsi tout trafic sortant. -
Type : MapList
-
Modèle autorisé :
^\\{\\}$|^\\{\"Cidr\":\"[\\x00-\\x7F+]{1,128}\",\"IpProtocol\":\"[\\x00-\\x7F+]{1,128}\",\"FromPort\":\"[\\x00-\\x7F+]{1,128}\",\"ToPort\":\"[\\x00-\\x7F+]{0,255}\"\\}
-
-
BackupS3 KeyName (facultatif) :
-
Description : (Facultatif) Si ce paramètre
Actionest défini surRestore, cela indique la clé Amazon S3 que l'automatisation utilisera pour tenter de restaurer la configuration de l'instance Amazon EC2 cible. La clé Amazon S3 suit généralement ce format :{year}/{month}/{day}/{hour}/{minute}/{automation_execution_id}.json. La clé peut être obtenue à partir de la sortie d'une précédente exécution d'automatisation du confinement. -
Type : Chaîne
-
Modèle autorisé :
^[a-zA-Z0-9\\.\\-_\\\\!*'()/]{0,1024}$
-
-
-
Sélectionnez Exécuter.
-
L'automatisation démarre.
-
Le document exécute les étapes suivantes :
-
ValidateRequiredInputs
Valide que toutes les entrées requises sont fournies.
-
AssertInstanceIsNotTerminated
Vérifie si l'instance Amazon EC2 cible n'est pas terminée (supprimée).
-
GetAutoScalingInstanceInfo
Obtient le cycle de vie de l'instance Amazon EC2 et le nom du groupe si l'instance Amazon EC2 cible fait partie d'un groupe Auto Scaling.
-
CheckBackupS3BucketName
Vérifie si le compartiment Amazon S3 cible accorde potentiellement un accès
writepublicreadou accorde un accès public à ses objets. Un nouveau compartiment Amazon S3 est créé s'BackupS3BucketNameil n'existe pas. -
BranchOnActionAndMode
Branche l'automatisation en fonction des paramètres d'entrée
ActionetDryRun. -
BranchOnAutoScalingGroupMembership
Branche l'automatisation en fonction de l'appartenance de l'instance Amazon EC2 cible au groupe Auto Scaling et de son état de cycle de vie.
-
DescribeAutoScalingGroups
Obtient et stocke la configuration du groupe Amazon EC2 Auto Scaling associée.
-
ModifyAutoScalingGroup
Modifie la configuration du groupe Amazon EC2 Auto Scaling associé pour les actions de confinement, en réglant l'état de l'instance Amazon EC2 et en ajustant
Standbyla capacité du groupe Auto Scaling.MinSize -
BackupInstanceSecurityGroups
Obtient et stocke la configuration des groupes de sécurité des instances Amazon EC2 cibles.
-
CreateAllAccessSecurityGroup
Crée un groupe de sécurité temporaire autorisant tout le trafic entrant qui remplace les groupes de sécurité de l'instance Amazon EC2 cible.
-
CreateContainmentSecurityGroup
Crée un groupe de sécurité de confinement restrictif avec les règles d'entrée et de sortie spécifiées, et remplace le groupe temporaire à accès illimité par celui-ci.
-
BranchOnCreateAMIBackup
Branche l'automatisation en fonction du paramètre
CreateAMIBackupd'entrée. -
AssertSourceInstanceRootVolumeIsEbs
Vérifie si le volume racine de l'instance Amazon EC2 cible est Amazon EBS.
-
CreateImage
Crée AMI l'une des instances Amazon EC2 cibles.
-
RestoreInstanceConfiguration
Restaure la configuration de l'instance Amazon EC2 cible à partir de la sauvegarde.
-
ReportContain
Affiche les détails du cycle à sec pour les actions de confinement.
-
ReportRestore
Affiche les détails du fonctionnement à sec pour les actions de restauration.
-
ReportRestoreFailure
Fournit des instructions pour restaurer la configuration d'origine de l'instance Amazon EC2 cible lors d'un scénario d'échec du flux de restauration.
-
ReportContainmentFailure
Fournit des instructions pour restaurer la configuration initiale de l'instance Amazon EC2 cible lors d'un scénario d'échec du flux de travail de confinement.
-
FinalOutput
Affiche les détails des actions de confinement.
-
-
Une fois l'exécution terminée, consultez la section Sorties pour obtenir les résultats détaillés de l'exécution :
-
FinalOutput.Sortie
Affiche les détails des actions de confinement effectuées par ce runbook lorsqu'il
DryRunest défini sur False. -
RestoreInstanceConfiguration.Sortie
Affiche les actions de restauration effectuées par ce runbook lorsqu'il
DryRunest défini sur False. -
ReportContain.Sortie
Affiche les détails des actions de confinement effectuées par ce runbook lorsqu'il
DryRunest défini sur True. -
ReportRestore.Sortie
Affiche les détails des actions de restauration effectuées par ce runbook lorsqu'il
DryRunest défini sur True. -
ReportContainmentFailure.Sortie
Fournit des instructions pour restaurer la configuration initiale de l'instance Amazon EC2 cible lors d'un scénario d'échec du flux de travail de confinement.
-
ReportRestoreFailure.Sortie
Fournit des instructions pour restaurer la configuration d'origine de l'instance Amazon EC2 cible lors d'un scénario d'échec du flux de restauration.
-
Références
Systems Manager Automation