Fiche
Security group (SG)
Image : le gardien posté devant chaque porte.
Un security group est un gardien attaché à une machine ou à un guichet. Il a deux listes : qui peut entrer (ingress) et vers où on peut sortir (egress), avec quel port.
Les 3 règles du gardien
- Que des autorisations : pas de ligne « interdit ». Ce qui n'est pas listé est refusé.
- Il a de la mémoire (stateful) : la réponse à un message autorisé passe sans nouvelle vérification.
- Il contrôle le port : le numéro de porte.
443= HTTPS,80= HTTP,22= SSH.
Qui mettre sur la liste
| Cible | Exemple | Image |
|---|---|---|
| une plage d'adresses | 10.0.0.0/16, 0.0.0.0/0 | par adresse |
| une liste AWS (prefix list) | les adresses de S3 | par annuaire AWS |
| un autre security group | sg-… | par badge : toute machine qui porte ce SG, même à travers un peering |
Un message passe si les 3 sont d'accord
émetteur ──► 1. gardien SORTIE de l'émetteur
2. panneau (table de routage) de l'émetteur
3. gardien ENTRÉE du destinataire ──► destinataire
la réponse revient seule (mémoire du gardien)
Ce qu'il faut retenir
- SG = permission, table de routage = chemin. Il faut les deux : c'est la défense en profondeur.
- Piège Terraform : AWS ajoute une sortie « tout autorisé » à un nouveau SG, mais Terraform la retire. Seules les règles écrites existent.
aws_default_security_groupsans règles = le gardien par défaut du VPC neutralisé, il refuse tout.- Un SG ne filtre pas les requêtes DNS vers l'annuaire AWS : il faut un DNS Firewall pour ça.
- Dans un diff :
0.0.0.0/0avecip_protocol = "-1", ou une large plage de ports, c'est le signal d'alarme.
En Terraform : aws_security_group, puis une ressource par règle : aws_vpc_security_group_ingress_rule et aws_vpc_security_group_egress_rule (avec cidr_ipv4, prefix_list_id ou referenced_security_group_id).
Sources : AWS : security groups, AWS : security group rules, Terraform : aws_security_group.