Que se passe-t-il lorsque j'attribue plusieurs groupes de sécurité à une instance? Est-ce permissif en ce sens que le trafic est autorisé si l'un des groupes de sécurité le permet. OU est-ce restrictif dans le sens où chaque groupe de sécurité doit autoriser le trafic pour qu'il soit transmis?
Par exemple, disons 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é:
- 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)
- Créez un groupe de sécurité "http". Autorisez tout le trafic vers le port 80 via TCP à partir de 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?
Permissif.
Selon AWS ici: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html#security-group-rules
la source
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吼
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 depuis tout le monde, tout le monde aura accès au port 22 sur l'instance.
la source
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 guide d'appairage Amazon VPC.
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 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 à tout le monde, tout le monde a accès au port TCP 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 Comme 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.
la source