Surveillez les paires de clés d'EC2instance à l'aide de AWS Config - Recommandations AWS

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.

Surveillez les paires de clés d'EC2instance à l'aide de AWS Config

Créé par Wassim Benhallam (AWS), Sergio Bilbao Lopez (AWS) et Vikrant Telkar () AWS

Environnement : Production

Technologies : sécurité, identité, conformité

AWSservices : Amazon SNS ; AWS Config ; AWS Lambda

Récapitulatif

Lors du lancement d'une instance Amazon Elastic Compute Cloud (AmazonEC2) sur le cloud Amazon Web Services (AWS), il est recommandé de créer ou d'utiliser une paire de clés existante pour se connecter à l'instance. La paire de clés, composée d'une clé publique stockée dans l'instance et d'une clé privée fournie à l'utilisateur, permet un accès sécurisé via Secure Shell (SSH) à l'instance et évite l'utilisation de mots de passe. Cependant, les utilisateurs peuvent parfois lancer des instances par inadvertance sans attacher de paire de clés. Les paires de clés ne pouvant être attribuées que lors du lancement d'une instance, il est important d'identifier rapidement et de signaler comme non conforme les instances lancées sans paires de clés. Cela est particulièrement utile lorsque vous travaillez dans des comptes ou des environnements qui nécessitent l'utilisation de paires de clés, par exemple l'accès.

Ce modèle décrit comment créer une règle personnalisée dans AWS Config pour surveiller les paires de clés d'EC2instance. Lorsque des instances sont identifiées comme non conformes, une alerte est envoyée à l'aide de notifications Amazon Simple Notification Service (AmazonSNS) initiées par le biais d'un EventBridge événement Amazon.

Conditions préalables et limitations

Prérequis

  • Un AWS compte actif

  • AWSConfig activée pour la AWS région que vous souhaitez surveiller et configurée pour enregistrer toutes les AWS ressources

Limites

  • Cette solution est spécifique à chaque région. Toutes les ressources doivent être créées dans la même AWS région.

Architecture

Pile technologique cible

  • AWSConfig

  • Amazon EventBridge

  • AWSLambda

  • Amazon SNS

Architecture cible

Diagram showing Services AWS interaction: Config, Custom rule, Lambda, EventBridge, SNS, and Email notification.
  1. AWSConfig initie la règle.

  2. La règle invoque la fonction Lambda pour évaluer la conformité EC2 des instances.

  3. La fonction Lambda envoie l'état de conformité mis à jour à ConfigAWS.

  4. AWSConfig envoie un événement à EventBridge.

  5. EventBridge publie des notifications de modification de conformité dans une SNS rubrique.

  6. Amazon SNS envoie une alerte par e-mail.

Automatisation et mise à l'échelle

La solution peut surveiller un nombre illimité d'EC2instances au sein d'une région.

Outils

Outils

  • AWSConfig — AWS Config est un service qui vous permet d'évaluer, d'auditer et d'évaluer les configurations de vos AWS ressources. AWSConfig surveille et enregistre en permanence les configurations de vos AWS ressources et vous permet d'automatiser l'évaluation des configurations enregistrées par rapport aux configurations souhaitées.

  • Amazon EventBridge — Amazon EventBridge est un service de bus d'événements sans serveur permettant de connecter vos applications à des données provenant de diverses sources.

  • AWSLambda — AWS Lambda est un service de calcul sans serveur qui prend en charge l'exécution de code sans provisionner ni gérer de serveurs, créer une logique de dimensionnement des clusters adaptée à la charge de travail, gérer les intégrations d'événements ou gérer les temps d'exécution.

  • Amazon SNS — Amazon Simple Notification Service (AmazonSNS) est un service de messagerie entièrement géré pour les communications application-to-application (A2A) et application-to-person (A2P).

Code

Le code de la fonction Lambda est joint. 

Épopées

TâcheDescriptionCompétences requises
Créez un rôle AWS Identity and Access Management (IAM) pour Lambda.

Sur la console AWS de gestion, choisissez IAM, puis créez le rôle, en utilisant Lambda comme entité de confiance et en ajoutant les autorisations AmazonEventBridgeFullAccess etAWSConfigRulesExecutionRole. Pour plus d'informations, consultez la AWSdocumentation.

DevOps
Créez et déployez la fonction Lambda.
  1. Sur la console Lambda, créez une fonction en utilisant Author from scratch, avec Python 3.6 comme moteur d'exécution et le rôle créé IAM précédemment. Notez le nom de la ressource Amazon (ARN).

  2. Dans l'onglet Codelambda_function.py, choisissez et collez le code associé à ce modèle. 

  3. Pour enregistrer vos modifications, choisissez Déployer

DevOps
TâcheDescriptionCompétences requises
Ajoutez une règle AWS Config personnalisée.

Sur la console AWS Config, ajoutez une règle personnalisée à l'aide des paramètres suivants :

  • ARN— Le ARN de la fonction Lambda créée précédemment

  • Type de déclencheur : modifications de configuration

  • Portée des modifications — Ressources

  • Type de ressource : EC2 instance Amazon

Pour plus d'informations, consultez la AWSdocumentation.

DevOps
TâcheDescriptionCompétences requises
Créez le SNS sujet et l'abonnement.

Sur la SNS console Amazon, créez un sujet en utilisant le type Standard, puis créez un abonnement en utilisant le protocole Email comme protocole.

Lorsque vous recevez le message électronique de confirmation, cliquez sur le lien pour confirmer l'abonnement.

Pour plus d'informations, consultez la AWSdocumentation.

DevOps
Créez une EventBridge règle pour lancer SNS les notifications Amazon.

Sur la EventBridge console, créez une règle à l'aide des paramètres suivants :

  • Nom du service — AWS Config

  • Type d'événement : modification de la conformité aux règles de configuration

  • Type de message : types de messages spécifiques, ComplianceChangeNotification

  • Nom de règle spécifique : nom de votre règle AWS Config créée précédemment

  • Cible — SNS sujet, sujet que vous avez créé précédemment

Pour plus d'informations, consultez la AWSdocumentation.

DevOps
TâcheDescriptionCompétences requises
Créez des EC2 instances.

Créez deux EC2 instances de n'importe quel type et attachez une paire de clés, puis créez une EC2 instance sans paire de clés.

DevOps
Vérifiez la règle.
  1. Sur la console AWS Config, sur la page Règles, sélectionnez votre règle.

  2. Pour voir les EC2 instances conformes et non conformes, remplacez Resources in scope par All. Vérifiez que deux instances sont répertoriées comme conformes et qu'une instance est répertoriée comme non conforme. 

  3. Attendez de recevoir la notification SNS par e-mail d'Amazon concernant l'état de conformité des EC2 instances. 

DevOps

Pièces jointes

Pour accéder au contenu supplémentaire associé à ce document, décompressez le fichier suivant : attachment.zip