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.
Bonnes pratiques en matière de sécurité réseau pour Amazon ECS
La sécurité des réseaux est un vaste sujet qui englobe plusieurs sous-thèmes. Il s'agit encryption-in-transit notamment de la segmentation et de l'isolation du réseau, du pare-feu, du routage du trafic et de l'observabilité.
Chiffrement en transit
Le chiffrement du trafic réseau empêche les utilisateurs non autorisés d'intercepter et de lire des données lorsque celles-ci sont transmises sur un réseau. Avec Amazon ECS, le chiffrement réseau peut être mis en œuvre de l'une des façons suivantes.
-
À l'aide des instances Nitro :
Par défaut, le trafic est automatiquement chiffré entre les types d'instances Nitro suivants : C5n, G4, I3en, M5dn, M5n, P3dn, R5dn et R5n. Le trafic n'est pas chiffré lorsqu'il est acheminé via une passerelle de transit, un équilibreur de charge ou un intermédiaire similaire.
-
À l'aide de Server Name Indication (SNI) et d'un Application Load Balancer :
L'Application Load Balancer (ALB) et le Network Load Balancer (NLB) prennent en charge Server Name Indication (SNI). En utilisant SNI, vous pouvez placer plusieurs applications sécurisées derrière un seul écouteur. Pour cela, chaque écouteur possède son propre certificat TLS. Nous vous recommandons de fournir des certificats pour l'équilibreur de charge à l'aide d' AWS Certificate Manager (ACM), puis de les ajouter à la liste des certificats de l'écouteur. L'équilibreur de AWS charge utilise un algorithme de sélection de certificats intelligent avec SNI. Si le nom d'hôte fourni par un client correspond à un seul certificat de la liste de certificats, l'équilibreur de charge sélectionne ce certificat. Si un nom d'hôte fourni par un client correspond à plusieurs certificats de la liste, l'équilibreur de charge sélectionne un certificat pouvant être pris en charge par le client. Les exemples incluent un certificat auto-signé ou un certificat généré via l'ACM.
-
End-to-end chiffrement avec des certificats TLS :
Cela implique le déploiement d'un certificat TLS avec la tâche. Il peut s'agir d'un certificat auto-signé ou d'un certificat délivré par une autorité de certification fiable. Vous pouvez obtenir le certificat en indiquant un secret pour le certificat. Sinon, vous pouvez choisir d'exécuter un conteneur qui envoie une demande de signature de certificat (CSR) à ACM, puis monte le secret obtenu sur un volume partagé.
Mise en réseau des tâches
Les recommandations suivantes tiennent compte du fonctionnement d'Amazon ECS. Amazon ECS n'utilise pas de réseau superposé. Au lieu de cela, les tâches sont configurées pour fonctionner dans différents modes réseau. Par exemple, les tâches configurées pour utiliser le mode bridge
acquièrent une adresse IP non routable auprès d'un réseau Docker exécuté sur chaque hôte. Les tâches configurées pour utiliser le mode réseau awsvpc
acquièrent une adresse IP auprès du sous-réseau de l'hôte. Les tâches configurées avec la mise en réseau host
utilisent l'interface réseau de l'hôte. awsvpc
est le mode réseau préféré. C'est parce qu'il s'agit du seul mode que vous pouvez utiliser pour attribuer des groupes de sécurité aux tâches. C'est également le seul mode disponible pour les AWS Fargate tâches sur Amazon ECS.
Groupes de sécurité pour les tâches
Nous vous recommandons de configurer vos tâches de manière à utiliser le mode réseau awsvpc
. Une fois que vous avez configuré votre tâche pour utiliser ce mode, l'agent Amazon ECS provisionne et attache automatiquement une Interface réseau Elastic (ENI) à la tâche. Lorsque l'ENI est provisionné, la tâche est inscrite dans un groupe AWS de sécurité. Le groupe de sécurité agit en tant que pare-feu virtuel que vous pouvez utiliser afin de contrôler le trafic entrant et sortant.
AWS PrivateLink et Amazon ECS
AWS PrivateLink est une technologie réseau qui vous permet de créer des points de terminaison privés pour différents AWS services, notamment Amazon ECS. Les points de terminaison sont nécessaires dans les environnements de test (sandbox) dans lesquels aucune passerelle Internet (IGW) n'est connectée à Amazon VPC et aucune alternative ne mène à Internet. L'utilisation AWS PrivateLink garantit que les appels au service Amazon ECS restent dans le VPC Amazon et ne transitent pas par Internet. Pour savoir comment créer des AWS PrivateLink points de terminaison pour Amazon ECS et d'autres services connexes, consultez l'interface Amazon ECS et points de terminaison Amazon VPC.
Important
AWS Fargate les tâches ne nécessitent pas de point de AWS PrivateLink terminaison pour Amazon ECS.
Amazon ECR et Amazon ECS prennent tous deux en charge les stratégies de point de terminaison. Ces politiques vous permettent d'affiner l'accès à un service APIs. Par exemple, vous pouvez créer une stratégie de point de terminaison pour Amazon ECR qui autorise uniquement le transfert d'images vers des registres de comptes spécifiques AWS . Une telle stratégie pourrait être utilisée pour empêcher l'exfiltration de données par le biais d'images de conteneurs tout en permettant aux utilisateurs de les envoyer vers des registres Amazon ECR autorisés. Pour plus d'informations, veuillez consulter Utilisation des stratégies de point de terminaison pour contrôler l'accès à des points de terminaison d'un VPC.
La politique suivante permet à tous les AWS principaux de votre compte d'effectuer toutes les actions uniquement sur vos référentiels Amazon ECR :
{ "Statement": [ { "Sid": "LimitECRAccess", "Principal": "*", "Action": "*", "Effect": "Allow", "Resource": "arn:aws:ecr:
region
:account_id
:repository/*" }, ] }
Vous pouvez encore améliorer cela en définissant une condition qui utilise la nouvelle propriété PrincipalOrgID
. Cela empêche un directeur IAM qui ne fait pas partie de vous AWS Organizations de transférer et d'extraire des images. Pour plus d'informations, consultez aws : PrincipalOrg ID.
Nous avons recommandé d'appliquer la même politique aux points de terminaison com.amazonaws.
et region
.ecr.dkrcom.amazonaws.
.region
.ecr.api
Paramètres de l'agent de conteneur
Le fichier de configuration de l'agent de conteneur Amazon ECS inclut plusieurs variables d'environnement liées à la sécurité du réseau. ECS_AWSVPC_BLOCK_IMDS
et ECS_ENABLE_TASK_IAM_ROLE_NETWORK_HOST
sont utilisés pour bloquer l'accès d'une tâche aux EC2 métadonnées Amazon. HTTP_PROXY
est utilisé pour configurer l'agent pour qu'il passe par un proxy HTTP afin de se connecter à Internet. Pour obtenir des instructions sur la configuration de l'agent et de l'environnement d'exécution Docker pour le routage via un proxy, veuillez consulter Configuration du proxy HTTP (langue française non garantie).
Important
Ces paramètres ne sont pas disponibles lorsque vous utilisez AWS Fargate.
Recommandations relatives à la sécurité du réseau
Nous vous recommandons de procéder comme suit lors de la configuration de votre Amazon VPC, de vos équilibreurs de charge et de votre réseau.
Utilisez le chiffrement réseau, le cas échéant, avec Amazon ECS
Vous devez utiliser le chiffrement réseau, le cas échéant. Certains programmes de conformité, tels que la norme PCI DSS, exigent que vous chiffriez les données en transit si celles-ci contiennent des données relatives au titulaire de la carte. Si votre charge de travail présente des exigences similaires, configurez le chiffrement réseau.
Les navigateurs modernes avertissent les utilisateurs lorsqu'ils se connectent à des sites non sécurisés. Si votre service est dirigé par un équilibreur de charge accessible au public, utilisez le protocole TLS/SSL pour chiffrer le trafic entre le navigateur du client et l'équilibreur de charge, puis chiffrez-le à nouveau vers le backend si cela est justifié.
Utilisez le mode awsvpc
réseau et les groupes de sécurité pour contrôler le trafic entre les tâches et les autres ressources dans Amazon ECS
Vous devez utiliser le mode réseau awsvpc
et les groupes de sécurité lorsque vous devez contrôler le trafic entre les tâches et entre les tâches et les autres ressources du réseau. Si votre service repose sur un ALB, utilisez des groupes de sécurité pour autoriser uniquement le trafic entrant provenant d'autres ressources réseau utilisant le même groupe de sécurité que votre ALB. Si votre application se trouve derrière un NLB, configurez le groupe de sécurité de la tâche pour autoriser uniquement le trafic entrant provenant de la plage d'adresses CIDR Amazon VPC et des adresses IP statiques attribuées au NLB.
Les groupes de sécurité doivent également être utilisés pour contrôler le trafic entre les tâches et les autres ressources au sein d'Amazon VPC, telles que les bases de données Amazon RDS.
Créez des clusters Amazon ECS dans un Amazon distinct VPCs lorsque le trafic réseau doit être strictement isolé
Vous devez créer des clusters dans un Amazon distinct VPCs lorsque le trafic réseau doit être strictement isolé. Évitez d'exécuter des charges de travail soumises à des exigences de sécurité strictes sur des clusters dont les charges de travail ne sont pas tenues de respecter ces exigences. Lorsqu'une isolation réseau stricte est obligatoire, créez des clusters dans un Amazon distinct VPCs et exposez les services de manière sélective à d'autres Amazon à VPCs l'aide des points de terminaison Amazon VPC. Pour plus d'informations, consultez Points de terminaison d'un VPC.
Configurer les AWS PrivateLink points de terminaison lorsque cela est justifié pour Amazon ECS
Vous devez configurer les AWS PrivateLink points de terminaison lorsque cela est justifié. Si votre politique de sécurité vous empêche de connecter un Internet Gateway (IGW) à votre Amazon VPCs, configurez des AWS PrivateLink points de terminaison pour Amazon ECS et d'autres services tels qu'Amazon ECR AWS Secrets Manager et Amazon. CloudWatch
Utilisez Amazon VPC Flow Logs pour analyser le trafic à destination et en provenance de tâches de longue durée dans Amazon ECS
Vous devez utiliser les journaux de flux Amazon VPC pour analyser le trafic à destination et en provenance de tâches de longue durée. Les tâches qui utilisent le mode réseau awsvpc
obtiennent leur propre ENI. Ainsi, vous pouvez surveiller le trafic à destination et en provenance de tâches individuelles à l'aide des journaux de flux Amazon VPC. Une récente mise à jour des journaux de flux Amazon VPC (v3) enrichit les journaux avec des métadonnées de trafic, notamment l'ID du VPC, l'ID de sous-réseau et l'ID d'instance. Ces métadonnées peuvent être utilisées pour affiner une enquête. Pour plus d'informations, veuillez consulter Journaux de flux Amazon VPC.
Note
En raison de la nature temporaire des conteneurs, les journaux de flux ne sont pas toujours un moyen efficace d'analyser les modèles de trafic entre les différents conteneurs ou entre les conteneurs et les autres ressources du réseau.