O controle de acesso do CLB filtra requisições de clientes ao aplicar uma lista de permissões ou de bloqueios de IP a um listener.
Crie uma ACL
Uma ACL é um conjunto de entradas de IP. Associe uma ACL a um listener para aplicar a filtragem por lista de permissões ou de bloqueios.
Console
Acesse a página Access Control no console do CLB. Na barra de navegação superior, selecione a região onde a instância de destino está implantada e clique em Create ACL.
-
No painel Create ACL, insira um ACL Name, selecione uma IP Version (IPv4 ou IPv6), adicione as entradas de IP conforme necessário e clique em Create.
Instâncias IPv4 aceitam apenas ACLs IPv4; instâncias IPv6 aceitam apenas ACLs IPv6. A versão do IP deve corresponder à da sua instância CLB.
API
Chame a operação CreateAccessControlList para crie uma ACL.
Adicionar entradas de IP
Adicione entradas de IP a uma ACL existente.
Console
Acesse a página Access Control no console do CLB e clique no ID da ACL de destino para abrir sua página de detalhes. Adicione entradas de IP de uma das seguintes formas:
Adicionar uma única entrada: Clique em Add Entry. Na caixa de diálogo, insira um IP Address/CIDR Block e Remarks e clique em Add.
-
Adicionar entradas em lote: Clique em Add ACL Entries e insira as entradas no seguinte formato:
Insira uma entrada por linha. Pressione Enter para iniciar uma nova linha.
Separe o endereço IP ou bloco CIDR da descrição com uma barra vertical (|). Exemplo: 192.168.1.0/24|description.
É possível adicionar até 50 entradas por vez.
É possível exclua ou exportar entradas da lista.
API
Chame a operação AddAccessControlListEntry para adicionar uma entrada de IP.
Chame a operação RemoveAccessControlListEntry para exclua uma entrada de IP.
Ative ou desativar o controle de acesso
Associe uma ACL a um listener para ative o controle de acesso. Desative-o a qualquer momento quando não for mais necessário.
O controle de acesso não entra em vigor se a ACL associada estiver vazia. Nesse caso, o listener encaminha todas as requisições, independentemente do modo (lista de permissões ou de bloqueios). Antes de ative uma lista de permissões, verifique se a ACL contém os endereços IP permitidos para evitar interrupções no serviço.
Ao associar várias ACLs a um único listener, as entradas de IP em todas as ACLs não devem se sobrepor.
Console
Acesse a página Instances no console do CLB. Na barra de navegação superior, selecione a região onde a instância de destino está implantada e clique no ID da instância.
-
Clique na aba Listener. Localize o listener de destino e, na coluna ACL, clique em Enable ou Close.
Enable: Na caixa de diálogo exibida, selecione um Access Control Mode (Whitelist: Allows Specified IP Addresses to Access the SLB Instance ou Blacklist: Forbids Specified IP Addresses to Access the SLB Instance) e uma ACL e clique em Save.
Close: Na caixa de diálogo de confirmação, clique em OK.
Também é possível ative ou desativar o controle de acesso na seção Access Control da página de detalhes do listener.
O controle de acesso também pode ser ativado durante a criação de um listener.
API
Ao chamar uma operação de API para crie ou modifique um listener, como CreateLoadBalancerHTTPSListener ou SetLoadBalancerHTTPSListenerAttribute, configure o controle de acesso usando os seguintes parâmetros:
AclStatus: Especifica se o controle de acesso deve ser ativado. Valores válidos:
oneoff.AclType: Tipo de controle de acesso. Valores válidos:
white(lista de permissões) eblack(lista de bloqueios).AclId: ID da ACL associada.
Perguntas frequentes
Por que minha lista de permissões permite todos os IPs?
Causa: O controle de acesso está desativado no listener ou a ACL associada está vazia (uma ACL vazia permite todo o tráfego).
Solução: Acesse a aba Listener da sua instância CLB. Verifique se a coluna ACL do listener de destino exibe Enabled e confirme se a ACL associada contém entradas de IP.
Por que minha lista de bloqueios não bloqueia IPs?
Causa: Quando as requisições passam por um proxy (cdn ou WAF), o CLB identifica o IP de back-to-source do proxy em vez do IP real do cliente. Assim, as regras da lista de bloqueios não correspondem.
Solução: Configure a lista de bloqueios na camada de proxy (cdn ou WAF). Se os clientes puderem contornar o proxy, adicione uma lista de permissões no CLB que permita apenas os intervalos de IP de back-to-source do proxy.
Por que as regras allow/deny do Nginx são ineficazes com um listener de Camada 7?
Causa: Os listeners de Camada 7 do CLB encaminham tráfego de IPs privados no intervalo 100.64.0.0/10. Como as regras allow/deny do Nginx correspondem ao IP de origem, elas não conseguem filtrar pelo IP real do cliente.
Solução:
(Recomendado) Use o controle de acesso do CLB para configure uma lista de permissões ou de bloqueios diretamente na instância.
No Nginx, extraia o IP real do cliente do cabeçalho
X-Forwarded-Fore configure as regras allow/deny adequadamente. Consulte Obter o IP real do cliente em um servidor backend através de um listener de Camada 7 do CLB.
Por que os grupos de segurança do ecs não bloqueiam o tráfego do CLB?
Causa: O CLB usa o intervalo 100.64.0.0/10 para se comunicar com as instâncias ecs de backend. Por definição, as regras de entrada dos grupos de segurança do ecs não restringem o tráfego proveniente desse intervalo.
Solução: Configure uma ACL no CLB para bloquear requisições por IP do cliente antes que elas cheguem aos servidores de backend.
O que acontece quando uma requisição é bloqueada?
Descrição: O CLB descarta as requisições bloqueadas sem retornar resposta. O cliente enfrenta um tempo limite de conexão.
Listas de permissões protegem contra DDoS?
Descrição: Não. O tráfego DDoS consome a largura de banda da instância antes de chegar à camada de controle de acesso. Um ataque severo pode acionar o blackholing.
Recomendação: Use o Anti-DDoS.
Cenários de proxy multicamada
Quando um proxy de Camada 7 está posicionado à frente do CLB, o controle de acesso identifica apenas o IP de back-to-source do proxy upstream, e não o IP real do cliente. Configure o controle de acesso na camada correta. A tabela a seguir mostra o IP de source observado e a configuração recomendada em cada camada em uma integração de WAF baseada em CNAME (Cliente → cdn → WAF → CLB → ecs).
No modo de proxy transparente, o tráfego é roteado automaticamente pelo WAF para inspeção, sem um intervalo de IP de back-to-source separado. Nenhuma configuração adicional de controle de acesso no CLB é necessária.
|
Camada |
IP de source observado |
Recomendação |
|
WAF |
|
Recomendado: Configure o controle de acesso nesta camada. O WAF bloqueia pelo IP real do cliente e oferece suporte a bloqueio baseado em região. |
|
CLB |
IP de back-to-source do WAF. |
Adicione à lista de permissões do CLB apenas os intervalos de IP de back-to-source do WAF para impedir que invasores contornem o WAF. Visualize os intervalos de IP de back-to-source do WAF na página Website Access no console do WAF. |
|
ecs de backend |
IP privado do CLB (do bloco CIDR 100.64.0.0/10). |
Não bloqueie o intervalo 100.64.0.0/10 nos firewalls do host (iptables, firewalld). Bloquear esse intervalo interrompe as verificações de integridade e o encaminhamento de requisições. |
Faturamento
O controle de acesso não gera cobranças adicionais. Consulte a Visão geral do faturamento do CLB.
Cotas
Solicite aumentos de cota para os seguintes limites no Quota Center.
|
Limite |
Nome da cota |
Limite padrão |
Aumentar cota |
|
Número de ACLs que uma conta Alibaba Cloud pode crie |
slb_quota_acls_num |
200 |
|
|
Número de entradas que podem ser adicionadas a cada ACL |
slb_quota_acl_entries_num |
300 |
|
|
Número de listeners que podem ser associados a uma ACL |
slb_quota_acl_attached_num |
50 |
Os limites a seguir são fixos e não podem ser aumentados.
|
Limite |
Máximo |
|
Número de ACLs associáveis a um listener |
3 |
|
Total de entradas de IP em todas as ACLs associadas a um único listener |
1.000 |