Un groupe de sécurité est un pare-feu virtuel qui contrôle le trafic entrant et sortant d'Application Load Balancer (ALB) selon des règles définies. Pour autoriser ou rejeter l'accès à une instance ALB depuis des adresses IP spécifiques, vous pouvez ajouter cette instance à un groupe de sécurité. Ce dernier peut ainsi servir de liste noire ou de liste blanche. Vous pouvez créer des règles de groupe de sécurité pour mettre en œuvre un contrôle d'accès plus granulaire.
Scénarios
Par défaut, que l'instance ALB soit associée ou non à un groupe de sécurité, les ports de son écouteur acceptent toutes les requêtes entrantes. L'ajout d'un groupe de sécurité ne contenant que des règles d'autorisation (Allow) ne modifie pas ce comportement. Pour restreindre l'accès à certaines adresses IP, ajoutez au moins une règle de refus (Deny) au groupe de sécurité.
Les groupes de sécurité ALB s'appliquent uniquement au trafic entrant. Le trafic sortant (réponses aux requêtes clients) n'est jamais limité ; aucune règle sortante n'est donc requise.
Groupe de sécurité géré
Lorsque vous créez une instance ALB, le système génère automatiquement un groupe de sécurité géré dans le même Virtual Private Cloud (VPC). Ce groupe est en lecture seule : vous pouvez consulter ses règles, mais pas les modifier.
Le groupe de sécurité géré contient les règles suivantes :
|
Priorité |
Action |
Protocole |
Source |
Plage de ports |
Description |
|
1 |
Autoriser |
Tous |
Adresses IP locales NLB |
Tous |
Permet la communication entre l'instance ALB et ses serveurs backend, et autorise le trafic des vérifications d'état |
|
100 |
Autoriser |
Tous |
0.0.0.0/0 |
Tous |
Autorise tout le trafic entrant par défaut |
|
(invisible) |
Refuser |
Tous |
0.0.0.0/0 |
Tous |
Règle de refus par défaut intégrée aux groupes de sécurité basiques et avancés ; la règle d'autorisation de priorité 100 est prioritaire |
N'ajoutez pas de règles de refus (Deny) avec la priorité 1 ciblant les adresses IP locales de l'ALB. De telles règles entrent en conflit avec le groupe de sécurité géré et peuvent perturber la communication entre l'instance ALB et ses serveurs backend. Pour vérifier les adresses IP locales de votre instance ALB, connectez-vous à la console ALB.
Cette rubrique explique comment utiliser un groupe de sécurité comme liste noire et comme liste blanche dans deux scénarios. Pour plus d'informations sur les priorités des règles de groupe de sécurité, consultez la section Stratégie de tri des règles de groupe de sécurité.
Liste noire : configurer le groupe de sécurité ALB pour refuser l'accès depuis des adresses IP spécifiques
Une entreprise a déployé ses activités sur ALB dans une région d'Alibaba Cloud. Une inspection de sécurité détecte des requêtes malveillantes et des attaques provenant d'une adresse IP, telle que 121.XX.XX.12. Ces comportements peuvent entraîner des risques métier et des risques de sécurité, tels que des fuites de données.
Pour résoudre ce problème, l'entreprise peut configurer une règle de groupe de sécurité pour l'instance ALB afin de refuser l'accès depuis des adresses IP spécifiques, telles que 121.XX.XX.12. Cette règle bloque les requêtes malveillantes et les attaques provenant d'adresses IP spécifiques, améliorant ainsi la sécurité et la stabilité de l'activité.
Liste blanche : configurer le groupe de sécurité ALB pour autoriser l'accès depuis des adresses IP spécifiques
Une entreprise a déployé sur ALB, dans une région d'Alibaba Cloud, des activités contenant des données sensibles. Pour restreindre l'accès à l'instance ALB, l'entreprise peut configurer une règle de groupe de sécurité afin d'autoriser l'accès uniquement depuis des adresses IP spécifiques, telles que 121.XX.XX.12. Les requêtes provenant d'autres adresses IP sont rejetées.
Limitations
Les instances ALB mises à niveau prennent en charge à la fois les groupes de sécurité et les listes de contrôle d'accès (ACL) pour contrôler le trafic entrant, tandis que les instances ALB non mises à niveau ne prennent en charge que les ACL. Pour utiliser des groupes de sécurité, créez de nouvelles instances ALB ou contactez votre gestionnaire de compte pour mettre à niveau les instances existantes.
Les groupes de sécurité personnalisés pour une instance ALB sont soumis aux limitations suivantes :
Ils doivent fonctionner sur le VPC de l'instance ALB.
Le nombre de groupes de sécurité personnalisés pouvant être associés à l'instance ALB correspond au quota de groupes de sécurité pour une interface réseau élastique (ENI) d'une instance Elastic Compute Service (ECS) moins 1, ce dernier étant occupé par le groupe de sécurité géré.
Le nombre de règles pouvant être associées à l'instance ALB correspond au quota de règles pour une ENI d'instance ECS moins le nombre de règles présentes dans le groupe de sécurité géré.
Une instance ALB ne peut être ajoutée qu'à un seul type de groupe de sécurité personnalisé, basique ou avancé. Pour changer le type de groupe de sécurité de votre instance ALB, retirez-la d'abord de tous les groupes associés, puis ajoutez-la à des groupes de l'autre type.
Prérequis
Un Virtual Private Cloud (VPC) nommé VPC1 est créé dans la région Chine (Hangzhou). Un vSwitch nommé VSW1 est créé dans la zone H et un autre vSwitch nommé VSW2 est créé dans la zone I. Pour plus d'informations, consultez la section Créer un VPC et un vSwitch.
-
Deux instances Elastic Compute Service (ECS) sont créées dans VSW1, et des applications sont déployées sur ECS01 et ECS02.
Pour plus d'informations sur la création d'une instance ECS, consultez la section Créer une instance à l'aide de l'assistant.
-
Les commandes suivantes montrent comment déployer des applications sur ECS01 et ECS02 :
Un nom de domaine est enregistré et un numéro ICP (Internet Content Provider) est obtenu pour ce domaine. Pour plus d'informations, consultez les sections Enregistrer un nom de domaine sur Alibaba Cloud et Présentation.
Le tableau suivant décrit les adresses IP des clients et des serveurs. Ces adresses sont fournies à titre indicatif.
|
Catégorie |
IP |
Description |
|
ECS01 (serveur) |
|
Les serveurs backend de l'instance ALB. |
|
ECS02 (serveur) |
|
|
|
Client03 |
Publique : 121.XX.XX.12 |
Le client qui accède à l'instance ALB. |
|
Client04 |
Publique : 121.XX.XX.45 |
Procédure
Étape 1 : Créer un groupe de serveurs
Connectez-vous à la console ALB.
Dans la barre de navigation supérieure, sélectionnez la région dans laquelle vous souhaitez créer un groupe de serveurs. Dans cet exemple, China (Hangzhou) est sélectionnée.
Dans le volet de navigation de gauche, choisissez .
Sur la page Server Groups, cliquez sur Create Server Group.
-
Dans la boîte de dialogue Create Server Group, configurez les paramètres et cliquez sur Create.
Le tableau suivant décrit les paramètres pertinents pour cette rubrique. Vous pouvez conserver les valeurs par défaut pour les autres paramètres. Pour plus d'informations, consultez la section Créer et gérer des groupes de serveurs.
Paramètre
Description
Server Group Type
Spécifiez un type de groupe de serveurs. Dans cet exemple, Server est sélectionné.
Server Group Name
Saisissez un nom pour le groupe de serveurs.
VPC
Sélectionnez le VPC dans lequel vous souhaitez créer le groupe de serveurs. Dans cet exemple, VPC1 est sélectionné.
Backend Server Protocol
Sélectionnez un protocole backend. HTTP est sélectionné dans cet exemple.
Scheduling Algorithm
L'algorithme de planification. Dans cet exemple, Weighted Round-robin est sélectionné.
Dans la boîte de dialogue The server group is created, cliquez sur Add Backend Server.
Sur l'onglet Backend Servers, cliquez sur Add Backend Server.
Dans le panneau Add Backend Server, sélectionnez ECS01 et ECS02, puis cliquez sur Next.
Spécifiez les ports et les pondérations pour les serveurs backend, puis cliquez sur OK.
Étape 2 : Créer une instance ALB et ajouter un écouteur
Connectez-vous à la console ALB.
Sur la page Instances, cliquez sur Create ALB.
-
Sur la page d'achat, configurez les paramètres suivants.
Le tableau suivant ne décrit que certains des paramètres. Les autres paramètres utilisent les valeurs par défaut. Pour plus d'informations, consultez la section Créer et gérer des instances ALB.
Region : la région dans laquelle vous souhaitez créer l'instance ALB. Dans cet exemple, China (Hangzhou) est sélectionnée.
Network Type : le type de réseau de l'instance ALB. Dans cet exemple, Public est sélectionné.
VPC : le VPC dans lequel vous souhaitez créer l'instance ALB. Dans cet exemple, VPC1 est sélectionné.
Cliquez sur Buy Now et effectuez le paiement.
Revenez à la page Instances et cliquez sur l'ID de l'instance ALB.
Cliquez sur l'onglet Listener, puis sur Quick Create Listener.
-
Dans la boîte de dialogue Quick Create Listener, configurez les paramètres et cliquez sur OK. Dans cet exemple, un écouteur HTTP écoutant sur le port 80 est créé. Le tableau suivant décrit les paramètres.
Paramètre
Description
Listener Protocol
Sélectionnez un protocole d'écouteur. Dans cet exemple, HTTP est sélectionné.
Listener Port
Saisissez un port d'écouteur. Dans cet exemple, 80 est spécifié.
Server Group
Sélectionnez un type de groupe de serveurs dans la liste déroulante de gauche et un groupe de serveurs dans la liste déroulante de droite. Dans cet exemple, le groupe de serveurs créé à l'étape 1 est sélectionné.
Étape 3 : Configurer un enregistrement CNAME
Pour la production, nous recommandons de mapper un nom de domaine personnalisé au nom de domaine de l'instance ALB en créant un enregistrement CNAME.
Dans le volet de navigation de gauche, choisissez .
Sur la page Instances, copiez le nom DNS de l'instance ALB créée.
-
Suivez ces étapes pour ajouter un enregistrement CNAME.
RemarqueSi votre nom de domaine est enregistré auprès d'un fournisseur autre qu'Alibaba Cloud, vous devez ajouter le domaine à la console Alibaba Cloud DNS avant de pouvoir configurer la résolution DNS. Pour plus d'informations, consultez la section Gérer les noms de domaine. Si votre nom de domaine est enregistré auprès d'Alibaba Cloud, poursuivez avec les étapes suivantes.
Connectez-vous à la console Alibaba Cloud DNS.
Sur la page Public Zone, localisez le nom de domaine cible et cliquez sur Settings dans la colonne Operations.
Sur la page Settings, cliquez sur Add Record.
-
Dans le panneau Add Record, configurez l'enregistrement CNAME en définissant les paramètres suivants, puis cliquez sur OK.
Paramètre
Description
Record Type
Sélectionnez CNAME dans la liste déroulante.
Hostname
Le préfixe de votre nom de domaine. Ce tutoriel utilise @.
RemarquePour utiliser un domaine racine, définissez le nom d'hôte sur
@.Query Source
Sélectionnez Default.
Record Value
Saisissez le nom DNS de l'instance ALB que vous avez copié.
TTL
Le Time to live (TTL) est la durée pendant laquelle un enregistrement DNS est mis en cache sur un serveur DNS. Utilisez la valeur par défaut.
Étape 4 : Créer des groupes de sécurité
Créez un groupe de sécurité dans la console ECS. Dans cet exemple, deux groupes de sécurité sont créés.
-
Utiliser le groupe de sécurité 1 comme liste noire
Ajoutez une règle de refus (Deny) qui refuse l'accès depuis des adresses IP spécifiées. Dans cet exemple, un groupe de sécurité refusant l'accès depuis l'adresse IP publique 121.XX.XX.12 est créé. Vous pouvez conserver les règles de groupe de sécurité par défaut.
Action
Priorité
Type de protocole
Plage de ports
Objet d'autorisation
Refuser
1
Tous
Destination : -1/-1
Source : 121.XX.XX.12
-
Utiliser le groupe de sécurité 2 comme liste blanche
Ajoutez une règle d'autorisation (Allow) permettant l'accès depuis des adresses IP spécifiques et une règle de refus (Deny) refusant l'accès depuis des adresses IP spécifiques. Dans cet exemple, une règle d'autorisation permettant l'accès depuis l'adresse IP publique 121.XX.XX.12 et une règle de refus sont créées.
Action
Priorité
Type de protocole
Plage de ports
Objet d'autorisation
Autoriser
1
Tous
Destination : -1/-1
Source : 121.XX.XX.12
Refuser
100
Tous
Destination : -1/-1
Source : 0.0.0.0/0
Connectez-vous à la console ECS.
Dans le volet de navigation de gauche, choisissez .
Dans la barre de navigation supérieure, sélectionnez la région dans laquelle vous souhaitez créer un groupe de sécurité. Dans cet exemple, China (Hangzhou) est sélectionnée.
Sur la page Security Groups, cliquez sur Create Security Group.
-
Sur la page Create Security Group, définissez les paramètres dans la section Basic Information.
Spécifiez les paramètres suivants. Pour plus d'informations sur les autres paramètres, consultez la section Groupes de sécurité.
Network : Dans cet exemple, VPC est sélectionné.
Security Group Type : Dans cet exemple, Basic Security Group est sélectionné.
-
Sur la page Create Security Group, définissez les paramètres dans la section Rules.
Cliquez sur Add Rule pour ajouter des règles selon les configurations des règles du groupe de sécurité 1 et du groupe de sécurité 2.
Cliquez sur OK.
Étape 5 : Tester le contrôle d'accès avant d'ajouter l'instance ALB à un groupe de sécurité
Utilisez Client03 et Client04 pour tester la disponibilité d'ECS01 et d'ECS02.
Connectez-vous à Client03 et exécutez la commande
curl http://Nom de domaine personnalisé. Le paquetHello World! This is ECS01.est renvoyé. Cela indique que Client03 peut accéder à l'instance ALB.Connectez-vous à Client04 et exécutez la commande
curl http://Nom de domaine personnalisé. Le paquetHello World! This is ECS02.est renvoyé, ce qui indique que Client04 peut accéder à l'instance ALB.
Étape 6 : Ajouter l'instance ALB aux groupes de sécurité et vérifier le résultat
Utiliser le groupe de sécurité 1 comme liste noire
Ajoutez l'instance ALB au groupe de sécurité 1 créé à l'étape 4 : Créer des groupes de sécurité pour tester si les règles du groupe de sécurité 1 s'appliquent à l'instance ALB.
Connectez-vous à la console ALB.
Dans la barre de navigation supérieure, sélectionnez la région de l'instance ALB. Dans cet exemple, China (Hangzhou) est sélectionnée.
Sur la page Instances, cliquez sur l'ID de l'instance ALB à gérer. Sur la page des détails de l'instance, cliquez sur l'onglet Security Groups.
Sur l'onglet Security Groups, cliquez sur Create Security Group. Dans la boîte de dialogue Add ALB to Security Group, sélectionnez le groupe de sécurité 1 créé à l'étape 4 : Créer des groupes de sécurité et cliquez sur OK.
-
Dans le panneau de gauche, cliquez sur l'ID du groupe de sécurité à gérer. Vous pouvez cliquer sur l'onglet Inbound ou Outbound pour afficher les règles du groupe de sécurité.
Le tableau suivant décrit uniquement la règle de groupe de sécurité entrante pertinente pour cette rubrique.
Action
Priorité
Type de protocole
Plage de ports
Objet d'autorisation
Refuser
1
Tous
Destination : -1/-1
Source : 121.XX.XX.12
-
Ajoutez l'instance ALB au groupe de sécurité et testez le résultat.
-
Connectez-vous à Client03 et exécutez la commande
curl http://Nom de domaine personnalisé. Une réponse est reçue, comme indiqué ci-dessous, ce qui signifie que l'accès depuis Client03 est refusé par l'instance ALB.[root@xxx /]# curl http://xxx.xxx.xxx curl: (7) Failed connect to xxx.xxx.xxx:80; Connection timed out Connectez-vous à Client04 et exécutez la commande
curl http://Nom de domaine personnalisé. Le paquetHello World! This is ECS01.est renvoyé. Cela indique que Client04 peut accéder à l'instance ALB.
-
Les résultats montrent qu'après l'ajout de l'instance ALB au groupe de sécurité 1 qui fonctionne comme liste noire, la règle de refus du groupe de sécurité 1 refuse l'accès à l'instance ALB depuis l'adresse IP spécifiée. Les adresses IP non spécifiées dans la règle de refus peuvent accéder à l'instance ALB.
Utiliser le groupe de sécurité 2 comme liste blanche
Ajoutez l'instance ALB au groupe de sécurité 2 créé à l'étape 4 : Créer des groupes de sécurité et testez si les règles du groupe de sécurité 2 s'appliquent à l'instance ALB.
Connectez-vous à la console ALB.
Dans la barre de navigation supérieure, sélectionnez la région de l'instance ALB. Dans cet exemple, China (Hangzhou) est sélectionnée.
Sur la page Instances, cliquez sur l'ID de l'instance ALB à gérer. Sur l'onglet Instance Details, cliquez sur l'onglet Security Groups.
Sur l'onglet Security Groups, cliquez sur Create Security Group. Dans la boîte de dialogue Add ALB to Security Group, sélectionnez le groupe de sécurité 2 créé à l'étape 4 : Créer des groupes de sécurité et cliquez sur OK.
-
Dans le panneau de gauche, cliquez sur l'ID du groupe de sécurité à gérer. Vous pouvez cliquer sur l'onglet Inbound ou Outbound pour afficher les règles du groupe de sécurité.
Le tableau suivant décrit uniquement les paramètres pertinents pour cette rubrique.
Action
Priorité
Type de protocole
Plage de ports
Objet d'autorisation
Oui
1
Tous
Destination : -1/-1
Source : 121.XX.XX.12
Refuser
100
Tous
Destination : -1/-1
Source : Toutes les adresses IPv4 (0.0.0.0/0)
-
Ajoutez l'instance ALB au groupe de sécurité et testez le résultat.
Connectez-vous à Client03 et exécutez la commande
curl http://Nom de domaine personnalisé. Le paquetHello World! This is ECS01.est renvoyé. Cela indique que Client03 peut accéder à l'instance ALB.-
Connectez-vous à Client04 et exécutez la commande
curl http://Nom de domaine personnalisé. Une réponse est reçue, comme indiqué ci-dessous. Cela indique que l'accès depuis Client04 est refusé par l'instance ALB.[root@xxx ~]# curl http://xxx curl: (7) Failed connect to xxx:80; Connection timed out
Les résultats du test montrent qu'après l'ajout de l'instance ALB au groupe de sécurité 2 qui fonctionne comme liste blanche, seules les adresses IP figurant dans la règle d'autorisation peuvent accéder à l'instance ALB.
Bloquer les requêtes Ping vers ALB à l'aide d'un groupe de sécurité
Le groupe de sécurité d'une instance ALB mise à niveau prend en charge le protocole ICMP. En suivant la méthode de configuration des règles de groupe de sécurité décrite précédemment dans cette rubrique, ajoutez une règle Deny dans la direction Inbound du groupe de sécurité associé, avec le Protocol Type défini sur All ICMP-IPv4 et la Access Source définie sur 0.0.0.0/0 pour bloquer les requêtes Ping vers l'instance ALB.
Si vous utilisez une instance créée avant le 25 février 2025 qui n'a pas été mise à niveau, celle-ci ne prend pas en charge les groupes de sécurité. Pour bloquer les requêtes Ping, vous pouvez connecter l'EIP associé à l'instance à un pare-feu Internet et configurer une politique ICMP entrante de refus sur le pare-feu pour obtenir un effet de contrôle d'accès similaire.
Comment trouver à quelle instance ALB appartient un groupe de sécurité géré ?
Sur la page Security Groups de la console ECS, définissez le filtre de type de groupe de sécurité sur Cloud product-managed security group et recherchez le groupe de sécurité dont le nom commence par ALB_SYSTEM_SECURITY_GROUP-. Son nom et sa description suivent le format ALB_SYSTEM_SECURITY_GROUP-{ID de l'instance ALB}, où l'ID de l'instance identifie l'instance ALB qui a créé le groupe de sécurité.
Références
Documentation de la console
Pour plus d'informations sur l'ajout et la suppression d'instances ALB dans les groupes de sécurité, consultez la section Ajouter une instance ALB à un groupe de sécurité.
Pour plus d'informations sur la mise en œuvre du contrôle d'accès pour ALB basé sur les écouteurs et les ports, consultez la section Mettre en œuvre un contrôle d'accès au niveau du port avec des groupes de sécurité.
Pour connaître les différences entre les groupes de sécurité basiques et avancés, consultez la section Groupes de sécurité basiques et avancés.
Références
Console
Pour associer ou dissocier un groupe de sécurité à une instance ALB, consultez la section Associer une instance ALB à un groupe de sécurité.
Pour créer une liste d'autorisation ou une liste de blocage pour une instance ALB à l'aide d'un groupe de sécurité, consultez la section Configurer un groupe de sécurité pour une instance ALB afin de mettre en œuvre une liste d'autorisation ou de blocage.
Pour plus d'informations sur les groupes de sécurité basiques et les groupes de sécurité d'entreprise, consultez la section Groupes de sécurité basiques et groupes de sécurité d'entreprise.
API
LoadBalancerJoinSecurityGroup : Associe un groupe de sécurité à une instance Application Load Balancer.
LoadBalancerLeaveSecurityGroup : Dissocie un groupe de sécurité d'une instance Application Load Balancer.