web-dev-qa-db-fra.com

Plusieurs groupes de sécurité EC2 - permissif ou restrictif?

Que se passe-t-il lorsque j'attribue plusieurs groupes de sécurité à une instance? Est-il permissif en ce sens que le trafic est autorisé si l'un des groupes de sécurité le permet. OR est-il restrictif dans le sens où chaque groupe de sécurité doit autoriser le trafic pour qu'il soit transmis?

Par exemple, supposons que j'ai une classe d'instances qui ne parlera jamais qu'aux autres instances du même compte. J'ai également une classe d'instances qui n'acceptera que du trafic via HTTP (port 80).

Est-il possible de restreindre l'accès aux instances internes et uniquement via HTTP en créant et en appliquant deux groupes de sécurité:

  1. Un groupe de sécurité "interne". Autoriser tout le trafic provenant d'autres membres de ce groupe de sécurité sur tous les ports pour tous les transports (TCP, UDP, ICMP)
  2. Créez un groupe de sécurité "http". Autorisez tout le trafic vers le port 80 via TCP depuis n'importe quelle source.

OU suis-je obligé de créer un seul groupe de sécurité qui autorise le trafic à partir du port 80 où la source est elle-même?

30
SFun28

Si une instance a plusieurs groupes de sécurité, elle a la somme de toutes les règles dans les différents groupes.

Par exemple, supposons que j'ai une classe d'instances qui ne parlera jamais qu'aux autres instances du même compte. J'ai également une classe d'instances qui n'acceptera que le trafic via http (port 80).

Il s'agit d'une situation parfaite pour AWS Virtual Private Cloud. Placez les instances internes dans des sous-réseaux privés et les instances accessibles au public dans des sous-réseaux publics.

6
ceejayoz

Permissif.

Selon AWS ici: http://docs.aws.Amazon.com/AWSEC2/latest/UserGuide/using-network-security.html#security-group-rules

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

30
euphoria83

Voici la réponse du support de la documentation AWS. Ils ont dit qu'ils mettraient à jour la documentation:

J'ai trouvé quelques messages sur le forum de discussion qui traitent de problèmes similaires avec des règles conflictuelles au sein d'un ou plusieurs groupes de sécurité:

https://forums.aws.Amazon.com/thread.jspa?messageID=221768

https://forums.aws.Amazon.com/thread.jspa?messageID=349244&#349244

Lorsque plusieurs groupes de sécurité sont appliqués à une instance, les règles sont agrégées pour créer un grand ensemble de règles. Dans EC2, les règles de groupe de sécurité sont uniquement permissives, en d'autres termes, vous ne pouvez pas ajouter de règles DENY. Cela signifie que la règle la plus permissive s'appliquera toujours. Par exemple, si vous avez un groupe de sécurité qui autorise l'accès au port 22 à partir de l'adresse IP 10.10.10.10, et un autre groupe de sécurité qui autorise l'accès au port 22 à partir de tout le monde, tout le monde aura accès au port 22 sur l'instance.

3
SFun28

Lorsque vous spécifiez un groupe de sécurité comme source ou destination pour une règle, la règle 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 publiques ou Elastic IP). Pour plus d'informations sur les adresses IP, consultez Adressage IP d'instance Amazon EC2. Si votre règle de groupe de sécurité fait référence à un groupe de sécurité dans un VPC homologue et que le groupe de sécurité référencé ou la connexion d'appairage VPC est supprimé, la règle est marquée comme périmée. Pour plus d'informations, consultez Utilisation des règles de groupe de sécurité obsolètes dans le Amazon VPC Peering Guide.

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

Lorsque vous associez plusieurs groupes de sécurité à une instance, les règles de chaque groupe de sécurité sont effectivement agrégées pour créer un ensemble de règles. Nous utilisons cet ensemble de règles pour déterminer s'il faut autoriser l'accès.

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

0
user377934