Assurez-vous que les AWS équilibreurs de charge utilisent des protocoles d'écoute sécurisés (HTTPS,SSL/) TLS - 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.

Assurez-vous que les AWS équilibreurs de charge utilisent des protocoles d'écoute sécurisés (HTTPS,SSL/) TLS

Créé par Chandini Penmetsa (AWS) et Purushotham G (K) AWS

Environnement : Production

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

Charge de travail : toutes les autres charges de travail

AWSservices : Amazon SNS ; Amazon AWS CloudFormation ; AWS Lambda CloudWatch ; Elastic Load Balancing () ELB

Récapitulatif

Sur le cloud Amazon Web Services (AWS), Elastic Load Balancing distribue automatiquement le trafic applicatif entrant sur plusieurs cibles, telles que les instances Amazon Elastic Compute Cloud (AmazonEC2), les conteneurs, les adresses IP et les fonctions AWS Lambda. Les équilibreurs de charge utilisent des écouteurs pour définir les ports et les protocoles utilisés par l'équilibreur de charge pour accepter le trafic provenant des utilisateurs. Les équilibreurs de charge d'application prennent les décisions de routage au niveau de la couche application et utilisent leHTTP/HTTPS protocols. Network Load Balancers make routing decisions at the transport layer and use the Transmission Control Protocol (TCP), Transport Layer Security (TLS), User Datagram Protcol (UDP), or TCP_UDP protocols. Classic Load Balancers make routing decisions at either the transport layer, using TCP or Secure Sockets Layer (SSL) protocols, or at the application layer, using HTTP/HTTPS.

Votre entreprise a peut-être une exigence de sécurité ou de conformité selon laquelle les équilibreurs de charge n'acceptent le trafic provenant des utilisateurs que sur des protocoles sécurisés, tels que HTTPS ouSSL/TLS.

Ce modèle fournit un contrôle de sécurité qui utilise une EventBridge règle Amazon pour surveiller les équilibreurs de charge d'application CreateListener et les équilibreurs de charge réseau, et les ModifyListener API appels et les CreateLoadBalancer API appels CreateLoadBalancerListeners et pour les équilibreurs de charge classiques. Si HTTPTCP/UDPou TCP _ UDP est utilisé pour le protocole d'écoute de l'équilibreur de charge, le contrôle invoque une fonction Lambda. La fonction Lambda publie un message dans une rubrique Amazon Simple Notification Service SNS (Amazon) pour envoyer une notification contenant les détails de l'équilibreur de charge.

Conditions préalables et limitations

Prérequis

  • Un AWS compte actif

  • Adresse e-mail à laquelle vous souhaitez recevoir la notification de violation

  • Un bucket Amazon Simple Storage Service (Amazon S3) pour stocker le fichier .zip du code Lambda

Limites

  • Ce contrôle de sécurité ne vérifie pas les équilibreurs de charge existants à moins qu'une mise à jour ne soit apportée aux écouteurs des équilibreurs de charge.

  • Ce contrôle de sécurité est régional et doit être déployé dans les AWS régions que vous avez l'intention de surveiller.

Architecture

Pile technologique cible

  • Fonction Lambda

  • SNSRubrique Amazon

  • EventBridge règle

Architecture cible

EventBridge Règle qui surveille les API appels de l'équilibreur de charge et lance une notification AmazonSNS.

Automatisation et mise à l'échelle

  • Si vous utilisez AWS Organizations, vous pouvez utiliser AWSCloudformation StackSets pour déployer ce modèle sur plusieurs comptes que vous souhaitez qu'il surveille.

Outils

  • AWS CloudFormation— AWS CloudFormation est un service qui vous aide à modéliser et à configurer AWS des ressources en utilisant l'infrastructure sous forme de code.

  • Amazon EventBridge — Amazon EventBridge fournit un flux de données en temps réel à partir de vos propres applications, applications logicielles en tant que service (SaaS) et AWS services, en acheminant ces données vers des cibles telles que les fonctions Lambda.

  • AWSLambda — Lambda prend en charge l'exécution de code sans provisionner ni gérer de serveurs.

  • Amazon S3 — Amazon Simple Storage Service (Amazon S3) est un service de stockage d'objets hautement évolutif qui peut être utilisé pour un large éventail de solutions de stockage, notamment les sites Web, les applications mobiles, les sauvegardes et les lacs de données.

  • Amazon SNS — Amazon Simple Notification Service (AmazonSNS) coordonne et gère la livraison ou l'envoi de messages entre les éditeurs et les clients, y compris les serveurs Web et les adresses e-mail. Les abonnés reçoivent tous les messages publiés dans les rubriques auxquelles ils sont abonnés, et tous les abonnés à une rubrique reçoivent les mêmes messages.

Bonnes pratiques

Assurez-vous que le SNS sujet utilisé n'est pas accessible au public. Pour plus d'informations, consultez la AWSdocumentation.

Épopées

TâcheDescriptionCompétences requises

Définissez le compartiment S3.

Sur la console Amazon S3, choisissez ou créez un compartiment S3 avec un nom unique qui ne contient pas de barres obliques en tête. Le nom d'un compartiment S3 est unique au monde et l'espace de noms est partagé par tous les AWS comptes. Votre compartiment S3 doit se trouver dans la même région que l'équilibreur de charge en cours d'évaluation.

Architecte du cloud

Téléchargez le code Lambda dans le compartiment S3.

Téléchargez le fichier .zip de code Lambda fourni dans la section « Pièces jointes » dans le compartiment S3 défini.

Architecte du cloud

Déployez le AWS CloudFormation modèle.

Sur la AWS CloudFormation console, dans la même AWS région que le compartiment S3, déployez le modèle fourni dans la section « Pièces jointes ». Dans l'épopée suivante, indiquez les valeurs des paramètres.

Architecte du cloud
TâcheDescriptionCompétences requises

Nommez le compartiment S3.

Entrez le nom du compartiment S3 que vous avez créé dans le premier épisode épique.

Architecte du cloud

Indiquez le préfixe Amazon S3.

Indiquez l'emplacement du fichier .zip de code Lambda dans votre compartiment S3, sans barres obliques (par exemple,). <directory>/<file-name>.zip

Architecte du cloud

Indiquez le SNS sujetARN.

Indiquez le SNS sujet Amazon Resource Name (ARN) si vous souhaitez utiliser un SNS sujet existant pour les notifications de violation. Pour créer un nouveau SNS sujet, conservez la valeur « as » None (valeur par défaut).

Architecte du cloud

Indiquez une adresse e-mail.

Indiquez une adresse e-mail active pour recevoir SNS les notifications Amazon.

Architecte du cloud

Définissez le niveau de journalisation.

Définissez le niveau et la fréquence de journalisation pour votre fonction Lambda. Infodésigne des messages d'information détaillés sur l'état d'avancement de l'application. Errordésigne les événements d'erreur susceptibles de permettre à l'application de continuer à fonctionner. Warningdésigne les situations potentiellement dangereuses.

Architecte du cloud
TâcheDescriptionCompétences requises

Téléchargez le modèle .

Téléchargez le CloudFormation modèle fourni dans la section Pièces jointes.

Architecte du cloud

Créez la pile.

Dans la même région que le compartiment S3, accédez à la console de CloudFormation service et déployez le modèle téléchargé. Reportez-vous à l'épopée précédente pour plus de détails sur les paramètres.

Architecte du cloud

Vérifiez les ressources.

Une fois la pile complètement créée, accédez à l'onglet Ressources et vérifiez les ressources. Le modèle créera les ressources suivantes :

  • EventBridge règle

  • Fonction Lambda

  • Rôle d'exécution Lambda

  • Autorisation d'appel Lambda

Architecte du cloud
TâcheDescriptionCompétences requises

Confirmez votre abonnement.

Lorsque le modèle est déployé avec succès, si un nouveau SNS sujet a été créé, un e-mail d'abonnement est envoyé à l'adresse e-mail fournie dans les paramètres. Vous devez confirmer cet abonnement par e-mail pour recevoir des notifications de violation.

Architecte du cloud

Résolution des problèmes

ProblèmeSolution

La création de la pile a échoué. Une erreur s'est produite pendant GetObject. Code d'erreur S3 : PermanentRedirect. Message d'erreur S3 : Le compartiment se trouve dans cette région : xx-xxxx-1. Veuillez utiliser cette région pour réessayer la demande.

Assurez-vous que la région du compartiment S3 et la région dans laquelle la pile est déployée sont identiques.

La création de la pile a échoué. Le paramètre d'exécution de python3.6 n'est plus pris en charge pour créer ou mettre à jour AWS des fonctions Lambda.

Mettez à jour le modèle téléchargé à la ligne 186 de la version 3.6 à 3.9 de Python.

Ressources connexes

Pièces jointes

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