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 AmazonECS, le chiffrement réseau peut être mis en œuvre de l'une des manières suivantes.
-
Avec un service mesh (TLS) :
Avec AWS App Mesh, vous pouvez configurer TLS les connexions entre les proxys Envoy déployés avec des points de terminaison maillés. Les nœuds virtuels et les passerelles virtuelles en sont deux exemples. Les TLS certificats peuvent provenir de AWS Certificate Manager (ACM). Ils peuvent également provenir de votre propre autorité de certification privée.
-
À 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.
-
Utilisation de l'indication du nom du serveur (SNI) avec un Application Load Balancer :
Application Load Balancer (ALB) et Network Load Balancer () prennent en charge l'indication du nom du serveur NLB (). SNI En utilisantSNI, vous pouvez placer plusieurs applications sécurisées derrière un seul écouteur. Pour cela, chacun dispose de son propre TLS certificat. Nous vous recommandons de fournir des certificats pour l'équilibreur de charge à l'aide de 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 certificat intelligent avecSNI. 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 leACM.
-
End-to-end chiffrement à l'aide de TLS certificats :
Cela implique le déploiement d'un TLS certificat 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) à un volume partagé ACM puis monte le secret obtenu sur un volume partagé.
Mise en réseau des tâches
Les recommandations suivantes tiennent compte du mode de ECS fonctionnement d'Amazon. 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 AmazonECS.
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'ECSagent Amazon approvisionne et attache automatiquement une Elastic Network Interface (ENI) à la tâche. Lorsque le 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, dont AmazonECS. Les points de terminaison sont nécessaires dans les environnements sandbox où aucune passerelle Internet (IGW) n'est connectée à Amazon VPC ni aucune autre route vers Internet. L'utilisation AWS PrivateLink garantit que les appels adressés au ECS service Amazon restent sur Amazon VPC 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 ECSl'interface Amazon Amazon VPC endpoints.
Important
AWS Fargate les tâches ne nécessitent pas de point de AWS PrivateLink terminaison pour AmazonECS.
Amazon ECR et Amazon prennent ECS tous deux en charge les politiques relatives aux terminaux. Ces politiques vous permettent d'affiner l'accès à un serviceAPIs. Par exemple, vous pouvez créer une politique de point de terminaison pour Amazon ECR qui autorise uniquement le transfert d'images vers des registres de AWS comptes spécifiques. Une telle politique 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, consultez la section Utiliser les politiques relatives aux VPC points de terminaison.
La politique suivante autorise tous les AWS principaux de votre compte à effectuer toutes les actions uniquement sur vos ECR référentiels Amazon :
{ "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 IAM mandant qui ne fait pas partie de vous de pousser et d'extraire des images AWS Organizations. 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 ECS conteneur Amazon 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 afin qu'il passe par un HTTP proxy pour se connecter à Internet. Pour obtenir des instructions sur la configuration de l'agent et du moteur d'exécution Docker pour le routage via un proxy, consultez la section Configuration du HTTP proxy.
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 AmazonVPC, 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 PCIDSS, exigent que vous cryptiez les données en transit si les données 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 destiné au public, utilisezTLS/SSLpour 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 sur 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 unALB, 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 le vôtreALB. Si votre application se trouve derrière unNLB, configurez le groupe de sécurité de la tâche pour autoriser uniquement le trafic entrant provenant de la VPC CIDR plage Amazon et les adresses IP statiques attribuées auNLB.
Les groupes de sécurité doivent également être utilisés pour contrôler le trafic entre les tâches et les autres ressources d'Amazon, VPC telles que les RDS bases de données Amazon.
Créez des ECS clusters Amazon 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 stricte du réseau 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 de VPC points de terminaison Amazon. Pour plus d'informations, consultez Amazon VPC Endpoints.
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 AmazonVPCs, configurez des AWS PrivateLink points de terminaison pour Amazon ECS et d'autres services tels qu'Amazon ECR et Amazon CloudWatch. AWS Secrets Manager
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 Amazon VPC Flow Logs pour analyser le trafic en provenance et à destination de tâches de longue durée. Les tâches qui utilisent le mode awsvpc
réseau obtiennent leurs propres tâchesENI. Ainsi, vous pouvez surveiller le trafic à destination et en provenance de tâches individuelles à l'aide d'Amazon VPC Flow Logs. Une récente mise à jour d'Amazon VPC Flow Logs (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, consultez Amazon VPC Flow Logs.
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.