Groupes de sécurité Amazon EC2 pour les instances Linux - Amazon Elastic Compute Cloud

Groupes de sécurité Amazon EC2 pour les instances Linux

Un groupe de sécurité fonctionne comme un pare-feu virtuel contrôlant le trafic d'une ou de plusieurs instances. Lorsque vous lancez une instance, vous pouvez spécifier un ou plusieurs groupes de sécurité. Sinon, nous utilisons le groupe de sécurité par défaut. Vous pouvez ajouter des règles à chaque groupe de sécurité pour autoriser le trafic vers ou depuis ses instances associées. Vous pouvez modifier les règles pour un groupe de sécurité à la fois. Les nouvelles règles sont automatiquement appliquées à toutes les instances associées au groupe de sécurité. Lorsqu'il est décidé d'autoriser ou non le trafic à atteindre une instance, toutes les règles issues de tous les groupes de sécurité associés à cette instance sont évaluées automatiquement.

Lorsque vous lancez une instance dans un VPC, vous devez spécifier un groupe de sécurité créé pour ce VPC. Après avoir lancé une instance, vous pouvez modifier ses groupes de sécurité. Les groupes de sécurité sont associés à des interfaces réseau. La modification des groupes de sécurité d'une instance change les groupes de sécurité associés à l'interface réseau principale (eth0). Pour plus d'informations, consultez Modification des groupes de sécurité d'une instance dans le Amazon VPC Guide de l'utilisateur. Vous pouvez aussi modifier les groupes de sécurité associés à une autre interface réseau. Pour plus d'informations, consultez Modification du groupe de sécurité.

Si vous avez des exigences qui ne sont pas satisfaites par les groupes de sécurité, vous pouvez maintenir votre propre pare-feu sur l'une de vos instances, quelle qu'elle soit, en plus de l'utilisation des groupes de sécurité.

Si vous devez autoriser le trafic vers une instance Windows, veuillez consulter Groupes de sécurité Amazon EC2 pour les instances Windows dans le Amazon EC2 Guide de l'utilisateur pour les instances Windows.

Règles des groupes de sécurité

Les règles d'un groupe de sécurité contrôlent le trafic entrant autorisé à atteindre les instances associées au groupe de sécurité. Les règles contrôlent également le trafic sortant autorisé à les quitter.

Les caractéristiques des règles des groupes de sécurité sont les suivantes :

  • Par défaut, les groupes de sécurité autorisent la totalité du trafic sortant.

  • Les règles des groupes de sécurité sont toujours permissives ; vous ne pouvez pas créer de règles qui refusent l'accès.

  • Les groupes de sécurité sont avec état. Si vous envoyez une demande à partir de votre instance, le trafic de la réponse à cette demande est autorisé, indépendamment des règles entrantes des groupes de sécurité. Pour les groupes de sécurité VPC, cela signifie aussi que les réponses au trafic entrant autorisé ont le droit d'être acheminées vers l'extérieur, indépendamment des règles sortantes. Pour plus d'informations, consultez Suivi de la connexion.

  • Vous pouvez ajouter et supprimer des règles à tout moment. Vos modifications sont appliquées automatiquement aux instances associées au groupe de sécurité.

    L'effet de certaines modifications de règle peut dépendre de la manière dont le trafic est suivi. Pour plus d'informations, consultez Suivi de la connexion.

  • Quand vous associez plusieurs groupes de sécurité à une instance, les règles de chaque groupe de sécurité sont effectivement regroupées pour créer un seul ensemble de règles. Cet ensemble de règles est utilisé pour déterminer si l'accès doit être autorisé ou pas.

    Vous pouvez affecter plusieurs groupes de sécurité à une instance. Par conséquent, une instance peut avoir des centaines de règles qui s'appliquent. Cela peut entraîner des problèmes quand vous accédez à l'instance. Nous vous recommandons de condenser vos règles autant que possible.

Pour chaque règle, vous spécifiez les informations suivantes :

  • Protocole : le protocole à autoriser. Les protocoles les plus courants sont 6 (TCP) 17 (UDP) et 1 (ICMP).

  • Port range (Plage de ports) : pour TCP, UDP ou un protocole personnalisé : la plage de ports autorisée. Vous pouvez spécifier un seul numéro de port (par exemple, 22), ou une plage de numéros de port (par exemple, 7000-8000).

  • ICMP type and code (Type et code ICMP) : pour ICMP, le code et le type ICMP.

  • Source or destination (Source ou destination) : la source (règles entrantes) ou la destination (règles sortante) pour le trafic. Spécifiez l'une des options suivantes :

    • Une adresse IPv4 individuelle. Vous devez utiliser la longueur de préfixe /32, par exemple 203.0.113.1/32.

    • Une adresse IPv6 individuelle. Vous devez utiliser la longueur de préfixe /128, par exemple 2001:db8:1234:1a00::123/128.

    • Plage d'adresses IPv4, en notation de bloc d'adresse CIDR : par exemple, 203.0.113.0/24.

    • Plage d'adresses IPv6, en notation de bloc d'adresse CIDR : par exemple, 2001:db8:1234:1a00::/64.

    • L'ID de liste des préfixes pour le service AWS, par exemple pl-1a2b3c4d. Pour plus d'informations, consultez Points de terminaison d'un VPC de passerelle dans le Amazon VPC Guide de l'utilisateur.

    • Un autre groupe de sécurité. Les instances associées au groupe de sécurité spécifié peuvent ainsi accéder aux instances associées à ce groupe de sécurité. (Notez que cela n'ajoute pas de règles du groupe de sécurité source à ce groupe de sécurité.) Vous spécifiez l'un des groupes de sécurité suivants :

      • Groupe de sécurité en cours

      • Un groupe de sécurité différent pour le même VPC

      • Un groupe de sécurité différent pour un VPC homologue dans une connexion d'appairage de VPC

  • (Facultatif) Description : vous pouvez ajouter une description pour la règle, par exemple, pour vous aider à l'identifier ultérieurement. Une description peut inclure jusqu'à 255 caractères. Les caractères autorisés sont : a-z, A-Z, 0-9, espaces et ._-:/()#,@[]+=;{}!$*.

Quand vous spécifiez un groupe de sécurité comme source ou destination d'une règle, celle-ci affecte toutes les instances associées au groupe de sécurité. Le trafic entrant est autorisé en fonction des adresses IP privées des instances associées au groupe de sécurité source (et non des adresses IP Elastic ou des adresses IP publiques). Pour plus d'informations sur les adresses IP, consultez Adressage IP des instances Amazon EC2. Si votre règle de groupe de sécurité fait référence à un groupe de sécurité dans un VPC pair et si le groupe de sécurité référencé ou la connexion d'appairage de VPC est supprimée, la règle est marquée comme étant obsolète. Pour plus d'informations, consultez Utilisation de règles de groupes de sécurité obsolètes dans le Amazon VPC Peering Guide.

S'il existe plusieurs règles pour un port spécifique, c'est la règle la plus permissive qui s'applique. Par exemple, si vous avez une règle qui autorise l'accès au port TCP 22 (SSH) à partir de l'adresse IP 203.0.113.1 et une autre règle qui autorise l'accès au port TCP 22 à partir de tous, chacun a accès au port TCP 22.

Suivi de la connexion

Vos groupes de sécurité utilisent le suivi de connexion pour suivre les informations sur le trafic en provenance ou à destination de l'instance. Les règles s'appliquent en fonction de l'état de connexion du trafic pour déterminer si le trafic est autorisé ou refusé. Cette approche permet aux groupes de sécurité d'être avec état. Les groupes de sécurité peuvent ainsi être avec état. Les réponses au trafic entrant sont autorisées à transiter en dehors de l'instance, indépendamment des règles sortantes des groupes de sécurité (et inversement). Par exemple, si vous déclenchez une commande ICMP ping sur votre instance à partir de votre ordinateur familial et que vos règles entrantes des groupes de sécurité autorisent le trafic ICMP, les informations sur la connexion (informations sur le port incluses) sont suivies. Le trafic de la réponse à partir de l'instance pour la commande ping n'est pas suivie comme nouvelle demande, mais plutôt comme connexion établie, et est autorisée à transiter en dehors de l'instance, même si vos règles sortantes des groupes de sécurité limitent le trafic ICMP sortant.

Certains flux de trafic ne sont pas suivis. Si une règle de groupe de sécurité autorise les flux TCP ou UDP pour la totalité du trafic (0.0.0.0/0) et qu'il existe une règle correspondante dans l'autre sens qui autorise tout le trafic de la réponse (0.0.0.0/0) pour tous les ports (0-65535), le flux du trafic n'est pas suivi. Par conséquent, le trafic de la réponse est autorisé à transiter en fonction de la règle entrante ou sortante qui autorise le trafic de la réponse, et non des informations de suivi.

Dans l'exemple suivant, le groupe de sécurité dispose de règles entrantes pour le trafic TCP et ICMP entrant, et d'une règle sortante qui autorise tout le trafic sortant.

Règles entrantes
Type de protocole Numéro de port IP Source
TCP 22 (SSH) 203.0.113.1/32
TCP 80 (HTTP) 0.0.0.0/0
ICMP Tous 0.0.0.0/0
Règles sortantes
Type de protocole Numéro de port IP de destination
Tous Tous 0.0.0.0/0

Le trafic TCP sur le port 22 (SSH) vers et depuis l'instance est suivi, car la règle entrante autorise le trafic depuis 203.0.113.1/32 uniquement, et pas toutes les adresses IP (0.0.0.0/0). Le trafic TCP sur le port 80 (HTTP) vers et depuis l'instance n'est pas suivi, car les règles entrantes et sortantes autorisent tout le trafic (0.0.0.0/0). Le trafic ICMP est toujours suivi, quelles que soient les règles. Si vous supprimez la règle sortante du groupe de sécurité, tout le trafic vers et depuis l'instance est suivi, y compris le trafic sur le port 80 (HTTP).

Un flux de trafic non suivi est immédiatement interrompu si la règle qui active le flux est supprimée ou modifiée. Par exemple, si vous disposez d'une règle sortante ouverte (0.0.0.0/0) et que vous supprimez une règle qui autorise tout le trafic SSH (port TCP 22) entrant (0.0.0.0/0) vers l'instance (ou que vous la modifiez de telle sorte que la connexion ne soit plus autorisée), vos connexions SSH existantes à l'instance sont immédiatement supprimées. La connexion n'était pas suivie auparavant, de sorte que la modification rompt la connexion. D'autre part, si vous avez une règle entrante plus étroite qui autorise initialement la connexion SSH (ce qui signifie que la connexion a été suivie), mais que vous modifiez cette règle pour ne plus autoriser de nouvelles connexions à partir de l'adresse du client SSH actuel, la connexion existante ne sera pas rompue en modifiant la règle.

Pour les protocoles autre que TCP, UDP ou ICMP, seuls l'adresse IP et le numéro de protocole sont suivis. Si votre instance envoie le trafic vers un autre hôte (hôte B) et que l'hôte B initie le même type de trafic vers votre instance dans une demande distincte dans un délai de 600 secondes après la demande ou réponse d'origine, votre instance l'accepte indépendamment des règles de groupe de sécurité entrantes. Votre instance l'accepte car elle est considérée comme un trafic de réponse.

Pour vous assurer que le trafic est immédiatement interrompu lorsque vous supprimez une règle de groupe de sécurité ou pour vous assurer que tout le trafic entrant est soumis à des règles de pare-feu, vous pouvez utiliser une liste ACL réseau pour votre sous-réseau. Les ACL réseau sont sans état et n'autorisent donc pas automatiquement le trafic de réponse. Pour plus d'informations, consultez ACL réseau dans le Amazon VPC Guide de l'utilisateur.

Groupes de sécurité par défaut

Votre compte AWS possède automatiquement un groupe de sécurité par défaut pour le VPC par défaut dans chaque région. Si vous ne spécifiez pas un groupe de sécurité lorsque vous lancez une instance, celle-ci est automatiquement associée au groupe de sécurité par défaut pour le VPC.

Un groupe de sécurité par défaut est appelé default et possède un ID attribué par AWS. Les règles par défaut pour chaque groupe de sécurité par défaut sont les suivantes :

  • Autoriser le trafic entrant seulement à partir des autres instances associées au groupe de sécurité par défaut Le groupe de sécurité par défaut se spécifie lui-même comme groupe de sécurité source dans ses règles entrantes.

  • Autorise la totalité du trafic sortant à partir de l'instance.

Vous pouvez ajouter ou supprimer des règles entrantes et sortantes pour n'importe quel groupe de sécurité par défaut.

Vous ne pouvez pas supprimer un groupe de sécurité par défaut. Si vous essayez de supprimer un groupe de sécurité par défaut, vous voyez l'erreur suivante : Client.CannotDelete: the specified group: "sg-51530134" name: "default" cannot be deleted by a user.

Groupes de sécurité personnalisés

Si vous ne voulez pas que vos instances utilisent le groupe de sécurité par défaut, vous pouvez créer vos propres groupes de sécurité et les spécifiez quand vous démarrez vos instances. Vous pouvez créer plusieurs groupes de sécurité pour refléter les différents rôles joués par vos instances ; par exemple, un serveur web ou un serveur de base de données.

Quand vous créez un groupe de sécurité, vous devez lui attribuer un nom et une description. Les noms et les descriptions des groupes de sécurité peuvent comporter jusqu'à 255 caractères de long et uniquement les caractères suivants :

a-z, A-Z, 0-9, espace et ._-:/()#,@[]+=&;{}!$*

Un nom de groupe de sécurité ne peut pas commencer par sg-. Un nom de groupe de sécurité doit être unique pour le VPC.

Les règles par défaut pour chaque groupe de sécurité que vous créez sont les suivantes :

  • N'autorise aucun trafic entrant

  • Autorise tout le trafic sortant

Après avoir créé un groupe de sécurité, vous pouvez modifier ses règles entrantes pour refléter le type de trafic entrant que vous voulez pour atteindre les instances associées. Vous pouvez aussi modifier ses règles sortantes.

Pour plus d'informations sur les règles que vous pouvez ajouter à un groupe de sécurité, consultez Référence des règles de groupe de sécurité.