Um grupo de segurança atua como um firewall virtual que controla o tráfego de entrada e saída do Application Load Balancer (ALB) com base em regras específicas. Para permitir ou rejeitar o acesso de endereços IP específicos a uma instância ALB, adicione a instância a um grupo de segurança. Esse recurso funciona como uma lista de bloqueios ou de permissões para a instância ALB. Além disso, é possível criar regras no grupo de segurança para implementar um controle de acesso mais granular.
Cenários
Por padrão, as portas de listener da instância ALB aceitam todas as solicitações de entrada, independentemente de haver ou não um grupo de segurança associado. Adicionar um grupo de segurança contendo apenas regras Allow não altera esse comportamento. Para restringir o acesso a endereços IP específicos, inclua pelo menos uma regra Deny no grupo de segurança.
Os grupos de segurança do ALB aplicam-se exclusivamente ao tráfego de entrada. O tráfego de saída (respostas às solicitações do cliente) nunca sofre restrições; portanto, regras de saída são desnecessárias.
Grupo de segurança gerenciado
Ao criar uma instância ALB, o sistema gera automaticamente um grupo de segurança gerenciado na mesma Virtual Private Cloud (VPC). Esse grupo é somente leitura: você pode visualizar suas regras, mas não pode modificá-las.
O grupo de segurança gerenciado contém as seguintes regras:
|
Prioridade |
Ação |
Protocolo |
Origem |
Intervalo de portas |
Descrição |
|
1 |
Allow |
All |
Endereços IP locais do NLB |
All |
Habilita a comunicação entre a instância ALB e seus servidores back-end, além de permitir o tráfego de verificação de integridade |
|
100 |
Allow |
All |
0.0.0.0/0 |
All |
Permite todo o tráfego de entrada por padrão |
|
(invisível) |
Deny |
All |
0.0.0.0/0 |
All |
Regra padrão de negação total integrada aos grupos de segurança básicos e avançados; a regra Allow de prioridade 100 tem precedência |
Não adicione regras Deny com prioridade 1 que tenham como alvo os endereços IP locais do ALB. Tais regras entram em conflito com o grupo de segurança gerenciado e podem interromper a comunicação entre a instância ALB e seus servidores back-end. Para verificar os endereços IP locais da sua instância ALB, faça login no console do ALB.
Este tópico descreve como utilizar um grupo de segurança como lista de bloqueios e como lista de permissões em dois cenários distintos. Para obter mais informações sobre as prioridades das regras de grupo de segurança, consulte Sorting policy of security group rules.
Lista de bloqueios: Configure o grupo de segurança do ALB para negar o acesso de endereços IP específicos
Uma empresa implantou negócios no ALB em uma região da Alibaba Cloud. Uma inspeção de segurança detectou solicitações maliciosas e ataques provenientes de um endereço IP, como 121.XX.XX.12. Esse comportamento pode gerar riscos operacionais e de segurança, incluindo vazamento de dados.
Para resolver essa questão, a empresa pode configurar uma regra de grupo de segurança na instância ALB para negar o acesso de endereços IP específicos, como 121.XX.XX.12. A regra bloqueia solicitações maliciosas e ataques originados desses IPs, melhorando a segurança e a estabilidade dos negócios.
Lista de permissões: Configure o grupo de segurança do ALB para permitir o acesso de endereços IP específicos
Uma empresa implantou no ALB aplicações que contêm dados sensíveis em uma região da Alibaba Cloud. Para restringir o acesso à instância ALB, configure uma regra de grupo de segurança que permita o tráfego apenas de endereços IP específicos, como 121.XX.XX.12. As solicitações provenientes de outros endereços IP serão rejeitadas.
Limitações
Instâncias Upgraded ALB instances suportam tanto grupos de segurança quanto listas de controle de acesso (ACLs) para gerenciar o tráfego de entrada. Já as instâncias ALB não atualizadas suportam apenas ACLs. Para utilizar grupos de segurança, crie novas instâncias ALB ou entre em contato com seu gerente de conta para atualizar as instâncias existentes.
Os grupos de segurança personalizados associados a uma instância ALB estão sujeitos às seguintes limitações:
Devem operar na mesma VPC da instância ALB.
A quantidade de grupos de segurança personalizados associáveis à instância ALB corresponde à cota de grupos de segurança por elastic network interface (ENI) de uma instância Elastic Compute Service (ECS) menos 1, pois o grupo de segurança gerenciado já ocupa uma vaga.
O número máximo de regras associáveis à instância ALB equivale à cota de regras por ENI de instância ECS subtraída da quantidade de regras presentes no grupo de segurança gerenciado.
Cada instância ALB pode pertencer a apenas um tipo de grupo de segurança personalizado: básico ou avançado. Caso precise alterar o tipo, remova a instância de todos os grupos associados e adicione-a novamente em grupos do novo tipo desejado.
Pré-requisitos
Uma Virtual Private Cloud (VPC) chamada VPC1 foi criada na região China (Hangzhou). Um vSwitch chamado VSW1 foi criado na Zona H e outro vSwitch chamado VSW2 foi criado na Zona I. Para mais detalhes, consulte Create VPC and vSwitch.
-
Duas instâncias Elastic Compute Service (ECS) foram provisionadas no VSW1, com aplicações implantadas no ECS01 e no ECS02.
Para saber como criar uma instância ECS, consulte Create an instance by using the wizard.
-
Os comandos abaixo demonstram como implantar aplicações no ECS01 e no ECS02:
Um nome de domínio foi registrado e obteve-se um número de provedor de conteúdo de Internet (ICP) para ele. Para mais informações, consulte Register a domain name on Alibaba Cloud e Overview.
A tabela a seguir apresenta os endereços IP dos clientes e servidores. Estes valores servem apenas como referência.
|
Categoria |
IP |
Descrição |
|
ECS01 (servidor) |
|
Servidores back-end da instância ALB. |
|
ECS02 (servidor) |
|
|
|
Client03 |
Público: 121.XX.XX.12 |
Cliente que acessa a instância ALB. |
|
Client04 |
Público: 121.XX.XX.45 |
Procedimento
Etapa 1: Criar um grupo de servidores
Faça login no console do ALB.
Na barra de navegação superior, selecione a região onde deseja criar o grupo de servidores. Neste exemplo, China (Hangzhou) foi selecionada.
No painel de navegação à esquerda, escolha .
Na página Server Groups, clique em Create Server Group.
-
Na caixa de diálogo Create Server Group, configure os parâmetros e clique em Create.
A tabela abaixo detalha os parâmetros relevantes para este tópico. Mantenha os valores padrão para os demais parâmetros. Para mais informações, consulte Create and manage server groups.
Parâmetro
Descrição
Server Group Type
Especifique o tipo de grupo de servidores. Neste exemplo, Server foi selecionado.
Server Group Name
Insira um nome para o grupo de servidores.
VPC
Selecione a VPC onde o grupo de servidores será criado. Neste exemplo, VPC1 foi escolhida.
Backend Server Protocol
Escolha o protocolo de back-end. Neste exemplo, HTTP foi selecionado.
Scheduling Algorithm
Algoritmo de agendamento. Neste exemplo, Weighted Round-robin foi escolhido.
Na caixa de diálogo The server group is created, clique em Add Backend Server.
Na aba Backend Servers, clique em Add Backend Server.
No painel Add Backend Server, selecione ECS01 e ECS02 e clique em Next.
Defina as portas e os pesos dos servidores back-end e clique em OK.
Etapa 2: Criar uma instância ALB e adicionar um listener
Faça login no console do ALB.
Na página Instances, clique em Create ALB.
-
Na página de compra, configure os seguintes parâmetros.
A tabela a seguir descreve apenas alguns dos parâmetros. Os demais mantêm os valores padrão. Para mais detalhes, consulte Create and manage ALB instances.
Region: região onde a instância ALB será criada. Neste exemplo, China (Hangzhou) foi selecionada.
Network Type: tipo de rede da instância ALB. Neste exemplo, Public foi escolhido.
VPC: VPC onde a instância ALB será provisionada. Neste exemplo, VPC1 foi selecionada.
Clique em Buy Now e conclua o pagamento.
Retorne à página Instances e clique no ID da instância ALB.
Clique na aba Listener e, em seguida, clique em Quick Create Listener.
-
Na caixa de diálogo Quick Create Listener, configure os parâmetros e clique em OK. Neste exemplo, cria-se um listener HTTP escutando na porta 80. A tabela abaixo descreve os parâmetros utilizados.
Parâmetro
Descrição
Listener Protocol
Selecione o protocolo do listener. Neste exemplo, HTTP foi escolhido.
Listener Port
Insira a porta do listener. Neste exemplo, 80 foi especificado.
Server Group
Selecione o tipo de grupo de servidores na lista suspensa à esquerda e escolha o grupo específico na lista à direita. Neste exemplo, utilizou-se o grupo criado na Etapa 1.
Etapa 3: Configurar um registro CNAME
Para ambientes de produção, recomendamos mapear um nome de domínio personalizado para o nome de domínio da instância ALB através da criação de um registro CNAME.
No painel de navegação à esquerda, escolha .
Na página Instances, copie o nome DNS da instância ALB criada.
-
Siga estas etapas para adicionar um registro CNAME.
NotaSe o seu domínio foi registrado por um provedor externo à Alibaba Cloud, adicione-o ao console do Alibaba Cloud DNS antes de configurar a resolução. Para mais detalhes, consulte Manage domain names. Caso o domínio esteja registrado na Alibaba Cloud, prossiga com os passos abaixo.
Faça login no console do Alibaba Cloud DNS.
Na página Public Zone, localize o domínio desejado e clique em Settings na coluna Operations.
Na página Settings, clique em Add Record.
-
No painel Add Record, configure o registro CNAME definindo os parâmetros abaixo e clique em OK.
Parâmetro
Descrição
Record Type
Selecione CNAME na lista suspensa.
Hostname
Prefixo do seu nome de domínio. Este tutorial utiliza @.
NotaPara usar um domínio raiz, defina o hostname como
@.Query Source
Selecione Default.
Record Value
Insira o nome DNS da instância ALB que você copiou anteriormente.
TTL
Time to live (TTL) representa a duração do cache de um registro DNS no servidor. Utilize o valor padrão.
Etapa 4: Criar grupos de segurança
Crie um grupo de segurança no console do ECS. Neste exemplo, dois grupos de segurança serão criados.
-
Utilizar o Grupo de Segurança 1 como lista de bloqueios
Adicione uma regra Deny para recusar o acesso de endereços IP específicos. Neste cenário, cria-se um grupo de segurança que nega requisições vindas do IP público 121.XX.XX.12. As regras padrão do grupo de segurança podem ser mantidas.
Ação
Prioridade
Tipo de Protocolo
Intervalo de Portas
Objeto de Autorização
Deny
1
All
Destination: -1/-1
Source: 121.XX.XX.12
-
Utilizar o Grupo de Segurança 2 como lista de permissões
Inclua uma regra Allow para liberar o acesso de IPs autorizados e uma regra Deny para bloquear os demais. Neste caso, configuramos uma permissão para o IP público 121.XX.XX.12 e uma negação geral.
Ação
Prioridade
Tipo de Protocolo
Intervalo de Portas
Objeto de Autorização
Allow
1
All
Destination: -1/-1
Source: 121.XX.XX.12
Deny
100
All
Destination: -1/-1
Source: 0.0.0.0/0
Faça login no console do ECS.
No painel de navegação à esquerda, escolha .
Na barra de navegação superior, selecione a região onde o grupo de segurança será criado. Neste exemplo, China (Hangzhou) foi escolhida.
Na página Security Groups, clique em Create Security Group.
-
Na página Create Security Group, configure os parâmetros na seção Basic Information.
Defina os seguintes parâmetros. Para detalhes sobre os demais, consulte Security groups.
Network: Neste exemplo, VPC foi selecionada.
Security Group Type: Neste exemplo, Basic Security Group foi escolhido.
-
Ainda na página Create Security Group, configure os parâmetros na seção Rules.
Clique em Add Rule para inserir as regras conforme as configurações do Grupo de Segurança 1 e do Grupo de Segurança 2.
Clique em OK.
Etapa 5: Testar o controle de acesso antes de adicionar a instância ALB ao grupo de segurança
Utilize o Client03 e o Client04 para verificar a disponibilidade do ECS01 e do ECS02.
Acesse o Client03 e execute o comando
curl http://Custom domain name. O pacoteHello World! This is ECS01.será retornado, indicando que o Client03 consegue acessar a instância ALB.Acesse o Client04 e execute o comando
curl http://Custom domain name. O retorno será o pacoteHello World! This is ECS02., confirmando que o Client04 também tem acesso à instância ALB.
Etapa 6: Adicionar a instância ALB aos grupos de segurança e validar o resultado
Utilizar o Grupo de Segurança 1 como lista de bloqueios
Associe a instância ALB ao Grupo de Segurança 1 criado em Step 4: Create a security group para testar se as regras desse grupo surtem efeito na instância.
Faça login no console do ALB.
Na barra de navegação superior, selecione a região da instância ALB. Neste exemplo, China (Hangzhou) foi escolhida.
Na página Instances, clique no ID da instância ALB que deseja gerenciar. Na página de detalhes da instância, clique na aba Security Groups.
Na aba Security Groups, clique em Create Security Group. Na caixa de diálogo Add ALB to Security Group, selecione o Grupo de Segurança 1 criado em Step 4: Create security groups e clique em OK.
-
No painel lateral esquerdo, clique no ID do grupo de segurança que deseja gerenciar. Navegue pelas abas Inbound ou Outbound para visualizar as regras configuradas.
A tabela abaixo mostra apenas a regra de entrada relevante para este tópico.
Ação
Prioridade
Tipo de Protocolo
Intervalo de Portas
Objeto de Autorização
Deny
1
All
Destination: -1/-1
Source: 121.XX.XX.12
-
Após associar a instância ALB ao grupo de segurança, realize o teste de validação.
-
Acesse o Client03 e execute o comando
curl http://Custom domain name. Você receberá uma resposta semelhante à mostrada abaixo, indicando que o acesso do Client03 foi negado pela instância ALB.[root@xxx /]# curl http://xxx.xxx.xxx curl: (7) Failed connect to xxx.xxx.xxx:80; Connection timed out Acesse o Client04 e execute o comando
curl http://Custom domain name. O pacoteHello World! This is ECS01.será retornado, demonstrando que o Client04 ainda consegue acessar a instância ALB normalmente.
-
Os resultados confirmam que, após adicionar a instância ALB ao Grupo de Segurança 1 (funcionando como lista de bloqueios), a regra Deny impede o acesso do endereço IP especificado. Demais endereços IP, não listados na regra de negação, continuam acessando a instância ALB sem problemas.
Utilizar o Grupo de Segurança 2 como lista de permissões
Associe a instância ALB ao Grupo de Segurança 2 criado em Step 4: Create security groups e verifique se as regras deste grupo são aplicadas corretamente.
Faça login no console do ALB.
Na barra de navegação superior, selecione a região da instância ALB. Neste exemplo, China (Hangzhou) foi escolhida.
Na página Instances, clique no ID da instância ALB que deseja gerenciar. Na aba Instance Details, clique na aba Security Groups.
Na aba Security Groups, clique em Create Security Group. Na caixa de diálogo Add ALB to Security Group, selecione o Grupo de Segurança 2 criado em Step 4: Create security groups e clique em OK.
-
No painel lateral esquerdo, clique no ID do grupo de segurança que deseja gerenciar. Utilize as abas Inbound ou Outbound para inspecionar as regras.
A tabela a seguir exibe apenas os parâmetros pertinentes a este tópico.
Ação
Prioridade
Tipo de Protocolo
Intervalo de Portas
Objeto de Autorização
Yes
1
All
Destination: -1/-1
Source: 121.XX.XX.12
Deny
100
All
Destination: -1/-1
Source: All IPv4 Addresses (0.0.0.0/0)
-
Após associar a instância ALB ao grupo de segurança, execute o teste de validação.
Acesse o Client03 e execute o comando
curl http://Custom domain name. O pacoteHello World! This is ECS01.será retornado, confirmando que o Client03 possui acesso permitido à instância ALB.-
Acesse o Client04 e execute o comando
curl http://Custom domain name. Você receberá uma resposta conforme exibido abaixo, indicando que o acesso do Client04 foi negado pela instância ALB.[root@xxx ~]# curl http://xxx curl: (7) Failed connect to xxx:80; Connection timed out
Os testes demonstram que, ao adicionar a instância ALB ao Grupo de Segurança 2 (atuando como lista de permissões), somente os endereços IP definidos na regra Allow conseguem estabelecer conexão com a instância.
Bloquear solicitações Ping ao ALB usando um grupo de segurança
O grupo de segurança de uma instância upgraded ALB instance suporta o protocolo ICMP. Seguindo o método de configuração descrito anteriormente neste tópico, adicione uma regra Deny na direção Inbound do grupo de segurança associado. Defina o Protocol Type como All ICMP-IPv4 e a Access Source como 0.0.0.0/0 para bloquear solicitações Ping destinadas à instância ALB.
Se você estiver utilizando uma instância criada antes de 25 de fevereiro de 2025 que não tenha sido atualizada, ela não oferecerá suporte a grupos de segurança. Para bloquear solicitações Ping nesse cenário, conecte o EIP associado à instância a um Internet firewall e configure uma política de negação ICMP de entrada no firewall para obter um efeito similar de controle de acesso.
Como identificar a qual instância ALB um grupo de segurança gerenciado pertence?
Na página Security Groups do console do ECS, filtre pelo tipo de grupo de segurança Cloud product-managed security group e localize o grupo cujo nome começa com ALB_SYSTEM_SECURITY_GROUP-. Tanto o nome quanto a descrição seguem o formato ALB_SYSTEM_SECURITY_GROUP-{ALB Instance ID}, onde o ID da instância identifica a instância ALB responsável pela criação do grupo de segurança.
Referências
Documentação do console
Para saber como adicionar ou remover instâncias ALB em grupos de segurança, consulte Add an ALB instance to a security group.
Para implementar controle de acesso no ALB baseado em listeners e portas, veja Implement port-level access control with security groups.
Para entender as diferenças entre grupos de segurança básicos e avançados, consulte Basic and advanced security groups.
Referências
Console
Para associar ou desassociar um grupo de segurança de uma instância ALB, consulte Associate an ALB instance with a security group.
Para criar uma lista de permissões ou de bloqueios para uma instância ALB usando grupos de segurança, veja Configure a security group for an ALB instance to implement an allowlist or blocklist.
Para mais informações sobre grupos de segurança básicos e empresariais, consulte Basic security groups and enterprise security groups.
API
LoadBalancerJoinSecurityGroup: Associa um grupo de segurança a uma instância Application Load Balancer.
LoadBalancerLeaveSecurityGroup: Desassocia um grupo de segurança de uma instância Application Load Balancer.