Para proteger seu serviço contra solicitações maliciosas de IP ou ataques direcionados, configure uma lista de bloqueios ou de permissões de IP para filtrar solicitações por IP de origem nos pontos de presença (POPs). Esse recurso permite autorizar apenas endereços IP confiáveis (lista de permissões) ou bloquear endereços IP maliciosos conhecidos (lista de bloqueios), protegendo os recursos do servidor de origem e reduzindo riscos de segurança.
Casos de uso
Parâmetro | Casos de uso |
Lista de permissões de IP |
|
Lista de bloqueios de IP |
|
Faturamento
A configuração do recurso IP Blacklist or Whitelist é gratuita, mas as solicitações bloqueadas ainda geram cobranças.
Lógica de faturamento: O bloqueio ocorre durante a etapa de processamento da solicitação HTTP (Camada 7). Nesse momento, o POP da CDN já processou a solicitação e consumiu recursos.
-
Itens faturáveis:
Taxas de transferência de dados: Cada solicitação bloqueada gera transferência de dados tanto para a solicitação original (incluindo o cabeçalho HTTP) quanto para a página de resposta 403. Essa transferência de dados é cobrada à tarifa padrão da CDN.
Taxas de solicitação HTTPS: Para domínios que usam HTTPS, o handshake TLS é concluído antes da aplicação do bloqueio de IP. Portanto, cada solicitação bloqueada ainda conta como uma solicitação HTTPS faturável.
Observações
É possível configurar uma lista de bloqueios de IP ou uma lista de permissões de IP para um domínio, mas não ambas. Elas são mutuamente exclusivas.
Após a configuração de uma lista de bloqueios de IP, as solicitações provenientes dos IPs bloqueados ainda podem chegar aos POPs. Os POPs então rejeitam essas solicitações e retornam um código de status 403. Os logs ainda registrarão essas solicitações, mas esse é o comportamento esperado e confirma que a lista de bloqueios de IP está funcionando.
-
Alguns provedores de serviços de Internet (ISPs) em regiões específicas podem atribuir endereços IP privados aos usuários finais. Como resultado, os POPs podem receber o endereço IP privado de um usuário.
NotaOs endereços IP privados dividem-se em três faixas:
Endereço IP privado Classe A: 10.0.0.0 a 10.255.255.255, máscara de sub-rede: 10.0.0.0/8
Endereço IP privado Classe B: 172.16.0.0 a 172.31.255.255, máscara de sub-rede: 172.16.0.0/12
Endereço IP privado Classe C: 192.168.0.0 a 192.168.255.255, máscara de sub-rede: 192.168.0.0/16
Procedimento
Faça login no CDN console.
Na página Domain Names, localize o nome de domínio desejado e clique em Manage na coluna Actions.
No painel de navegação do domínio, clique em Access Control.
Na seção IP Blacklist or Whitelist, clique em Modify.
-
Os exemplos a seguir ajudam você a concluir rapidamente a configuração. Para definições específicas aos seus requisitos de negócios, consulte Parâmetros.
-
Cenário 1: Proteger um backend administrativo (Whitelist + Rules Engine)
Objetivo: Permitir que apenas solicitações dos IPs de saída do escritório
203.x.x.10e203.x.x.11acessem o caminho/admin/.-
Configuração:
Type: Selecione Whitelist.
Rules: Insira
203.x.x.10e203.x.x.11(um por linha).Advanced Settings-IP Rules: Selecione Determine based on the IP address that is used to connect to the POP.
-
Advanced Settings-Rule Condition: Na página Rules Engine, crie uma regra que corresponda a solicitações onde o URI contém
/admin/*(sem distinção entre maiúsculas e minúsculas). Em seguida, selecione essa regra para a condição da regra.
Resultado: Apenas solicitações desses dois endereços IP podem acessar o diretório
/admin/. Todas as outras solicitações para este diretório são rejeitadas com um código de status 403.
-
Cenário 2: Permitir acesso do segmento de rede IPv6 de um parceiro (Whitelist)
Objetivo: Permitir acesso apenas do segmento de rede IPv6 do parceiro
FC00:0AA3:0000:0000:0000:0000:0000:0000/48.-
Configuração:
Type: Selecione Whitelist.
Rules: Insira
FC00:0AA3:0000:0000:0000:0000:0000:0000/48.Advanced Settings-IP Rules: Selecione Determine based on the IP address that is used to connect to the POP.
Resultado: Apenas solicitações dessa faixa de endereços IPv6 podem acessar os recursos do seu domínio.
-
Cenário 3: Bloquear uma fonte de ataque em emergência (Blacklist)
Objetivo: Bloquear imediatamente um ataque CC originado do bloco CIDR
198.x.x.0/24.-
Configuração:
Type: Selecione Blacklist.
Rules: Insira
198.x.x.0/24.Advanced Settings-IP Rules: Selecione Determine based on the IP address that is used to connect to the POP.
Resultado: O POP da CDN rejeita todas as solicitações do bloco CIDR
198.x.x.0/24.
-
Parâmetros
Parâmetro | Descrição |
Type | Selecione Blacklist ou Whitelist.
|
Rules | Requisitos de formato
Limite de tamanho da regra O campo Rule suporta até 30 KB de caracteres. Esse limite permite aproximadamente 700 endereços/faixas IPv6 ou 2.000 endereços/faixas IPv4. Se precisar bloquear um número maior de endereços IP, ative o recurso Edge Security Accelerator (ESA), que oferece limites maiores de endereços IP e bloqueio baseado em região. Para obter mais informações, consulte CDN, DCDN e ESA: Comparação de recursos e Configuração de regra de acesso por IP. |
IP Rules | Selecione uma das seguintes regras:
|
Rule Condition | Uma condição de regra determina se uma configuração se aplica a uma solicitação avaliando vários parâmetros nela contidos. Importante Quando um recurso referencia condições de regra configuradas no mecanismo de regras, a ordem de execução segue a prioridade das condições de regra associadas, e não a ordem das configurações do recurso.
|
Exemplos de configuração
-
Cenário 1: Proteger o console administrativo (Whitelist e Rules Engine)
Objetivo: Permitir que apenas solicitações dos IPs de saída do escritório
203.x.x.10e203.x.x.11acessem o caminho/admin/.-
Configuração:
Type: Selecione Whitelist.
Rules: Insira
203.x.x.10e203.x.x.11, um por linha.Advanced Settings - IP Rules: Selecione Determine based on the IP address that is used to connect to the POP.
-
Advanced Settings-Rule Condition: Na página Rule Engine, configure uma regra. O conteúdo da regra deve ser URI contains /admin/*, case-insensitive. Em seguida, selecione essa regra para a Rule Condition.

Resultado: Apenas solicitações desses dois endereços IP podem acessar o diretório
/admin/. Todas as outras solicitações para este diretório serão negadas com um código de status 403.
-
Cenário 2: Permitir acesso do bloco CIDR IPv6 de um parceiro (Whitelist)
Objetivo: Permitir que apenas solicitações do bloco CIDR IPv6 do parceiro
FC00:0AA3:0000:0000:0000:0000:0000:0000/48acessem os recursos do seu domínio.-
Configuração:
Type: Selecione Whitelist.
Rules: Insira
FC00:0AA3:0000:0000:0000:0000:0000:0000/48.Advanced Settings - IP Rules: Selecione Determine based on the IP address that is used to connect to the POP.
Resultado: Apenas solicitações dessa faixa de endereços IPv6 podem acessar os recursos do seu domínio.
-
Cenário 3: Bloquear urgentemente uma fonte de ataque (Blacklist)
Objetivo: Bloquear imediatamente um ataque CC identificado originado do bloco CIDR
198.x.x.0/24.-
Configuração:
Type: Selecione Blacklist.
Rules: Insira
198.x.x.0/24.Advanced Settings - IP Rules: Selecione Determine based on the IP address that is used to connect to the POP.
Resultado: Os POPs da CDN rejeitarão todas as solicitações do bloco CIDR
198.x.x.0/24.
Verificação da configuração
Propagação: Após o envio, a configuração da lista de bloqueios/permissões de IP leva cerca de 5 a 10 minutos para propagar para todos os POPs da CDN no mundo todo.
Método de verificação: Os POPs da CDN retornam um código de status
403para solicitações bloqueadas por uma regra de lista de bloqueios/permissões de IP. Verifique se a regra está em vigor executando um teste de acesso ou verificando o monitoramento.
Como o Alibaba Cloud CDN identifica os IPs dos clientes
O Alibaba Cloud CDN usa dois métodos para identificar os IPs dos clientes, cada um com suas próprias vantagens e desvantagens:
-
IP da conexão TCP
Definição: O endereço IP usado para estabelecer a conexão TCP entre um cliente e um POP de borda.
Vantagem: Este endereço IP não pode ser falsificado, tornando-o a opção mais segura.
Desvantagem: Quando um cliente se conecta através de um servidor proxy, como uma saída de rede corporativa ou um dispositivo NAT, este IP pertence ao servidor proxy, e não ao cliente original.
-
Cabeçalho de solicitação
X-Forwarded-For(XFF)Definição: Um campo de cabeçalho de solicitação HTTP que registra o endereço IP de cada servidor proxy pelo qual uma solicitação passa. A CDN normalmente usa o endereço IP mais à esquerda neste cabeçalho como o IP do cliente.
Vantagem: Consegue identificar o IP original do cliente atrás de um servidor proxy.
Desvantagem: O cliente pode falsificar este cabeçalho de solicitação, representando um risco significativo de segurança. Um invasor pode forjar o cabeçalho XFF para contornar o controle de acesso baseado em IP.
Quando um cliente se conecta diretamente à CDN, esses dois IPs geralmente são os mesmos. No entanto, se um cliente se conectar através de um servidor proxy, os IPs serão diferentes. Por exemplo, se o IP original do cliente for 10.10.10.10 e o IP do servidor proxy for 192.168.0.1, então:
O valor do cabeçalho de solicitação
X-Forwarded-Forpode ser10.10.10.10, 192.168.0.1.O IP original do cliente é
10.10.10.10.O IP da conexão TCP é
192.168.0.1.
Para lidar com esses cenários, o Alibaba Cloud CDN fornece três modos de verificação de endereço IP para equilibrar segurança e flexibilidade de negócios.
|
Modo de verificação de IP |
Casos de uso |
Mecanismo |
Avaliação de segurança |
|
Usar o cabeçalho X-Forwarded-For como critério (padrão) |
Todos os clientes se conectam através de servidores proxy confiáveis que definem corretamente o cabeçalho XFF. |
Apenas o endereço IP mais à esquerda no cabeçalho de solicitação |
O cabeçalho |
|
Usar o IP da conexão TCP como critério |
Clientes se conectam diretamente à CDN sem um servidor proxy, ou você deseja controlar o acesso com base no IP do servidor proxy. |
Apenas o IP da conexão TCP é usado para correspondência. |
O IP da conexão TCP não pode ser falsificado, fornecendo a proteção mais confiável. |
|
Usar tanto o cabeçalho X-Forwarded-For quanto o IP da conexão TCP como critérios |
Para ambientes de rede mistos onde alguns clientes se conectam diretamente e outros se conectam através de um servidor proxy. |
Lista de bloqueios: Uma solicitação é bloqueada se uma regra corresponder ao IP no cabeçalho Lista de permissões: Uma solicitação é permitida se uma regra corresponder ao IP no cabeçalho |
Este modo equilibra a flexibilidade de identificar o IP original do cliente com a segurança do IP da conexão TCP, sendo a escolha recomendada para a maioria dos cenários. |
Perguntas frequentes
APIs relacionadas
Adicionar uma configuração de IP Blacklist or Whitelist
Chame a operação BatchSetCdnDomainConfig para configurar uma IP Blacklist or Whitelist. Para obter mais informações, consulte Configurar uma lista de permissões de IP e Configurar uma lista de bloqueios de IP.
Atualizar uma configuração de IP Blacklist or Whitelist
Chame a operação BatchSetCdnDomainConfig para atualizar uma IP Blacklist or Whitelist. Para obter mais informações, consulte Configurar uma lista de permissões de IP e Configurar uma lista de bloqueios de IP.
Esta operação atualiza apenas os parâmetros especificados. Por exemplo, se você especificar o parâmetro ip_list mas não o parâmetro ip_acl_xfwd em uma solicitação, o valor de ip_acl_xfwd permanecerá inalterado.
Esta operação pode atualizar apenas a lista de IPs, a regra de IP e a condição da regra. Não é possível alterar o tipo de configuração. Por exemplo, não é possível usar esta operação para alterar uma configuração de lista de bloqueios de IP para uma configuração de lista de permissões de IP.
Para alterar o tipo de configuração (por exemplo, de uma lista de bloqueios de IP para uma lista de permissões de IP), faça o seguinte:
Exclua a configuração existente da lista de bloqueios de IP.
Adicione uma nova configuração de lista de permissões de IP.
Excluir uma configuração de IP Blacklist or Whitelist
Etapa 1: Consultar o ConfigId
Chame a operação de consulta de configurações de domínio para recuperar o ConfigId. Se você já tiver o ConfigId, pule esta etapa e prossiga para a Etapa 2.
Etapa 2: Excluir a configuração
Chame a operação DeleteSpecificConfig e especifique o ConfigId.
Referência da API
Adicionar uma IP Blacklist or Whitelist
Chame a operação BatchSetCdnDomainConfig para configurar uma IP Blacklist or Whitelist. A tabela a seguir descreve os parâmetros da solicitação.
Parâmetro | Tipo | Obrigatório | Descrição | Exemplo |
DomainNames | String | Sim | O nome de domínio acelerado. |
|
functionName | String | Sim | O nome do recurso:
|
|
ip_list | String | Sim | A lista de IPs. Separe vários endereços IP com vírgulas (,). |
|
ip_acl_xfwd | String | Não | IP Rules:
|
|
Exemplo de solicitação
Adicionar uma lista de bloqueios de IP a example.com. O endereço IP a ser bloqueado é 192.168.0.1. As IP Rules devem ser Determine based on the XFF header and the IP address that is used to connect to the POP.
{
"Functions": [{
"functionArgs": [{
"argName": "ip_list",
"argValue": "192.168.0.1"
}, {
"argName": "ip_acl_xfwd",
"argValue": "all"
}],
"functionName": "ip_black_list_set"
}],
"DomainNames": "example.com"
}
Exemplo de resposta
{
"RequestId": "04F0F334-xxxx-xxxx-xxxx-6C044FE73368",
"DomainConfigList": {
"DomainConfigModel": [
{
"ConfigId": 1234567,
"DomainName": "example.com",
"FunctionName": "ip_black_list_set"
}
]
}
}
Atualizar uma IP Blacklist or Whitelist
Esta operação de API atualiza apenas os parâmetros especificados na solicitação. Por exemplo, se você especificar o parâmetro
ip_listmas nãoip_acl_xfwd, o valor deip_acl_xfwdnão será atualizado.-
Esta operação permite atualizar apenas a lista de IPs, a regra de IP e a condição da regra. Não é possível alterar o tipo de configuração. Por exemplo, não é possível usar esta operação para alterar uma lista de bloqueios para uma lista de permissões.
Se precisar alterar o tipo de configuração (por exemplo, de uma lista de bloqueios de IP para uma lista de permissões de IP), siga estas etapas:
Exclua a configuração existente da lista de bloqueios de IP.
Crie uma nova configuração de lista de permissões de IP.
Chame a operação BatchSetCdnDomainConfig para adicionar o endereço IP 192.168.0.2 à lista de bloqueios de IP.
Exemplo de solicitação
{
"Functions": [{
"functionArgs": [{
"argName": "ip_list",
"argValue": "192.168.0.1,192.168.0.2"
}],
"functionName": "ip_black_list_set"
}],
"DomainNames": "example.com"
}
Exemplo de resposta
{
"DomainConfigList": {
"DomainConfigModel": [
{
"FunctionName": "ip_black_list_set",
"DomainName": "example.com",
"ConfigId": 1234567
}
]
},
"RequestId": "F4A1F8C6-xxxx-xxxx-xxxx-3327736D1AEF"
}
Excluir uma IP Blacklist or Whitelist
Etapa 1: Recuperar o ConfigId
Chame a operação DescribeDomainConfigs para consultar o ConfigId da configuração. Se você já tiver o ConfigId, pule esta etapa e prossiga para a Etapa 2.
|
Parâmetro |
Tipo |
Obrigatório |
Descrição |
Exemplo |
|
DomainName |
string |
Sim |
O nome de domínio acelerado. |
|
|
FunctionNames |
string |
Não |
O nome da função. |
|
|
ConfigId |
long |
Não |
O ID da configuração. |
1234567 |
Exemplo de solicitação
Consultar o ConfigId da configuração ip_black_list_set (lista de bloqueios) em example.com.
{
"DomainNames": "example.com",
"Functions": "ip_black_list_set"
}
Exemplo de resposta
{
"RequestId": "B09D0C48-xxxx-xxxx-xxxx-F071DB8C4900",
"DomainConfigs": {
"DomainConfig": [
{
"Status": "success",
"FunctionName": "ip_black_list_set",
"FunctionArgs": {
"FunctionArg": [
{
"ArgValue": "192.168.0.1",
"ArgName": "ip_list"
},
{
"ArgValue": "all",
"ArgName": "ip_acl_xfwd"
}
]
},
"ConfigId": 1234567
}
]
}
}
Etapa 2: Excluir a configuração
Chame a operação DeleteSpecificConfig com o ConfigId para excluir a configuração.
|
Parâmetro |
Tipo |
Obrigatório |
Descrição |
Exemplo |
|
DomainName |
string |
Sim |
O nome de domínio acelerado. É possível excluir a configuração de apenas um nome de domínio por vez. |
|
|
ConfigId |
long |
Sim |
O ID da configuração. |
1234567 |
Exemplo de solicitação
Excluir a configuração da lista de bloqueios de IP com o ConfigId 1234567.
{
"DomainNames": "example.com",
"ConfigId": 1234567
}
Exemplo de resposta
{
"RequestId": "C9088777-xxxx-xxxx-xxxx-A1EE56616D6C"
}