Les Network ACLs vous permettent de contrôler le trafic entrant et sortant au niveau du vSwitch en définissant des règles d'autorisation ou de refus prioritaires.
Fonctionnement
Portée
Une Network ACL s'applique uniquement aux interfaces réseau élastiques (ENI) situées dans le vSwitch associé.
-
Une Network ACL contrôle le trafic des ressources cloud utilisant des ENI, telles que les instances ECS, ECI et NLB.
Les instances ApsaraDB RDS et CLB n'utilisent pas d'ENI ; par conséquent, les Network ACLs ne s'y appliquent pas. L'accès aux instances RDS est contrôlé par des listes d'autorisation , tandis que l'accès aux instances CLB est géré par des politiques de contrôle d'accès .
Une Network ACL ne contrôle pas le trafic d'une ENI secondaire associée à une EIP en mode ENI-visible.
-
Le trafic PrivateLink transite par l'ENI du endpoint d'interface et est soumis aux règles de la Network ACL.
Mécanisme d'évaluation des règles
-
Les règles sont évaluées par ordre de priorité croissante, en commençant par 1. Chaque règle filtre le trafic selon la version IP, le protocole, l'adresse source ou de destination, ainsi que la plage de ports. La première règle correspondante applique sa politique d'autorisation ou de refus, et l'évaluation s'arrête.
Pour les règles entrantes et sortantes, la plage de ports correspond toujours au port de destination du trafic.
Les règles entrantes s'appliquent uniquement aux adresses source, tandis que les règles sortantes s'appliquent uniquement aux adresses de destination. Une seule règle ne peut pas spécifier à la fois une adresse source et une adresse de destination.
Le trafic refusé est silencieusement abandonné. La source ne reçoit aucune réponse, ce qui entraîne un délai d'attente ou un échec de connexion.
-
Les règles de Network ACL sont sans état. Une règle d'autorisation entrante n'autorise pas automatiquement le trafic de retour : vous devez créer une règle sortante pour Allow les réponses vers le port éphémère du client. Les clients sélectionnent aléatoirement un port éphémère pour recevoir les réponses.
Pour prendre en charge tous les types de clients, définissez la plage de ports éphémères sur 1024-65535.
Dans cet exemple, deux règles présentent des blocs CIDR qui se chevauchent. Un client situé à l'adresse 192.168.0.1 accédant au vSwitch via HTTPS correspond à la priorité 1 et est refusé. Un client situé à l'adresse 192.168.1.1 correspond à la priorité 2 et est autorisé. Le trafic de retour atteint le port éphémère du client via la règle sortante de priorité 1.
Pour ouvrir de nombreux ports tout en en refusant certains spécifiques, attribuez aux règles de refus un numéro de priorité inférieur (priorité plus élevée) par rapport aux règles d'autorisation.
Différences entre les Network ACLs et les groupes de sécurité
|
Élément |
Network ACL |
Groupe de sécurité |
|
Portée |
Contrôle le trafic entrant et sortant pour un vSwitch. |
Plusieurs groupes de sécurité peuvent être associés à une instance. Leurs règles combinées contrôlent le trafic entrant et sortant. |
|
Gestion des états |
Sans état : le trafic de retour doit être explicitement autorisé par une règle sortante. |
Avec état : le trafic de retour est automatiquement autorisé, indépendamment des règles sortantes. |
|
Évaluation des règles |
Les règles sont évaluées par priorité ; la première correspondance s'applique. |
Les règles sont évaluées par priorité. Pour les règles de même priorité, les règles de refus ont la préséance sur les règles d'autorisation. |
|
Association |
Chaque vSwitch ne peut être associé qu'à une seule Network ACL. |
Une instance ECS peut être associée à plusieurs groupes de sécurité. |
|
Configuration des adresses des règles |
Les règles entrantes s'appliquent uniquement aux adresses source, tandis que les règles sortantes s'appliquent uniquement aux adresses de destination. Une seule règle ne peut pas spécifier à la fois une adresse source et une adresse de destination. |
Les règles entrantes spécifient la source du trafic, et les règles sortantes spécifient la destination du trafic. |
Créer et supprimer des Network ACLs
Créez une Network ACL et associez-la à un vSwitch pour contrôler le trafic.
Lorsque vous créez une Network ACL pour un VPC IPv4 uniquement, le système ajoute les règles entrantes et sortantes par défaut suivantes :
-
Règle de service cloud : autorise l'accès à Alibaba Cloud DNS et au service de métadonnées ECS. Cette règle possède la priorité la plus élevée et ne peut ni être modifiée ni supprimée.
1. Adresses des serveurs DNS par défaut : 100.100.2.136 et 100.100.2.138 (résolution de noms de domaine interne).
2. Adresse MetaServer : 100.100.100.200 (service de métadonnées des instances ECS).
Règle personnalisée : autorise tout le trafic IPv4 afin de préserver la connectivité entre les vSwitches d'un même VPC. Ajoutez des règles personnalisées pour contrôler le trafic des vSwitches.
Règle système : refuse tout le trafic IPv4 non correspondant aux autres règles. Cette règle possède la priorité la plus basse et ne peut ni être modifiée ni supprimée.
Si le VPC a IPv6 activé, le système ajoute également une règle personnalisée autorisant tout le trafic IPv6 et une règle système refusant tout le trafic IPv6 pour les deux directions.
Une Network ACL ne peut être associée qu'aux vSwitches de son VPC. Chaque vSwitch ne peut être associé qu'à une seule Network ACL.
Console
Créer une Network ACL
Accédez à la page console VPC - Network ACL. Sélectionnez une région en haut de la page, puis cliquez sur Create Network ACL.
Pour VPC, sélectionnez le VPC contenant les vSwitches à associer à la Network ACL.
Associer des vSwitches
Cliquez sur l'ID de la Network ACL, ou cliquez sur Manage dans la colonne Actions. Dans l'onglet Associated Resources, cliquez sur Associate vSwitch. Sélectionnez un ou plusieurs vSwitches, puis cliquez sur OK. Pour dissocier un vSwitch, cliquez sur Unbind dans la colonne Actions du vSwitch cible dans cet onglet.
Vous pouvez également associer, remplacer ou dissocier une Network ACL dans la section Network ACL de la page de détails du vSwitch cible.
Supprimer une Network ACL
Assurez-vous que la Network ACL n'est associée à aucun vSwitch. Dans la colonne Actions de la Network ACL cible, cliquez sur Delete.
API
Appelez CreateNetworkAcl pour créer une Network ACL.
Appelez AssociateNetworkAcl pour associer une Network ACL à un vSwitch.
Appelez UnassociateNetworkAcl pour dissocier une Network ACL d'un vSwitch.
Appelez DeleteNetworkAcl pour supprimer une Network ACL.
Terraform
Terraform associe une Network ACL à un seul vSwitch à la fois.
Ressources : alicloud_network_acl
# Specify the region of the network ACL.
provider "alicloud" {
region = "cn-hangzhou"
}
# Specify the VPC ID.
variable "vpc_id" {
default = "vpc-bp1k******" # Replace with your VPC ID.
}
# Specify the vSwitch ID.
variable "vswitch_id" {
default = "vsw-bp1y******" # Replace with your vSwitch ID.
}
# Create a network ACL and associate it with a vSwitch.
resource "alicloud_network_acl" "example_network_acl" {
vpc_id = var.vpc_id # The VPC to which the network ACL belongs.
network_acl_name = "example_network_acl_name"
resources {
resource_id = var.vswitch_id # Specify the vSwitch to associate with the network ACL.
resource_type = "VSwitch"
}
}
Configurer les règles de Network ACL
Après avoir créé une Network ACL, des règles par défaut autorisent ou refusent tout le trafic.
-
Configurez des règles personnalisées pour contrôler le trafic des vSwitches. Lorsque le trafic correspond au Protocol, à la IP Version, à l'Source IP Address ou à l'Destination IP Address, ainsi qu'à la plage de ports, le système applique la Policy.
Pour
TCP(6)ouUDP(17), spécifiez une plage de ports (0-65535) au formatstart_port/end_port. N'utilisez pas-1/-1. Pour les autres protocoles, la plage de ports est par défaut-1/-1(tous les ports).Les règles IPv6 nécessitent qu'IPv6 soit activé sur le VPC.
Les modifications apportées aux règles sont automatiquement appliquées à tous les vSwitches associés.
-
Regroupez les blocs CIDR fréquemment utilisés dans une liste de préfixes et référencez-la dans les règles de Network ACL. Les modifications apportées à une liste de préfixes mettent automatiquement à jour toutes les règles qui y font référence.
Le paramètre maximum entries d'une liste de préfixes (et non son nombre réel d'entrées) compte dans votre quota de règles de Network ACL. Pour rester dans les limites du quota, réduisez le maximum, fusionnez les plages IP adjacentes ou supprimez les entrées inutilisées.
Une liste de préfixes est spécifique à une région et ne peut pas être partagée entre différentes régions. Une seule liste de préfixes ne peut pas mélanger des blocs CIDR IPv4 et IPv6.
1. Si vous configurez un ensemble d'options DHCP avec un serveur DNS personnalisé, ajoutez des règles entrantes et sortantes pour autoriser le trafic vers ce serveur. Sinon, la résolution de noms de domaine risque d'échouer.
2. Lors de l'utilisation d'un équilibreur de charge, ajoutez des règles pour autoriser la redirection des ports d'écoute et le trafic de vérification d'état vers les serveurs backend.
Console
Dans l'onglet Inbound Rules ou Outbound Rules de la Network ACL cible, suivez ces étapes pour configurer des règles personnalisées.
Les règles de Network ACL sont sans état. Une règle d'autorisation entrante nécessite une règle sortante correspondante pour le trafic de retour.
Ajouter des règles
-
Configuration manuelle : dans l'onglet Inbound Rules ou Outbound Rules de la Network ACL cible, cliquez sur Manage Inbound Rule ou Manage Outbound Rule.
Cliquez sur Add IPv4 Rule ou Add IPv6 Rule pour configurer les règles une par une.
Pour appliquer la même règle à plusieurs blocs CIDR, sélectionnez Quick Add et définissez la Priority pour spécifier où la règle est insérée.
Après avoir géré les blocs CIDR fréquemment utilisés dans une liste de préfixes, cliquez sur Add IPv4 Rule ou Add IPv6 Rule, définissez la IP Version sur VPC Prefix List, puis définissez l'Source IP Address ou l'Destination IP Address sur la liste de préfixes.
-
Importation groupée : utilisez le modèle fourni pour Import Rule.
Tous les champs du modèle sont obligatoires. Les règles incomplètes ne peuvent pas être importées.
Les listes de préfixes ne sont pas prises en charge.
Les règles importées sont ajoutées après les règles existantes sans les écraser.
Réorganiser les règles
Cliquez sur Manage Inbound Rule ou Manage Outbound Rule, puis faites glisser les règles vers le haut ou vers le bas pour ajuster leur ordre d'évaluation.
Supprimer des règles
Dans la colonne Actions de la règle de Network ACL cible, cliquez sur Delete.
API
Appelez UpdateNetworkAclEntries pour mettre à jour les règles de Network ACL. Cette API effectue un remplacement complet : toutes les règles existantes non incluses dans votre requête sont supprimées. Pour conserver des règles, incluez-les dans l'appel API.
Appelez CopyNetworkAclEntries pour copier toutes les règles d'une Network ACL vers une autre. Les deux ACL doivent appartenir à des VPC ayant des configurations de version IP correspondantes. Vous ne pouvez pas ajouter de règles IPv6 à une Network ACL dans un VPC IPv4 uniquement. La copie de règles vers un VPC avec IPv6 activé n'ajoute pas la règle personnalisée par défaut autorisant tout le trafic IPv6, ce qui peut perturber la communication IPv6.
Terraform
Cet exemple ajoute des règles de refus pour le trafic entrant et sortant. Adaptez-le pour qu'il corresponde à votre politique de contrôle d'accès.
Ressource : alicloud_network_acl
# Specify the region for the network ACL.
provider "alicloud" {
region = "cn-hangzhou"
}
# Specify the VPC ID.
variable "vpc_id" {
default = "vpc-bp1k******" # Replace with the actual ID of your VPC.
}
# Specify the vSwitch ID.
variable "vswitch_id" {
default = "vsw-bp1y******" # Replace with the actual ID of your vSwitch.
}
# Create a network ACL and associate it with a vSwitch.
resource "alicloud_network_acl" "example_network_acl" {
vpc_id = var.vpc_id # Specify the VPC for the network ACL.
network_acl_name = "example_network_acl_name"
resources {
resource_id = var.vswitch_id # Specify the vSwitch to associate with the network ACL.
resource_type = "VSwitch"
}
ingress_acl_entries { # Specify inbound rules.
network_acl_entry_name = "example-ingress"
protocol = "tcp" # Protocol
source_cidr_ip = "10.0.0.0/24" # Source CIDR block
port = "20/80" # Port range
policy = "drop" # Policy
}
egress_acl_entries { # Specify outbound rules.
network_acl_entry_name = "example-egress"
protocol = "tcp"
destination_cidr_ip = "10.0.0.0/24" # Destination CIDR block
port = "20/80" # Port range
policy = "drop" # Policy
}
}
Exemples de règles de Network ACL
Restreindre la communication entre différents vSwitches
Par défaut, les vSwitches d'un même VPC communiquent librement. Utilisez une Network ACL pour refuser l'accès depuis des adresses IP spécifiques.
Dans cet exemple, les règles entrantes et sortantes de la Network ACL du vSwitch 1 empêchent ses instances de communiquer avec ECS06.
Autoriser l'accès depuis des adresses IP spécifiques
Lorsqu'un centre de données sur site se connecte à un VPC via Express Connect, toutes les ressources du centre de données peuvent accéder aux services cloud. Utilisez une Network ACL pour autoriser uniquement des adresses IP spécifiques.
Dans cet exemple, la Network ACL autorise l'accès aux instances du vSwitch uniquement depuis les serveurs sur site 1 et 2.
Informations complémentaires
Facturation
Les Network ACLs sont gratuites.
Régions prises en charge
Région géographique | Régions |
Asie-Pacifique - Chine | Chine (Hangzhou), Chine (Shanghai), Chine (Nanjing - Région locale, fermeture en cours), Chine (Qingdao), Chine (Pékin), Chine (Zhangjiakou), Chine (Hohhot), Chine (Ulanqab), Chine (Shenzhen), Chine (Heyuan), Chine (Guangzhou), Chine (Chengdu), Chine (Zhongwei), Chine (Hong Kong), Chine (Wuhan - Région locale) et Chine (Fuzhou - Région locale, fermeture en cours) |
Asie-Pacifique - Autres | Japon (Tokyo), Corée du Sud (Séoul), Singapour, Malaisie (Kuala Lumpur), Indonésie (Jakarta), Philippines (Manille), Thaïlande (Bangkok) et Malaisie (Johor) |
Europe et Amériques | Allemagne (Francfort), Royaume-Uni (Londres), France (Paris), États-Unis (Silicon Valley), États-Unis (Virginie), Mexique et Brésil (São Paulo) |
Moyen-Orient | Émirats arabes unis (Dubaï) et Arabie saoudite (Riyad - Région partenaire) |
Quotas
Nom du quota | Description | Limite par défaut | Ajustable |
vpc_quota_nacl_ingress_entry | Nombre maximal de règles entrantes que vous pouvez créer dans une Network ACL. Si IPv6 est activé pour le VPC associé à la Network ACL, vous pouvez créer jusqu'à 20 règles entrantes pour IPv4 et 20 pour IPv6. | 20 | Oui. Pour demander une augmentation de quota, accédez à la page de gestion des quotas ou au Centre de quotas. |
vpc_quota_nacl_egress_entry | Nombre maximal de règles sortantes que vous pouvez créer dans une Network ACL. Si IPv6 est activé pour le VPC associé à la Network ACL, vous pouvez créer jusqu'à 20 règles sortantes pour IPv4 et 20 pour IPv6. | 20 | |
nacl_quota_vpc_create_count | Nombre maximal de Network ACLs que vous pouvez créer dans un VPC. | 20 |