Corriger les risques liés aux services Amazon ECS - AWS Security Hub

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.

Corriger les risques liés aux services Amazon ECS

AWS Security Hub peut générer des résultats d'exposition pour les services Amazon Elastic Container Service (Amazon ECS).

Le service Amazon ECS impliqué dans la découverte d'une exposition et ses informations d'identification sont répertoriés dans la section Ressources des détails de la recherche. Vous pouvez récupérer les détails de ces ressources sur la console Security Hub ou par programmation à l'aide GetFindingsV2de l'API Security Hub.

Après avoir identifié la ressource impliquée dans un constat d'exposition, vous pouvez supprimer la ressource si vous n'en avez pas besoin. La suppression d'une ressource non essentielle peut réduire votre profil d'exposition et vos AWS coûts. Si la ressource est essentielle, suivez ces étapes de correction recommandées pour atténuer le risque. Les sujets de remédiation sont divisés en fonction du type de trait.

Un seul résultat d'exposition contient des problèmes identifiés dans plusieurs rubriques de remédiation. À l'inverse, vous pouvez corriger une constatation d'exposition et en réduire le niveau de gravité en abordant un seul sujet de remédiation. Votre approche en matière de remédiation des risques dépend des exigences et des charges de travail de votre organisation.

Note

Les conseils de remédiation fournis dans cette rubrique peuvent nécessiter des consultations supplémentaires dans d'autres AWS ressources.

Caractéristiques de mauvaise configuration pour les services Amazon ECS

Voici les caractéristiques de mauvaise configuration des services Amazon ECS et les étapes de correction suggérées.

Le service Amazon ECS utilise une définition de tâche configurée avec des privilèges élevés

Les conteneurs Amazon ECS exécutés avec des privilèges élevés possèdent des fonctionnalités similaires à celles du système hôte, ce qui permet potentiellement d'accéder aux ressources de l'hôte et à d'autres conteneurs. Cette configuration augmente le risque qu'un conteneur compromis soit utilisé pour accéder à des ressources ou les modifier en dehors de sa portée prévue, ce qui peut entraîner une fuite du conteneur, un accès non autorisé à l'hôte sous-jacent et des violations affectant d'autres conteneurs sur le même hôte. Conformément aux principes de sécurité standard, il est AWS recommandé d'accorder le minimum de privilèges, ce qui signifie que vous n'accordez que les autorisations requises pour effectuer une tâche.

Vérifier et modifier la définition des tâches

Dans l'exposition, identifiez l'ARN de définition de la tâche. Ouvrez la définition de tâche dans la console Amazon ECS. Dans la définition de la tâche, recherchez l'indicateur privilégié défini sur true dans les définitions des conteneurs. Si le mode privilégié n'est pas requis, créez une nouvelle révision de définition de tâche sans l'indicateur privilégié. Si le mode privilégié est requis, envisagez de configurer le conteneur pour utiliser un système de fichiers en lecture seule afin d'empêcher les modifications non autorisées.

Le service Amazon ECS possède un conteneur qui peut assumer un rôle IAM

Les rôles IAM permettent aux tâches Amazon ECS d'accéder en toute sécurité à d'autres AWS services à l'aide d'informations d'identification temporaires. Des rôles d'exécution de tâches peuvent être requis pour les tâches Amazon ECS où le conteneur doit interagir avec d'autres AWS ressources. Bien que cela soit parfois nécessaire pour le fonctionnement du conteneur, des rôles mal configurés peuvent accorder des privilèges excessifs qui peuvent être exploités par des attaquants si un conteneur est compromis, ce qui peut permettre un accès non autorisé aux AWS ressources, le vol de données ou la modification non autorisée de votre infrastructure. Conformément aux principes de sécurité standard, AWS recommande de mettre en œuvre l'accès avec le moindre privilège et de revoir les rôles IAM associés à vos tâches Amazon ECS.

Passez en revue les rôles attachés

Accédez au tableau de bord IAM et sélectionnez le rôle identifié. Passez en revue la politique d'autorisation associée au rôle IAM. Si la tâche nécessite une interaction avec d'autres AWS services, conservez le rôle d'exécution de la tâche et envisagez d'appliquer des autorisations de moindre privilège. Sinon, créez une nouvelle révision de définition de tâche sans le rôle d'exécution.

Le service Amazon ECS utilise une définition de tâche qui permet aux conteneurs d'accéder aux systèmes de fichiers racine.

Les conteneurs Amazon ECS ayant accès au système de fichiers racine de l'hôte peuvent potentiellement lire, modifier ou exécuter des fichiers critiques sur le système hôte. Cette configuration augmente le risque qu'un conteneur compromis soit utilisé pour accéder à des ressources ou les modifier en dehors de sa portée prévue, exposant ainsi des données sensibles sur le système de fichiers hôte. Conformément aux principes de sécurité standard, il est AWS recommandé d'accorder le minimum de privilèges, ce qui signifie que vous n'accordez que les autorisations requises pour effectuer une tâche.

Vérifiez et modifiez les conteneurs avec accès au système de fichiers hôte

Dans le résultat d'exposition, identifiez l'ARN de définition de la tâche. Ouvrez la définition de tâche dans la console Amazon ECS. Recherchez la section sur les volumes dans la définition des tâches qui définit les mappages de chemins d'hôte. Passez en revue la définition de tâche pour déterminer si l'accès au système de fichiers hôte est requis pour les fonctionnalités du conteneur. s Si l'accès au système de fichiers hôte n'est pas requis, créez une nouvelle révision de définition de tâche et supprimez toutes les définitions de volume qui utilisent des chemins d'hôte. Si l'accès au système de fichiers hôte est requis, envisagez de configurer le conteneur pour utiliser un système de fichiers en lecture seule afin d'empêcher les modifications non autorisées.

Le service Amazon ECS utilise une définition de tâche configurée pour partager l'espace de noms de processus d'un hôte

Les conteneurs Amazon ECS exécutés avec des espaces de noms exposés peuvent potentiellement accéder aux ressources du système hôte et à d'autres espaces de noms de conteneurs. Cette configuration pourrait permettre à un conteneur compromis d'échapper à sa limite d'isolation, ce qui pourrait entraîner l'accès à des processus, à des interfaces réseau ou à d'autres ressources en dehors de sa portée prévue. Un espace de noms d'ID de processus (PID) permet de séparer les processus. Il empêche les processus du système d'être visibles et permet PIDs leur réutilisation, y compris le PID 1. Si l'espace de noms PID de l'hôte est partagé avec des conteneurs, cela permettra aux conteneurs de voir tous les processus du système hôte. Cela réduit l'avantage de l'isolation au niveau du processus entre l'hôte et les conteneurs. Ces facteurs peuvent entraîner un accès non autorisé aux processus sur l'hôte lui-même, y compris la capacité de les manipuler et de les arrêter. Conformément aux principes de sécurité standard, AWS recommande de maintenir une isolation appropriée des espaces de noms pour les conteneurs.

Mettre à jour les définitions de tâches avec les espaces de noms exposés

Ouvrez l'onglet Ressources de l'exposition, identifiez la définition de la tâche avec l'espace de noms exposé. Ouvrez la définition de tâche dans la console Amazon ECS. Recherchez les paramètres PIDMode avec la valeur host, qui partageraient les espaces de noms d'ID de processus avec l'hôte. Supprimez les paramètres PIDMode : host de vos définitions de tâches pour garantir que les conteneurs fonctionnent avec une isolation appropriée des espaces de noms.

Le service Amazon ECS utilise une définition de tâche configurée avec des informations d'identification en texte clair dans les variables d'environnement.

Les conteneurs Amazon ECS dotés d'informations d'identification en texte clair dans les variables d'environnement exposent des informations d'authentification sensibles qui pourraient être compromises si un attaquant accède à la définition de la tâche, à l'environnement du conteneur ou aux journaux des conteneurs. Cela crée un risque de sécurité important, car les informations d'identification divulguées pourraient être utilisées pour accéder à d'autres AWS services ou ressources.

Remplacer les informations d'identification en texte clair

Dans le résultat d'exposition, identifiez la définition de la tâche à l'aide d'informations d'identification en texte clair. Ouvrez la définition de tâche dans la console Amazon ECS. Recherchez les variables d'environnement dans la définition du conteneur qui contiennent des valeurs sensibles telles que des clés AWS d'accès, des mots de passe de base de données ou des jetons d'API.

Envisagez les alternatives suivantes pour transmettre les informations d'identification :

  • Au lieu d'utiliser des clés AWS d'accès, utilisez les rôles d'exécution de tâches IAM et les rôles de tâches pour accorder des autorisations à vos conteneurs.

  • Stockez les informations d'identification sous forme de AWS secrets dans Secrets Manager et référencez-les dans la définition de votre tâche.

Mise à jour les définitions de tâche

Créez une nouvelle révision de votre définition de tâche qui gère les informations d'identification de manière sécurisée. Mettez ensuite à jour votre service Amazon ECS pour utiliser la nouvelle version de définition de tâche.

Le service Amazon ECS possède un groupe de sécurité ouvert

Les groupes de sécurité agissent comme des pare-feux virtuels pour vos tâches Amazon ECS afin de contrôler le trafic entrant et sortant. Les groupes de sécurité ouverts, qui autorisent un accès illimité depuis n'importe quelle adresse IP, peuvent exposer vos conteneurs à un accès non autorisé, augmentant ainsi le risque d'exposition aux outils d'analyse automatisés et aux attaques ciblées. Conformément aux principes de sécurité standard, AWS recommande de restreindre l'accès des groupes de sécurité à des adresses IP et à des ports spécifiques.

Passez en revue les règles du groupe de sécurité et évaluez la configuration actuelle

Ouvrez la ressource pour le groupe de sécurité Amazon ECS. Évaluez quels ports sont ouverts et accessibles à partir de larges plages d'adresses IP, par exemple(0.0.0.0/0 or ::/0).

Modifier les règles du groupe de sécurité

Modifiez les règles de votre groupe de sécurité pour restreindre l'accès à des adresses ou plages d'adresses IP fiables spécifiques. Lorsque vous mettez à jour les règles de votre groupe de sécurité, pensez à séparer les exigences d'accès pour les différents segments du réseau en créant des règles pour chaque plage d'adresses IP source requise ou en limitant l'accès à des ports spécifiques.

Modifier les règles du groupe de sécurité

Envisagez les options suivantes pour les autres méthodes d'accès :

  • Le gestionnaire de session fournit un accès shell sécurisé à vos EC2 instances Amazon sans avoir besoin de ports entrants, de gérer des clés SSH ou de gérer des hôtes bastion.

  • NACLs fournir une couche de sécurité supplémentaire au niveau du sous-réseau. Contrairement aux groupes de sécurité, NACLs ils sont apatrides et nécessitent que les règles entrantes et sortantes soient explicitement définies.

Le service Amazon ECS possède une adresse IP publique

Les services Amazon ECS auxquels des adresses IP publiques sont attribuées à leurs tâches sont directement accessibles depuis Internet. Bien que cela puisse être nécessaire pour les services qui doivent être accessibles au public, cela augmente la surface d'attaque et le risque d'accès non autorisé.

Identifier les services dotés d'adresses IP publiques

Dans le résultat d'exposition, identifiez le service Amazon ECS auquel des adresses IP publiques sont attribuées à ses tâches. Recherchez le assignPublicIp paramètre dont la valeur est égale ENABLED à dans la configuration du service.

Mise à jour les définitions de tâche

Créez une nouvelle révision de votre définition de tâche qui désactive les adresses IP publiques. Mettez ensuite à jour votre service Amazon ECS pour utiliser la nouvelle version de définition de tâche.

Implémenter des modèles d'accès au réseau privé

Pour les instances qui exécutent des applications Web, pensez à utiliser un Load Balancer (LB). LBs peut être configuré pour permettre à vos instances de s'exécuter dans des sous-réseaux privés tandis que le LB s'exécute dans un sous-réseau public et gère le trafic Internet.

Le service Amazon ECS utilise une définition de tâche configurée avec le mode réseau hôte activé.

Les conteneurs Amazon ECS exécutés en mode réseau hôte partagent l'espace de noms du réseau avec l'hôte, ce qui permet un accès direct aux interfaces réseau, aux ports et aux tables de routage de l'hôte. Cette configuration contourne l'isolation du réseau fournie par les conteneurs, exposant potentiellement les services exécutés sur le conteneur directement à des réseaux externes et permettant aux conteneurs de modifier les paramètres du réseau hôte. Conformément aux principes de sécurité standard, AWS recommande de maintenir une isolation réseau appropriée pour les conteneurs.

Désactiver le mode réseau hôte

Dans le résultat de l'exposition, identifiez la définition de la tâche en mode réseau hôte. Ouvrez la définition de tâche dans la console Amazon ECS. Recherchez le paramètre NetworkMode avec la valeur host dans la définition de la tâche.

Tenez compte des options suivantes pour désactiver le mode réseau hôte :

  • Le mode awsvpc réseau fournit le niveau le plus élevé d'isolation du réseau en dotant chaque tâche de sa propre interface réseau élastique.

  • Le mode bridge réseau assure l'isolation tout en permettant aux mappages de ports d'exposer des ports de conteneur spécifiques à l'hôte.

Mise à jour les définitions de tâche

Créez une nouvelle révision de votre définition de tâche avec la configuration du mode réseau mise à jour. Mettez ensuite à jour votre service Amazon ECS pour utiliser la nouvelle version de définition de tâche.

Le rôle IAM associé au service Amazon ECS est soumis à une politique d'accès administratif

Les rôles IAM dotés de politiques d'accès administratives associées aux tâches Amazon ECS fournissent des autorisations étendues qui dépassent ce qui est généralement requis pour le fonctionnement des conteneurs. Cette configuration augmente le risque qu'un conteneur compromis soit utilisé pour accéder aux ressources de votre AWS environnement ou les modifier. Conformément aux principes de sécurité standard, AWS recommande de mettre en œuvre l'accès avec le moindre privilège en accordant uniquement les autorisations nécessaires au fonctionnement d'une tâche.

Examiner et identifier les politiques administratives

Dans l'ID de ressource, identifiez le nom du rôle IAM. Accédez au tableau de bord IAM et sélectionnez le rôle identifié. Passez en revue la politique d'autorisation associée au rôle IAM. S'il s'agit d'une politique AWS gérée, recherchezAdministratorAccess. Sinon, dans le document de politique, recherchez les déclarations contenant les déclarations "Effect": "Allow", "Action": "*", and "Resource": "*" réunies.

Implémentation d’un accès sur la base du moindre privilège

Remplacez les politiques administratives par celles qui n'accordent que les autorisations spécifiques nécessaires au fonctionnement de l'instance. Pour identifier les autorisations inutiles, vous pouvez utiliser l'analyseur d'accès IAM pour comprendre comment modifier votre politique en fonction de l'historique des accès. Vous pouvez également créer un nouveau rôle IAM pour éviter d'affecter les autres applications qui utilisent le rôle existant. Dans ce scénario, créez un nouveau rôle IAM, puis associez-le à l'instance.

Considérations relatives à la configuration sécurisée

Si des autorisations administratives au niveau du service sont nécessaires pour l'instance, envisagez de mettre en œuvre ces contrôles de sécurité supplémentaires pour atténuer les risques :

  • La MFA ajoute une couche de sécurité supplémentaire en exigeant une forme d'authentification supplémentaire. Cela permet d'empêcher tout accès non autorisé même si les informations d'identification sont compromises.

  • La configuration des éléments de condition vous permet de limiter le moment et la manière dont les autorisations administratives peuvent être utilisées en fonction de facteurs tels que l'adresse IP source ou l'âge du MFA.

Mise à jour les définitions de tâche

Créez une nouvelle révision de votre définition de tâche qui fait référence aux rôles IAM nouveaux ou mis à jour. Mettez ensuite à jour votre service Amazon ECS pour utiliser la nouvelle version de définition de tâche.

Caractéristiques de vulnérabilité des services Amazon ECS

Voici les caractéristiques d'accessibilité d'Amazon ECS et les étapes de correction suggérées.

Le service Amazon ECS possède un conteneur contenant des vulnérabilités logicielles exploitables par le réseau présentant une forte probabilité d'exploitation

  1. Comprenez l'exposition

    Les résultats relatifs aux vulnérabilités des packages identifient les packages logiciels de votre AWS environnement qui sont exposés à des vulnérabilités et à des risques courants (CVEs). Les attaquants peuvent exploiter ces vulnérabilités non corrigées pour compromettre la confidentialité, l'intégrité ou la disponibilité des données, ou pour accéder à d'autres systèmes. Les images de conteneurs ECR peuvent contenir des informations sur la vulnérabilité des packages.

  2. Corriger l'exposition

    1. Mettre à jour la version du package

      Consultez la recherche de vulnérabilité du package pour votre fonction Lambda. Mettez à jour la version du package comme suggéré par Amazon Inspector. Pour plus d'informations, consultez la section Affichage des informations relatives à vos résultats Amazon Inspector dans le guide de l'utilisateur d'Amazon Inspector. La section Corrections des informations de recherche de la console Amazon Inspector indique les commandes que vous pouvez exécuter pour mettre à jour le package.

    2. Mettre à jour les images du conteneur de base

      Reconstruisez et mettez à jour régulièrement les images des conteneurs de base pour maintenir vos conteneurs à jour. Lorsque vous reconstruisez l'image, n'incluez pas de composants inutiles pour réduire la surface d'attaque. Pour obtenir des instructions sur la reconstruction d'une image de conteneur, voir Reconstruire souvent vos images.

Le service Amazon ECS possède un conteneur présentant des vulnérabilités logicielles

Les packages logiciels installés sur les conteneurs Amazon ECS peuvent être exposés à des vulnérabilités et à des risques courants (CVEs). Les vulnérabilités à faible priorité représentent des faiblesses de sécurité moins graves ou moins exploitables que les vulnérabilités à priorité élevée. Bien que ces vulnérabilités présentent un risque immédiat moindre, les attaquants peuvent toujours exploiter ces vulnérabilités non corrigées pour compromettre la confidentialité, l'intégrité ou la disponibilité des données, ou pour accéder à d'autres systèmes.

Mettre à jour les images des conteneurs concernés

Consultez la section Références dans l'onglet Vulnérabilité du trait. La documentation du fournisseur peut inclure des conseils de correction spécifiques.

Appliquez les mesures correctives appropriées en suivant ces directives générales :

  • Mettez à jour les images de vos conteneurs pour utiliser les versions corrigées des packages concernés.

  • Mettez à jour les dépendances concernées dans votre application vers leurs dernières versions sécurisées.

Après avoir mis à jour votre image de conteneur, envoyez-la dans votre registre de conteneurs et mettez à jour votre définition de tâche Amazon ECS pour utiliser la nouvelle image.

Considérations futures

Pour renforcer encore le niveau de sécurité de vos images de conteneurs, pensez à suivre les meilleures pratiques en matière de sécurité des conteneurs et des tâches Amazon ECS. Amazon Inspector peut être configuré pour rechercher automatiquement la CVEs présence sur vos conteneurs. Amazon Inspector peut également être intégré à Security Hub pour des corrections automatiques. Envisagez de mettre en œuvre un calendrier régulier d'application des correctifs à l'aide de Systems Manager Maintenance Windows afin de minimiser les perturbations sur vos conteneurs.