Um grupo de segurança é um firewall virtual que controla o tráfego de entrada e saída do Application Load Balancer (ALB) com base em regras de entrada e saída. Para permitir ou rejeitar o acesso de endereços IP específicos a uma instância ALB, adicione a instância ALB a um grupo de segurança. Um grupo de segurança pode funcionar como lista de bloqueios ou lista de permissões para uma instância ALB. Crie regras de grupo de segurança para implementar controle de acesso mais granular.
Cenários
Por padrão, independentemente de a instância ALB estar associada a um grupo de segurança, suas portas de listener aceitam todas as solicitações de entrada. Adicionar um grupo de segurança apenas com regras Allow não altera esse comportamento. Para restringir o acesso a endereços IP específicos, adicione pelo menos uma regra Deny ao grupo de segurança.
Os grupos de segurança do ALB aplicam-se apenas ao tráfego de entrada. O tráfego de saída (respostas às solicitações do cliente) nunca sofre restrição; portanto, regras de saída são desnecessárias.
Grupo de segurança gerenciado
Ao criar uma instância ALB, o sistema cria automaticamente um grupo de segurança gerenciado na mesma Virtual Private Cloud (VPC). Esse grupo de segurança é somente leitura: você pode visualizar as 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 e permite 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 logon no console do ALB.
Este tópico descreve como usar um grupo de segurança como lista de bloqueios e lista de permissões em dois cenários. Para obter mais informações sobre as prioridades das regras de grupo de segurança, consulte Política de classificação de regras de grupo de segurança.
Lista de bloqueios: Configure o grupo de segurança do ALB para negar 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. Esses comportamentos podem causar riscos aos negócios e riscos de segurança, como vazamentos de dados.
Para resolver esse problema, configure uma regra de grupo de segurança para a instância ALB a fim de negar o acesso de endereços IP específicos, como 121.XX.XX.12. A regra de grupo de segurança bloqueia solicitações maliciosas e ataques de endereços IP específicos para melhorar a segurança e a estabilidade dos negócios.
Lista de permissões: Configure o grupo de segurança do ALB para permitir acesso de endereços IP específicos
Uma empresa implantou negócios que contêm dados confidenciais no ALB em uma região da Alibaba Cloud. Para restringir o acesso à instância ALB, configure uma regra de grupo de segurança para permitir o acesso apenas de endereços IP específicos, como 121.XX.XX.12. Solicitações de outros endereços IP são rejeitadas.
Limitações
As instâncias ALB atualizadas suportam tanto grupos de segurança quanto listas de controle de acesso (ACLs) para controlar o tráfego de entrada, enquanto instâncias ALB não atualizadas suportam apenas ACLs. Para usar grupos de segurança, crie novas instâncias ALB ou entre em contato com seu gerente de conta para atualizar as instâncias ALB existentes.
Grupos de segurança personalizados para uma instância ALB estão sujeitos às seguintes limitações:
Devem operar na VPC da instância ALB.
O número de grupos de segurança personalizados associáveis à instância ALB equivale à cota de grupos de segurança para uma elastic network interface (ENI) de uma instância Elastic Compute Service (ECS) menos 1, ocupada pelo grupo de segurança gerenciado.
A quantidade de regras associáveis à instância ALB corresponde à cota de regras para uma ENI de instância ECS subtraída do número de regras presentes no grupo de segurança gerenciado.
Uma instância ALB pode ser adicionada a apenas um tipo de grupo de segurança personalizado: básico ou avançado. Para alterar o tipo de grupo de segurança da instância ALB, primeiro remova-a de todos os grupos associados e, em seguida, adicione-a a grupos de segurança do outro tipo.
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 obter mais informações, consulte Criar VPC e vSwitch.
-
Duas instâncias Elastic Compute Service (ECS) foram criadas no VSW1, e aplicações foram implantadas no ECS01 e no ECS02.
Para obter mais informações sobre como criar uma instância ECS, consulte Criar uma instância usando o assistente.
-
Os comandos a seguir mostram como implantar aplicações no ECS01 e no ECS02:
Um nome de domínio foi registrado e um número de provedor de conteúdo de Internet (ICP) foi obtido para o nome de domínio. Para obter mais informações, consulte Registrar um nome de domínio na Alibaba Cloud e Visão geral.
A tabela a seguir descreve os endereços IP dos clientes e servidores. Os endereços IP servem apenas como referência.
Categoria | IP | Descrição |
ECS01 (servidor) |
| Os servidores back-end da instância ALB. |
ECS02 (servidor) |
| |
Client03 | Público: 121.XX.XX.12 | O cliente que acessa a instância ALB. |
Client04 | Público: 121.XX.XX.45 |
Procedimento
Etapa 1: Criar um grupo de servidores
Faça logon no console do ALB.
Na barra de navegação superior, selecione a região onde deseja criar um grupo de servidores. Neste exemplo, China (Hangzhou) está 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 a seguir descreve os parâmetros relevantes para este tópico. Utilize os valores padrão para os demais parâmetros. Para obter mais informações, consulte Criar e gerenciar grupos de servidores.
Parâmetro
Descrição
Server Group Type
Especifique o tipo de grupo de servidores. Neste exemplo, Server está selecionado.
Server Group Name
Insira um nome para o grupo de servidores.
VPC
Selecione a VPC onde deseja criar o grupo de servidores. Neste exemplo, VPC1 está selecionada.
Backend Server Protocol
Selecione um protocolo de back-end. Neste exemplo, HTTP está selecionado.
Scheduling Algorithm
Algoritmo de agendamento. Neste exemplo, Weighted Round-robin está selecionado.
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.
Especifique portas e pesos para os servidores back-end e clique em OK.
Etapa 2: Criar uma instância ALB e adicionar um listener
Faça logon 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. Outros parâmetros usam os valores padrão. Para obter mais informações, consulte Criar e gerenciar instâncias ALB.
Region: região onde deseja criar a instância ALB. Neste exemplo, China (Hangzhou) está selecionada.
Network Type: tipo de rede da instância ALB. Neste exemplo, Public está selecionado.
VPC: VPC onde deseja criar a instância ALB. Neste exemplo, VPC1 está 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, um listener HTTP que escuta na porta 80 é criado. A tabela a seguir descreve os parâmetros.
Parâmetro
Descrição
Listener Protocol
Selecione um protocolo de listener. Neste exemplo, HTTP está selecionado.
Listener Port
Insira uma porta de listener. Neste exemplo, 80 é especificado.
Server Group
Selecione um tipo de grupo de servidores na lista suspensa à esquerda e selecione um grupo de servidores na lista suspensa à direita. Neste exemplo, o grupo de servidores criado na Etapa 1 está selecionado.
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 criando 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 nome de domínio for registrado por um provedor diferente da Alibaba Cloud, adicione o nome de domínio ao console do Alibaba Cloud DNS antes de configurar a resolução de DNS. Para obter mais informações, consulte Gerenciar nomes de domínio. Se o nome de domínio estiver registrado na Alibaba Cloud, prossiga com as etapas a seguir.
Faça logon no console do Alibaba Cloud DNS.
Na página Public Zone, localize o nome de 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 seguintes parâmetros 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 usa @.
NotaPara usar um domínio raiz, defina o hostname como
@.Query Source
Selecione Default.
Record Value
Insira o nome DNS da instância ALB copiado.
TTL
O tempo de vida (TTL) é a duração durante a qual um registro DNS fica armazenado em cache em um servidor DNS. Use 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 são criados.
-
Usar o Grupo de Segurança 1 como lista de bloqueios
Adicione uma regra Deny que negue o acesso de endereços IP especificados. Neste exemplo, cria-se um grupo de segurança que nega acesso do endereço IP público 121.XX.XX.12. Mantenha as regras padrão do grupo de segurança.
Ação
Prioridade
Tipo de protocolo
Intervalo de portas
Objeto de autorização
Deny
1
All
Destino: -1/-1
Origem: 121.XX.XX.12
-
Usar o Grupo de Segurança 2 como lista de permissões
Adicione uma regra Allow que permita o acesso de endereços IP específicos e uma regra Deny que negue o acesso de endereços IP específicos. Neste exemplo, criam-se uma regra Allow que permite acesso do endereço IP público 121.XX.XX.12 e uma regra Deny.
Ação
Prioridade
Tipo de protocolo
Intervalo de portas
Objeto de autorização
Allow
1
All
Destino: -1/-1
Origem: 121.XX.XX.12
Deny
100
All
Destino: -1/-1
Origem: 0.0.0.0/0
Faça logon no console do ECS.
No painel de navegação à esquerda, escolha .
Na barra de navegação superior, selecione a região onde deseja criar um grupo de segurança. Neste exemplo, China (Hangzhou) está selecionada.
Na página Security Groups, clique em Create Security Group.
-
Na página Create Security Group, defina os parâmetros na seção Basic Information.
Especifique os seguintes parâmetros. Para obter mais informações sobre outros parâmetros, consulte Grupos de segurança.
Network: neste exemplo, VPC está selecionada.
Security Group Type: neste exemplo, Basic Security Group está selecionado.
-
Na página Create Security Group, defina os parâmetros na seção Rules.
Clique em Add Rule para adicionar regras com base nas configurações das regras 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 a um grupo de segurança
Use Client03 e Client04 para testar a disponibilidade do ECS01 e do ECS02.
Faça logon no Client03 e execute o comando
curl http://Custom domain name. O pacoteHello World! This is ECS01.é retornado. Isso indica que o Client03 consegue acessar a instância ALB.Faça logon no Client04 e execute o comando
curl http://Custom domain name. O pacoteHello World! This is ECS02.é retornado, o que indica que o Client04 consegue acessar a instância ALB.
Etapa 6: Adicionar a instância ALB aos grupos de segurança e verificar o resultado
Usar o Grupo de Segurança 1 como lista de bloqueios
Adicione a instância ALB ao Grupo de Segurança 1 criado na Etapa 4: Criar um grupo de segurança para testar se as regras do Grupo de Segurança 1 têm efeito na instância ALB.
Faça logon no console do ALB.
Na barra de navegação superior, selecione a região da instância ALB. Neste exemplo, China (Hangzhou) está selecionada.
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 na Etapa 4: Criar grupos de segurança e clique em OK.
-
No painel à esquerda, clique no ID do grupo de segurança que deseja gerenciar. Clique na aba Inbound ou Outbound para visualizar as regras do grupo de segurança.
A tabela a seguir descreve apenas a regra de grupo de segurança de entrada relevante para este tópico.
Ação
Prioridade
Tipo de protocolo
Intervalo de portas
Objeto de autorização
Deny
1
All
Destino: -1/-1
Origem: 121.XX.XX.12
-
Adicione a instância ALB ao grupo de segurança e teste o resultado.
-
Faça logon no Client03 e execute o comando
curl http://Custom domain name. Uma resposta é recebida, conforme mostrado abaixo, o que indica 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 Faça logon no Client04 e execute o comando
curl http://Custom domain name. O pacoteHello World! This is ECS01.é retornado. Isso indica que o Client04 consegue acessar a instância ALB.
-
Os resultados mostram que, após adicionar a instância ALB ao Grupo de Segurança 1, que funciona como lista de bloqueios, a regra Deny do Grupo de Segurança 1 nega o acesso do endereço IP especificado à instância ALB. Endereços IP não especificados na regra Deny conseguem acessar a instância ALB.
Usar o Grupo de Segurança 2 como lista de permissões
Adicione a instância ALB ao Grupo de Segurança 2 criado na Etapa 4: Criar grupos de segurança e teste se as regras do Grupo de Segurança 2 têm efeito na instância ALB.
Faça logon no console do ALB.
Na barra de navegação superior, selecione a região da instância ALB. Neste exemplo, China (Hangzhou) está selecionada.
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 na Etapa 4: Criar grupos de segurança e clique em OK.
-
No painel à esquerda, clique no ID do grupo de segurança que deseja gerenciar. Clique na aba Inbound ou Outbound para visualizar as regras do grupo de segurança.
A tabela a seguir descreve apenas os parâmetros relevantes para este tópico.
Ação
Prioridade
Tipo de protocolo
Intervalo de portas
Objeto de autorização
Yes
1
All
Destino: -1/-1
Origem: 121.XX.XX.12
Deny
100
All
Destino: -1/-1
Origem: All IPv4 Addresses (0.0.0.0/0)
-
Adicione a instância ALB ao grupo de segurança e teste o resultado.
Faça logon no Client03 e execute o comando
curl http://Custom domain name. O pacoteHello World! This is ECS01.é retornado. Isso indica que o Client03 consegue acessar a instância ALB.-
Faça logon no Client04 e execute o comando
curl http://Custom domain name. Uma resposta é recebida, conforme mostrado abaixo. Isso indica 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 resultados do teste mostram que, após adicionar a instância ALB ao Grupo de Segurança 2, que funciona como lista de permissões, apenas os endereços IP na regra Allow conseguem acessar a instância ALB.
Referências
Documentação do console
Para obter mais informações sobre como adicionar e remover instâncias ALB de grupos de segurança, consulte Adicionar uma instância ALB a um grupo de segurança.
Para obter mais informações sobre como implementar controle de acesso para ALB com base em listeners e portas, consulte Implementar controle de acesso no nível de porta com grupos de segurança.
Para diferenças entre grupos de segurança básicos e avançados, consulte Grupos de segurança básicos e avançados.
Referências
Console
Para associar ou desassociar um grupo de segurança de uma instância ALB, consulte Associar uma instância ALB a um grupo de segurança.
Para criar uma lista de permissões ou uma lista de bloqueios para uma instância ALB usando um grupo de segurança, consulte Configurar um grupo de segurança para uma instância ALB para implementar uma lista de permissões ou lista de bloqueios.
Para obter mais informações sobre grupos de segurança básicos e grupos de segurança empresariais, consulte Grupos de segurança básicos e grupos de segurança empresariais.
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.